Atelier.

atelier · lecții

Lecția 06 25 min începător 3 întrebări quiz

Arduino IDE — cum scrii și încarci cod pe ESP32

Instalezi Arduino IDE, adaugi suport pentru ESP32 și urci primul cod — un LED care clipește. Tot ce-ți trebuie ca să scoți placa din cutie și s-o pui la treabă.

Ce înveți

  • Cum instalezi Arduino IDE 2.x și adaugi suport ESP32
  • Cum alegi placa și portul COM corect
  • Cum arată un program Arduino: setup() și loop()
  • Cum încarci cod pe ESP32 și vezi mesaje în Serial Monitor
  • Ce să faci când nu apare portul COM

Ce face Arduino IDE

Arduino IDE e programul în care scrii cod. Codul tău e scris în C++ (un limbaj uman), dar ESP32-ul nu înțelege C++ — înțelege doar instrucțiuni binare. Arduino IDE face două lucruri:

  1. Compilează — transformă C++-ul tău în cod binar pe care placa-l înțelege.
  2. Încarcă (upload) — împinge codul binar pe ESP32 prin cablul USB.

Practic, e ca un traducător care-ți duce mesajul până la placă.

1. Descarcă Arduino IDE

Arduino IDE 2.x Versiunea modernă — instalezi „next next finish". arduino.cc/en/software

De ce 2.x, nu 1.8?

Versiunea 1.8 e legacy. 2.x are interfață modernă, debugger integrat, auto-complete mai bun. Mai puțin frustrant când ai 12 ani și te luptă cu primul Arduino.

2. Adaugă suport ESP32

Arduino IDE știe din start doar plăci Arduino. ESP32-ul e făcut de altă firmă (Espressif), deci trebuie să-i spui IDE-ului unde să caute.

Pas cu pas:

  1. File → Preferences
  2. La Additional Boards Manager URLs lipești URL-ul de mai jos
  3. OK
  4. Tools → Board → Boards Manager
  5. Caută esp32
  6. Găsește esp32 by Espressif SystemsInstall
URL pentru Boards Manager Selectează și copiază tot URL-ul de mai jos: https://espressif.github.io/arduino-esp32/package_esp32_index.json

Răbdare la instalare

Pachetul esp32 durează 3-5 minute să descarce (~200MB). Lasă-l să termine — nu apăsa Cancel chiar dacă pare blocat.

3. Conectezi placa și alegi-o în IDE

  1. Bagi cablul USB-C între placa ESP32 și PC. (Cablul trebuie să fie de date, nu doar de încărcare — uite-te pe el să nu scrie „CHARGE ONLY”.)
  2. În Arduino IDE: Tools → Board → esp32 → ESP32 Dev Module
  3. Tools → Port → alegi portul nou:
SistemCum arată
WindowsCOM3, COM4, … COM10 (numărul variază)
Linux/dev/ttyUSB0 sau /dev/ttyUSB1
macOS/dev/cu.SLAB_USBtoUART

Nu știi care port e al tău? Scoate cablul, vezi care port DISPARE din listă — ăla-i al tău. Bagi cablul înapoi.

Selectare placă ESP32 în Arduino IDE

4. Driverul CP2102 (numai dacă nu apare portul)

Placa noastră folosește un cip CP2102 ca să vorbească cu PC-ul prin USB. Pe Windows 11 driverul se instalează automat când bagi cablul prima oară. Pe Linux e deja în kernel.

Doar dacă după ce bagi cablul nu apare niciun port nou în Tools → Port, descarcă driverul:

CP210x VCP driver (Silicon Labs) Alege versiunea Windows / macOS / Linux. Instalezi, dai restart, bagi cablul din nou. silabs.com → CP210x VCP driver

Acum scrii primul program. LED-ul intern al ESP32-ului e pe pin 2 la majoritatea plăcilor. Codul:

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH);
  delay(500);
  digitalWrite(2, LOW);
  delay(500);
}

Ce face fiecare bucată:

  • setup() — rulează o singură dată, la pornire. Aici spui că pin 2 e output.
  • loop() — rulează la nesfârșit, până scoți curentul.
  • digitalWrite(2, HIGH) — pune 3.3V pe pin (LED aprins).
  • delay(500) — așteaptă 500 milisecunde (jumătate de secundă).
  • digitalWrite(2, LOW) — pune 0V pe pin (LED stins).

6. Upload — trimiți codul pe placă

Apeși săgeata din bara de sus (sau Sketch → Upload). IDE-ul:

  1. Compilează codul (vezi mesaje în panoul de jos)
  2. Resetează placa
  3. Trimite codul binar prin USB
  4. Afișează Done uploading

LED-ul de pe placă începe să clipească la 1Hz (o aprindere pe secundă).

Știai că?

ESP32 nu „înțelege" codul tău C++ direct. Arduino IDE îl compilează (traduce) în cod mașină — un șir lung de 1 și 0 specific cipului ESP32. La upload, acest cod binar e scris în memoria flash a plăcii. Chiar dacă deconectezi USB-ul, codul rămâne acolo — placa „își amintește" ce să facă.

Dacă upload-ul eșuează cu „connecting......"

Apeși și ții apăsat butonul BOOT pe placă în timp ce dai Upload. După ce începe transferul (vezi procentaj crește), eliberezi BOOT. ESP32 are uneori nevoie să-l forțezi în mod „flashing".

Serial Monitor — pentru debugging

Când vrei să vezi ce face placa, folosești Serial Monitor. E ca un chat între tine și ESP32.

În cod adaugi:

void setup() {
  Serial.begin(115200);
  pinMode(2, OUTPUT);
}

void loop() {
  Serial.println("Aprind LED-ul");
  digitalWrite(2, HIGH);
  delay(500);
  Serial.println("Sting LED-ul");
  digitalWrite(2, LOW);
  delay(500);
}

Deschizi Tools → Serial Monitor, setezi baud rate 115200 (în dreapta jos) și vezi mesajele venind.

Atenție: dacă baud-ul nu corespunde (de ex. 9600 în loc de 115200), vezi caractere ciudate gen ⸮⸮⸮. Setezi 115200 și se rezolvă.

Provocări

  • Schimbă delay(500) în delay(100) — cât de repede clipește acum?
  • Pune două delay-uri diferite: aprins 100ms, stins 900ms. Pare mai natural?
  • Adaugă un al treilea Serial.println care numără de câte ori s-a aprins LED-ul.

Ce ai învățat

  • Arduino IDE compilează C++ și-l urcă pe placă.
  • ESP32 are nevoie de suport adăugat manual prin Boards Manager URL.
  • Driverul CP2102 e automat pe Windows 11, manual altundeva.
  • setup() rulează o dată, loop() la nesfârșit.
  • Serial Monitor la 115200 baud te ajută să vezi ce gândește placa.

Pas următor

Acum că poți urca cod, e timpul să înțelegi ce pini ai la dispoziție pe ESP32 — și care fac ce. Lecția următoare: pinii ESP32 →

După lecția asta, poți

  • Instalezi Arduino IDE + suport ESP32 + driver CP2102 fără să cauți tutorial
  • Recunoști portul COM nou apărut când conectezi ESP32 prin USB
  • Flashezi orice sketch pe ESP32 fără să te blochezi în 'Connecting...'
  • Schimbi între Boards diferite (ESP32 Dev Module, ESP32-C3 Dev Module) din 2 click-uri