Ecco un altro articolo sull’esp32, andremo ad introdurre il modulo base, può essere utilizzato senza specifica scheda sviluppatore, ma per programmarlo bisogna fare un po ‘di cablaggio e creare un adattatore (con la scheda di programmazione farete sicuramente prima ma vuoi mettere la soddisfazione).
Puoi trovare l'esp32-wroom-32 e l'esp32-s su ESP32 Dev Kit v1 - TTGO T-Display 1.14 ESP32 - NodeMCU V3 V2 ESP8266 Lolin32 - NodeMCU ESP-32S - WeMos Lolin32 - WeMos Lolin32 mini - ESP32-CAM programmer - ESP32-CAM bundle - ESP32-WROOM-32 - ESP32-S
Scheda di programmazione ESP32 Aliexpress adapter esp8266 esp32
Specifiche e piedinatura ad alta risoluzione
Specifiche e piedinatura ad alta risoluzione
Specifiche
- CPU e memoria
- Microprocessori Xtensa® Dual-Core LX6 a 32 bit, fino a 600 DMIPS
- ROM da 448 KByte
- SRAM da 520 KByte
- 16 KByte SRAM in RTC
- QSPI Flash / SRAM, fino a 4 x 16 MByte
- Alimentazione: da 2,2 V a 3,6 V.
- Orologi e timer
- Oscillatore interno da 8 MHz con calibrazione
- Oscillatore RC interno con calibrazione
- Oscillatore a cristallo esterno da 2 MHz a 40 MHz
- Oscillatore a cristallo esterno da 32 kHz per RTC con calibrazione
- Due gruppi di timer, inclusi 2 timer a 64 bit e 1 watchdog principale in ciascun gruppo
- Timer RTC con precisione inferiore al secondo
- Watchdog RTC
- Interfacce periferiche avanzate
- ADC SAR a 12 bit fino a 18 canali
- Convertitori D / A 2 × 8 bit
- 10 × sensori tattili
- Termometro
- 4 × SPI
- 2 × I2S
- 2 × I2C
- 3 × UART
- 1 host (SD / eMMC / SDIO)
- 1 slave (SDIO / SPI)
- Interfaccia MAC Ethernet con supporto DMA dedicato e IEEE 1588
- CAN 2.0
- IR (TX / RX)
- Motore PWM
- LED PWM fino a 16 canali
- Hall sensor
- Preamplificatore analogico a bassissima potenza
- Intervallo di temperatura di funzionamento: da -40 ° C a + 85 ° C
- Dimensioni: 18 mm x 25 mm x 3 mm
Adattatore stampato in 3D
Una buona e veloce soluzione è stampare un adattatore. Esistono molti adattatori, ma penso che questa sia una buona scelta.
Socket per esp32-wroom-32 ed esp32-s
Socket per esp32-wroom-32 ed esp32-s con base a V
Cablaggio
Ci sono alcuni collegamenti da fare per utilizzare correttamente la scheda, prima dobbiamo alimentare e Pull UP e Pull Down alcuni pin.
Avvio normale
Ecco la configurazione di avvio: si abilita il dispositivo (pull-up EN), si impedisce il RESET e si mette in pull-up il GPIO0 o FLASH pin per evitare che entri in programmazione.
- EN e GPIO0 devono essere messi in tensione a 3.3v utilizzando un resistore da 10K;
- quindi dobbiamo alimentare la scheda con 3,3 V e più di 600 mA di corrente stabile.
Entrare in modalità flash
Ora per mettere in modalità di avvio è necessario aggiungere 2 pulsanti, uno per resettare il dispositivo (mettere a terra EN) e uno per inviare il segnale LOW al GPIO0.
Quindi EN e GPIO0 in pull up e collegherai un pulsante che mette il pin a GND al click come lo schema.
Per accedere alla modalità di avvio è necessario:
- Tenere premuto il pulsante FLASH;
- Premere e rilasciare il pulsante RST;
- Rilasciare il pulsante FLASH.
Programmazione con FTDI (convertitore da USB a seriale)
Per programmare il dispositivo con questo sistema è possibile utilizzare un convertitore FTDI, ce ne sono di più tipi, uno che trasmette e riceve solamente e uno che fornisce anche una tensione di alimentazione selezionabile.
Puoi trovare FTDI adatti qui su USB to TTL CH340G - USB to TTL FT232RL
Ora devi condividere il pin di massa e mettere RX di FTDI su TX di esp e TX su RX.
Con l’adattatore stampato in 3d il cablaggio diventa:
Qui la foto del risultato su breadboard.
Aggiungo un led al pin 21 per controllare l’uscita del pin.
Mode | GPIO0 |
---|---|
UART | High |
Flash Boot | Low |
Configurare l’IDE
Nell’IDE di Arduino è necessario installare l’ambiente esp32, fare riferimento a “Esp32: piedinatura, specifiche e configurazione dell’Arduino IDE“, it is then necessary to set the correct information on the board, for an imposed esp32-wroom-32:
- Board: ESP32 Dev Module
- Flash Frequency: 40MHz
- Upload Speed: 921600 (115200 is more secure)
- CPU Frequency: 240 MHz
- Flash Size: 4MB
Caricare un semploce blink sketch
Ora devi solo:
- Tenere premuto il pulsante FLASH;
- Premere e rilasciare il pulsante RST;
- Rilasciare il pulsante FLASH;
- Inizia il caricamento di questo sketch;
/*
Blink
Mischainti Renzo www.mischianti.org
*/
//#include "soc/soc.h"
//#include "soc/rtc_cntl_reg.h"
#define LED_PIN 21 // I add the led to the GPIO21
// the setup function runs once when you press reset or power the board
void setup() {
// WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0); //disable brownout detector
Serial.begin(115200);
// initialize digital pin LED_PIN as an output.
pinMode(LED_PIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_PIN, HIGH); // turn the LED on (HIGH is the voltage level)
Serial.println("HIGH");
delay(1000); // wait for a second
digitalWrite(LED_PIN, LOW); // turn the LED off by making the voltage LOW
Serial.println("LOW");
delay(1000); // wait for a second
}
E qui il risultato del monitor seriale.
Connect to serial port COM16 at 115200
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
LOW
HIGH
PCB della scheda di programmazione esp32
Condivido il PCB da me utilizzato per programmare l’esp32 che adotta l’adattatore stampato in 3d, ecco il relativo articolo “esp32-wroom-32 esp32-s scheda di programmazione ed adattatore per breadboard“.
Grazie
- ESP32: piedinatura, specifiche e configurazione dell’Arduino IDE
- ESP32: fileSystem integrato SPIFFS
- ESP32: gestire più seriali e logging per il debug
- ESP32 risparmio energetico pratico
- ESP32 risparmio energetico pratico: gestire WiFi e CPU
- ESP32 risparmio energetico pratico: modem e light sleep
- ESP32 risparmio energetico pratico: deep sleep e ibernazione
- ESP32 risparmio energetico pratico: preservare dati al riavvio, sveglia a tempo e tramite tocco
- ESP32 risparmio energetico pratico: sveglia esterna e da ULP
- ESP32 risparmio energetico pratico: sveglia da UART e GPIO
- ESP32: filesystem integrato LittleFS
- ESP32: filesystem integrato FFat (Fat/exFAT)
- ESP32-wroom-32
- ESP32-CAM
- ESP32: ethernet w5500 con chiamate standard (HTTP) e SSL (HTTPS)
- ESP32: ethernet enc28j60 con chiamate standard (HTTP) e SSL (HTTPS)
- Come usare la scheda SD con l’esp32
- esp32 e esp8266: file system FAT su memoria SPI flash esterna
- Gestione aggiornamenti firmware e OTA
- Gestione del firmware
- Aggiornamento OTA con Arduino IDE
- Aggiornamento OTA con browser web
- Aggiornamenti automatici OTA da un server HTTP
- Aggiornamento del firmware non standard
- Integrare LAN8720 con ESP32 per la connettività Ethernet con plain (HTTP) e SSL (HTTPS)
- Collegare l’EByte E70 (CC1310) ai dispositivi ESP32 c3/s3 ed un semplice sketch di esempio
- ESP32-C3: piedinatura, specifiche e configurazione dell’IDE Arduino
- Integrazione del modulo W5500 su ESP32 con Core 3: supporto nativo ai protocolli Ethernet con SSL e altre funzionalità
- Integrazione del modulo LAN8720 su ESP32 con Core 3: supporto nativo del protocollo Ethernet con SSL e altre funzionalità.