ESP32 LoRa for dummys - ESP32 C3 SuperMini
Hasta el momento se ha trabajado con las siguientes placas de desarrollo ESP32:
- ESP 32 WROOM 32D incluida en el ESP32 Basic Starter Kit (Unos 4 € suelta en Aliexpress y unos 10€ incluida en el Basic Starter Kit )
- Lilygo TTGO LoRa32 V2.1_1.6 (Menos de 20€ en Aliexpress)
- 433 MHz(SX1278)
- 866 MHZ (SX1276)
- Lilygo ESp 32 Lora GPS NEO 6M (Unos 35€ en Aliexpress)
Ahora se va a usar
- ESP32 C3 SuperMini de TENSTAR ROBOT (Menos de 3€ en Aliexpress) para lo cual es muy cómodo el módulo de expansión (Expansion Board, también por menos de 3€, que permite alimentar la placa de desarrollo con una bateria de Litio -ion).
CARACTERISTICAS
Es una placa básica por lo que:
- Chip is ESP32-C3 (QFN32) (revision v0.4), Features: WiFi, BLE, Embedded Flash 4MB (XMC) Crystal is 40MHz
- Dispone de conexión USB (USB-C)
- No dispone de pantalla OLED o de otro tipo
- No dispone de LoRa
- No dispone de GPS/GNSS
BOTONES
MAPA DE PINOUT
Recuerde no comprar ninguna placa de desarrollo de la que no disponga del mapa de PINES, si no quiere pasarse un rato buscando y probando.
PRUEBAS
PINES
Lo primero que debemos hacer para trabajar de forma cómoda y segura es soldar las regletas de pines a la placa base. Para que queden perpendiculares lo mejor es insertar pines y placa en una placa de desarrollo. Los materiales que va a necesitar son:
- Soldador (es conveniente que se haga con un desoldador pues antes o después le hará falta)
- Pasta de soldar
- Estaño
- Placa de desarrollo
ENCENDIDO
Led rojo: encendido
BOARD LED
Este programa hace que parpadee el LED azul de la placa de desarrollo, y se prueba el correcto funcionamiento de las funciones básicas (puee que lo lleve cargado y por eso parpadea al encenderlo)
int led = 8;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led,HIGH);
delay(1000);
digitalWrite(led,LOW);
delay(1000);
}
CONSOLA SERIE
También puede comprobar la consola serie con
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("HELLO WORD!!!");
delay(1000);
}
Si no escribe en la salida compruebe que USB CDC on Boot: "Enabled" en Android IDE
PANTALLA OLED
ESP32 C3 Dev es la placa en Arduino IDE para la compilación y el código para añadir una pantalla OLED (ESP32 Basic Starter Kit for dummys: Proyecto - 12 ESP32_OLED_Display)
GND: GND
3V3: 3V3
SDA: GPIO8
SCL: GPIO9
NO HE CONSEGUIDO QUE VAYA
PROGRAMAS
TONOS
Se pude conectar un altavoz al GIO10 y a GND y reproduce el sonido
#include <pitches.h>
const int tonepin = 10; // GIO 10
void setup() {
}
void loop() {
Letra();
}
void Letra() {
// Letra S en Morse
// NOTE_C5 525Hz DO
//S
tone(tonepin,NOTE_C5);
delay(300);
noTone(tonepin);
delay(100);
tone(tonepin,NOTE_C5);
delay(300);
noTone(tonepin);
delay(100);
tone(tonepin,NOTE_C5);
delay(300);
noTone(tonepin);
delay(300);
}
SCAN WiFi
#include "WiFi.h"
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.println("Setup done");
}
void loop() {
Serial.println("Scan start");
// WiFi.scanNetworks will return the number of networks found.
int n = WiFi.scanNetworks();
Serial.println("Scan done");
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
Serial.println("Nr | SSID | RSSI | CH | Encryption");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
Serial.printf("%2d", i + 1);
Serial.print(" | ");
Serial.printf("%-32.32s", WiFi.SSID(i).c_str());
Serial.print(" | ");
Serial.printf("%4ld", WiFi.RSSI(i));
Serial.print(" | ");
Serial.printf("%2ld", WiFi.channel(i));
Serial.print(" | ");
switch (WiFi.encryptionType(i)) {
case WIFI_AUTH_OPEN: Serial.print("open"); break;
case WIFI_AUTH_WEP: Serial.print("WEP"); break;
case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break;
case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break;
case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break;
case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break;
case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break;
case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break;
case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break;
default: Serial.print("unknown");
}
Serial.println();
delay(10);
}
}
Serial.println("");
// Delete the scan result to free memory for code below.
WiFi.scanDelete();
// Wait a bit before scanning again.
delay(5000);
}
CONCLUSIONES
Si bien 2 € ni van , ni vienen un precio tan bajo debería haberme indicado que presenta problemas, en este caso con la gestión con los controladores.
Por lo demás puede trabajar sin problemas con la salida del monitor serie.
Referencias
Comentarios
Publicar un comentario