Ce prezinta articolul?
Probabil cu totii il folosim pe batranul Atmega328p (care se gaseste in placi de dezvoltare precum Arduino Uno, Nano sau Micro) in proiectele noastre, dar cand vine vorba de proiecte complexe, unde un procesor rapid este un „must have”, si unde mai este necesara o memorie RAM si ROM si o conectivitate Bluetooth sau WiFi, la un pret rezonabil, modulul de dezvoltare ESP32 este o alegere ideala.
Creat de Espressif Systems, acest modul de dezvoltare a inceput sa fie disponibil publicului larg la data de 6 Septembrie 2016.
Caracteristici generale
CPU: Tensilica Xtensa LX6 care ruleaza pana la 240 MHz
Memorie:
- ROM: 448 KiB;
- SRAM: 520 KiB;
- RTC Slow SRAM: 8 KiB;
- RTC Fast SRAM: 8 KiB;
- eFuse: 1 Kibit;
- Embedded Flash: 4 MiB;
- Tensiune logica: 3.3v;
- Tensiune alimentare: de la 2.3 la 3.6V;
- Numar nuclee: 1 sau 2;
Intrari / iesiri (I/O)
Interfata periferica bogata cu DMA care inclute atingere capacitiva, ADCs (analog-to-digital converter), DACs (digital-to-analog converter), I2C (Inter-Integrated Circuit), UART (universal asynchronous receiver/transmitter), CAN 2.0 (Controller Area Network), SPI (Serial Peripheral Interface), I2S (Integrated Inter-IC Sound), RMII (Reduced Media-Independent Interface), PWM (pulse width modulation) s.a.
Cum utilizam acest microcontroler cu Arduino IDE?
Dupa cum stim, Arduino IDE este cel mai cunoscut IDE in randul pasionatilor de electronica, iar din acest motiv putem conecta modulul ESP32 la Board Manager-ul pus la dispozitie in urmatorul tutorial:
- Descarcati fisierelele din urmatorul link: https://github.com/espressif/arduino-esp32
- Dezarhivati aceste fisiere si copiati-le catre urmatoarea cale:
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32
Nota: Daca nu exista folderele espressif sau esp32, creati-le;
- Deschideti folderul urmator si rulati fisierul „get.exe”:
C: / Users / [YOUR_USER_NAME] / Documents / Arduino / hardware / espressif / esp32 / tools
- Dupa ce fisierul „get.exe” a finalizat de rulat, conectati ESP32 la PC / laptop printr-un cablu microUSB si asteptati ca drivere-le sa se instaleze (sau instalati-le manual);
Daca ati parcurs acesti pasi corect, in Arduino IDE ar trebui sa aveti noua placa instalata in „Board Manager”.
Cum folosim Bluetooth-ul cu aceasta placa de dezvoltare?
In primul rand va recomandam sa descarcati urmatoarea aplicatie de Antroid pe smartphone de aici.
Codul exemplu pe care trebuie sa il folositi se gaseste in fisierele Arduino IDE, in urmatoarea locatie:
File > Examples > BluetoothSerial > SerialtoSerialBT
#include „BluetoothSerial.h” / Pentru utilizarea bluetooth-ului pe pe placa ESP32, se adauga acest cod;
BluetoothSerial SerialBT; // Numim SerialBT
Serial.begin(115200); // Setam bus-ul serial al placii la baud rate-ul de 115200
SerialBT.begin(„ESP32test”); //Setam numele device-ului Bluetooth ca ESP32test (se poate modifica dupa bunul plac)
if (Serial.available()) {
SerialBT.write(Serial.read());
}
Daca conexiunea serial cu PC-ul este disponibila, pe monitor, ne vor aparea datele care au fost scriese pe telefon (aplicatia de Android):
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
Cum folosim WiFi-ul integrat?
Capacitatea de a se putea conecta la o retea WiFi face ca aceasta placa sa poata fi folosita in multe proiecte de tip IoT.
In continuare va vom explica un cod simplu ce va face ca placa de dezvoltare sa se conecteze la un AP (Acces Point – Punct de acces WiFi):
#include „WiFi.h”
Adaugam libraria ce ne va ajuta sa ne conectam la AP (Acces Point):
const char *SSID = „Your SSID”;
const char *WiFiPassword = „Your Password”;
Definim datele de conectare (SSID-ul este numele statiei de WiFi la care dorim sa ne conectam):
#include “WiFi.h” // ESP32 WiFi include
#include “WiFiConfig.h” // My WiFi configuration
void ConnectToWiFi()
{
WiFi.mode(WIFI_STA);
WiFi.begin(SSID, WiFiPassword);
Serial.print(„Connecting to „); Serial.println(SSID);
uint8_t i = 0;
while (WiFi.status() != WL_CONNECTED)
{
Serial.print(‘.’);
delay(500);
if ((++i % 16) == 0)
{
Serial.println(F(” still trying to connect”));
}
}
Serial.print(F(„Connected. My IP address is: „));
Serial.println(WiFi.localIP());
}
Copiati aceasta functie in codul dvs. Ea va fi responsabila pentru conectarea catre AP (Access Point);
Pentru a ne putea conecta la AP va fi necesar doar sa folosim functia in „void setup”; aceasta ne va conecta automat la Acces Point.
void setup()
{
Serial.begin(9600);
ConnectToWiFi();
}
Bibliografie: