ESP32 C3 Super Mini 코드 구조

ESP32 C3 Super Mini 코드 구조를 이해하는 것은 이 강력한 마이크로컨트롤러 보드를 프로그래밍하기 위한 기초입니다. 이 튜토리얼은 ESP32 C3 Super Mini 스케치의 필수 구조를 분석하여 설정 및 루프 함수가 함께 작동하여 기능적인 프로그램을 만드는 방법을 보여줍니다.

이 튜토리얼에서 배울 내용:

필요한 하드웨어

1×ESP32 C3 Super Mini 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

기본 코드 구조

ESP32 C3 Super Mini 코드 (ESP32 C3 Super Mini 스케치라고도 함)는 Arduino 코드와 동일한 구조를 가지며 설정 코드와 루프 코드의 두 가지 주요 부분을 포함합니다.

설정 코드

  • 설정 코드는 setup() 함수의 코드입니다
  • 설정 코드는 전원 공급 후 또는 리셋 후 바로 실행됩니다
  • 설정 코드는 한 번만 실행됩니다
  • 설정 코드는 변수, 핀 모드 초기화, 라이브러리 사용 시작 및 하드웨어 설정 구성에 사용됩니다
  • 설정을 일회성 준비 단계로 생각합니다

루프 코드

  • 루프 코드는 loop() 함수의 코드입니다
  • 루프 코드는 설정 코드 직후에 실행됩니다
  • 루프 코드는 반복적으로 (무한히) 실행됩니다
  • 루프 코드는 응용 프로그램의 주요 작업을 수행하는 데 사용됩니다
  • 여기서 ESP32 C3 Super Mini는 센서를 계속 읽고 출력을 제어하고 작업을 수행합니다

예제

이 간단한 예제는 기본 ESP32 C3 Super Mini 코드 구조를 보여줍니다:

