FAQ — Intrebari frecvente
Probleme comune si raspunsuri directe
De ce nu merge ADC-ul cand am WiFi activ? ▼
ADC2 partajeaza resurse cu driverul WiFi. Cand WiFi este pornit, analogRead() pe pinii ADC2 (GPIO 0, 2, 4, 12-15, 25-27) va returna erori sau valori gresite. Solutie: foloseste exclusiv ADC1 (GPIO 32, 33, 34, 35, 36, 39) pentru orice citire analogica in aplicatii WiFi.
ESP32 nu se flash-uieste / nu intra in download mode ▼
Procedura corecta: 1. Tine apasat butonul BOOT (GPIO 0). 2. Apasa scurt butonul EN (reset). 3. Elibereaza EN. 4. Elibereaza BOOT. 5. Acum apasa Upload in Arduino IDE. Daca nu merge, verifica ca GPIO 2 nu este HIGH si ca nu ai componente externe pe GPIO 0 care trag pinul HIGH.
Care pini sunt siguri pentru uz general fara griji? ▼
Pinii recomandati fara efecte secundare la boot: GPIO 13, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33. Evita GPIO 0, 2, 5, 12, 15 daca nu esti sigur de starea lor la pornire.
Pot alimenta senzori direct din pinul 3V3? ▼
Da, cu limita. Regulatorul AMS1117-3.3 de pe DevKit poate livra pana la ~800mA total, din care ESP32 consuma ~80-250mA activ. Ramai cu maxim ~500mA pentru perifericele tale. Pentru senzori simpli (DHT22, BMP280, OLED) este perfect. Pentru motoare sau multe LED-uri, alimenteaza extern si foloseste doar GND comun.
Pot folosi I2C pe alti pini in afara de GPIO 21/22? ▼
Da. ESP32 are I2C remappable pe aproape orice GPIO. In Arduino IDE: Wire.begin(SDA_pin, SCL_pin). Exemplu: Wire.begin(4, 5). Poti rula chiar doua bus-uri I2C simultan pe pini diferiti cu Wire si Wire1.
Ce inseamna "GPIO input only" la 34, 35, 36, 39? ▼
Acesti 4 pini nu au tranzistori de iesire intern — pot doar citi, niciodata scrie. In plus, nu au rezistente pull-up sau pull-down interne, deci foloseste rezistente externe (10kΩ) daca ai nevoie de nivel definit. Avantaj: sunt cei mai curati pentru citire ADC precisa.
De ce apare garbage in Serial Monitor la pornire? ▼
Primele mesaje la pornire sunt la 74880 baud (bootloader Espressif) — sunt caractere ciudate in monitorul setat pe 115200. Dupa ce codul tau ruleaza, urmeaza la baud-ul setat de tine. Solutie: seteaza monitorul la 74880 daca vrei sa citesti mesajele de boot, sau ignora primele linii la 115200.
Cat de precis este ADC-ul ESP32? ▼
ADC-ul ESP32 este 12-bit teoretic (0–4095) dar in practica are neliniaritate semnificativa, mai ales intre 0–100mV si 3000–3300mV. Precizia reala este de circa 9–10 biti efectivi. Espressif ofera o functie de calibrare esp_adc_cal_get_voltage() care imbunatateste substantial rezultatele. Pentru precizie ridicata, foloseste un ADC extern (ADS1115 via I2C).
Pot conecta semnale de 5V direct pe GPIO-urile ESP32? ▼
NU. GPIO-urile ESP32 sunt tolerate la maxim 3.6V. Semnalele de 5V (Arduino, senzori vechi) vor deteriora chip-ul in timp sau imediat. Solutie: level shifter bidirecțional (ex: TXS0108E, BSS138) sau simplu divizor rezistiv (10kΩ + 20kΩ) pentru semnale unidirectionale.
Care este diferenta intre ESP32 si ESP8266? ▼
ESP32 are: 2 nuclee CPU vs 1 / 240MHz vs 160MHz / Bluetooth 4.2 BLE (inexistent pe ESP8266) / mai multi GPIO (34 vs 17 utili) / DAC real / touch sensors / mai multa RAM (520KB vs 96KB) / consum mai mare dar si performanta mai mare. ESP8266 este mai ieftin si mai simplu pentru proiecte WiFi-only de baza.