void setup() { // 여기에 설정 코드를 넣으세요, 한 번만 실행됩니다: Serial.begin(115200); Serial.println("이것은 ESP32 C3 Super Mini 설정 코드입니다"); } void loop() { // 여기에 메인 코드를 넣으세요, 반복적으로 실행됩니다: Serial.println("이것은 ESP32 C3 Super Mini 루프 코드입니다"); delay(1000); }

빠른 단계

  • ESP32 C3 Mini를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정합니다.
  • 처음 설정: ESP32 C3 Super Mini를 처음 사용하는 경우 Arduino IDE에서 ESP32 C3 Super Mini 환경을 설정하는 방법을 참고하세요
  • 코드 복사: 위의 코드를 복사하여 Arduino IDE에 붙여넣습니다
  • 코드 업로드: Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 C3 Super Mini 보드에 코드를 컴파일하고 업로드합니다
  • Serial Monitor 열기: Arduino IDE에서 Serial Monitor 아이콘을 클릭합니다
아두이노 ide에서 serial monitor를 여는 방법
  • 출력 보기: Serial Monitor에서 결과를 확인합니다
  • Pro Tip: Serial Monitor 보드 레이트가 115200으로 설정되어 코드와 일치하는지 확인합니다
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
이것은 ESP32 C3 Super Mini 설정 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Serial Monitor에서 보시다시피 "이것은 ESP32 C3 Super Mini 설정 코드입니다"는 한 번만 인쇄되지만 "이것은 ESP32 C3 Super Mini 루프 코드입니다"는 여러 번 인쇄됩니다. 이는 ESP32 C3 Super Mini 설정 코드가 한 번 실행되고 ESP32 C3 Super Mini 루프 코드가 반복적으로 실행됨을 의미합니다. 설정 코드가 먼저 실행됩니다.

※ 주의:

setup()loop() 함수는 ESP32 C3 Super Mini 코드에서 반드시 사용되어야 합니다. 그렇지 않으면 오류가 발생합니다.

다른 부분

설정 및 루프 코드 외에도 ESP32 C3 Super Mini 스케치는 다음 부분 중 일부를 포함할 수 있습니다:

  • 블록 주석: 일반적으로 저자, 배선 지침, 라이센스 또는 프로젝트 설명에 대한 정보를 작성하는 데 사용됩니다 - ESP32 C3 Super Mini가 이 부분을 무시합니다
  • 라이브러리 포함: 추가 기능을 위해 외부 라이브러리를 스케치에 포함하는 데 사용됩니다
  • 상수 정의: 프로그램 실행 중에 변경되지 않는 상수 값을 정의하는 데 사용됩니다
  • 전역 변수 선언: setup() 및 loop() 함수 모두에서 액세스할 수 있는 변수

예를 들어:

/* * 이 ESP32 C3 Super Mini 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 C3 Super Mini 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32-c3/esp32-c3-super-mini-code-structure */ #include <ESP32Servo.h> #include <LiquidCrystal.h> #define MAX_COUNT 180 Servo servo; LiquidCrystal lcd(3, 4, 5, 6, 7, 8); int loop_count = 0; void setup() { Serial.begin(115200); lcd.begin(16, 2); servo.attach(9); Serial.println("이것은 ESP32 C3 Super Mini 설정 코드입니다"); } void loop() { loop_count++; Serial.print("이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: "); Serial.println(loop_count); lcd.print("Hello World!"); servo.write(loop_count); if(loop_count >= MAX_COUNT) loop_count = 0; delay(1000); }

빠른 단계

  • ESP32 C3 Mini를 처음 사용하시나요? 먼저 ESP32 C3 슈퍼 미니 - 시작하기 튜토리얼을 완료하여 개발 환경을 설정합니다.
  • 처음 설정: ESP32 C3 Super Mini를 처음 사용하는 경우 Arduino IDE에서 ESP32 C3 Super Mini 환경을 설정하는 방법을 참고하세요
  • 코드 복사: 위의 코드를 복사하여 Arduino IDE에 붙여넣습니다
  • 코드 업로드: Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 C3 Super Mini 보드에 코드를 컴파일하고 업로드합니다
  • Serial Monitor 열기: Arduino IDE에서 Serial Monitor 아이콘을 클릭합니다
아두이노 ide에서 serial monitor를 여는 방법
  • 출력 보기: 증분 개수를 표시하는 Serial Monitor에서 결과를 확인합니다
  • Pro Tip: 매초 개수가 증가하는 방식을 봅니다 - 이는 loop()가 반복적으로 실행되는 것을 보여줍니다
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
이것은 ESP32 C3 Super Mini 설정 코드입니다 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 1 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 2 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 3 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 4 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 5 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 6 이것은 ESP32 C3 Super Mini 루프 코드입니다, 개수: 7
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

지금은 코드를 라인별로 이해할 필요가 없습니다. 코드 구조를 알면 됩니다. 라인별 코드는 다음 튜토리얼에서 설명됩니다.

코드 실행 흐름 이해

ESP32 C3 Super Mini 프로그램의 실행 방식은 다음과 같습니다:

  • 전원 켜짐: ESP32 C3 Super Mini 보드가 전원을 받습니다
  • setup() 실행: setup() 내의 모든 코드가 한 번 실행됩니다
  • loop() 입력: 프로그램이 loop() 함수로 이동합니다
  • 반복 계속: 루프 코드는 전원이 꺼지거나 리셋될 때까지 계속 실행됩니다
  • 변수 지속: 전역 변수는 루프 반복 사이에 값을 유지합니다

응용 프로그램 아이디어

ESP32 C3 Super Mini 코드 구조를 이해하면 무수히 많은 프로젝트의 문이 열립니다:

  • 센서를 loop()에서 읽고 Serial을 setup()에서 초기화하는 온도 모니터링 시스템 구축
  • Loop()에서 delay()를 사용한 깜박이는 LED 패턴 생성 및 setup()에서 핀 구성
  • Loop()에서 센서 상태를 지속적으로 확인하는 동작 감지기 개발
  • Setup()에서 SD 카드를 초기화하고 loop()에서 판독값을 저장하는 데이터 로거 설계
  • Setup()에서 WiFi 설정 및 loop()에서 제어 논리를 포함한 홈 자동화 컨트롤러 구축
  • Setup()에서 모터를 구성하고 loop()에서 움직임을 처리하는 로봇 생성

자신을 시도해보기

이러한 과제로 ESP32 C3 Super Mini 프로그래밍 구조를 마스터해 봅시다:

  • 쉬움: 기본 예제의 지연 값을 수정하여 메시지를 더 빠르거나 느리게 인쇄합니다
  • 쉬움: loop()에 다른 Serial.println() 메시지를 추가하여 추가 텍스트를 표시합니다
  • 중간: 전역 변수를 사용하여 1에서 10으로 계산한 후 1로 리셋하는 카운터 생성
  • 중간: loop()에 조건을 추가하여 짝수 또는 홀수 개수를 기반으로 다양한 메시지를 인쇄합니다
  • 고급: 서로 다른 지연이 있는 여러 Serial 메시지를 결합하여 시간 시퀀스 생성
  • 고급: delay() 대신 millis()를 사용하는 프로그램을 구축하여 비차단 타이밍 구현

의견