Buon pomeriggio! 😊
Come posso aiutarti oggi?
Ho bisogno di uno sketch per l'IDE di Arduino con le seguenti caratteristiche
Certo! Scrivimi pure tutte le caratteristiche che deve avere lo sketch per l'IDE di Arduino, e te lo preparo subito.
• Scheda ESP32-DevKitC V4 USB-C con modulo ESP32-WROOM-32U
• Modulo schermo OLED da 0,96 pollici I2C 128x64
• Ricerca di tutte le reti wifi
Perfetto! Di seguito trovi uno sketch Arduino per ESP32-DevKitC V4 (con chip ESP32-WROOM-32U) che:
• utilizza uno schermo OLED I2C 128x64 da 0,96 pollici (con driver SSD1306),
• effettua la scansione di tutte le reti WiFi disponibili,
• mostra i nomi (SSID) delle reti trovate sul display OLED (massimo 6 per pagina, scroll automatico se ce ne sono di più).
________________________________________
✅ Librerie richieste (da installare tramite Library Manager)
1. Adafruit SSD1306
2. Adafruit GFX Library
3. WiFi.h (già inclusa con l'ESP32 board package)
___________________________________________________________________________
📜 Codice Sketch
#include <WiFi.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// Dimensioni display OLED
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
// Pin I2C (per la maggior parte delle ESP32 DevKitC: SDA=21, SCL=22)
#define OLED_RESET -1 // Reset non usato con I2C
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup() {
Serial.begin(115200);
// Inizializzazione del display
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Indirizzo I2C 0x3C
Serial.println(F("Errore: display OLED non trovato"));
while(true);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 0);
display.println("Scansione WiFi...");
display.display();
delay(1000);
// Avvia la scansione
WiFi.mode(WIFI_STA);
WiFi.disconnect(true);
delay(1000);
}
void loop() {
Serial.println("Avvio scansione WiFi...");
int n = WiFi.scanNetworks();
display.clearDisplay();
if (n == 0) {
display.setCursor(0, 0);
display.println("Nessuna rete trovata");
display.display();
} else {
Serial.printf("%d reti trovate:\n", n);
int page = 0;
int itemsPerPage = 6;
for (int i = 0; i < n; i++) {
if (i % itemsPerPage == 0) {
display.clearDisplay();
display.setCursor(0, 0);
}
String ssid = WiFi.SSID(i);
int rssi = WiFi.RSSI(i);
display.println(ssid.substring(0, 18)); // Taglia se troppo lungo
Serial.printf("%d: %s (%d dBm)\n", i + 1, ssid.c_str(), rssi);
if (i % itemsPerPage == itemsPerPage - 1 || i == n - 1) {
display.display();
delay(3000); // Mostra pagina per 3 secondi
}
}
}
delay(10000); // Attendi prima della prossima scansione
}
________________________________________________________________________
⚙️ Note hardware
• Verifica che il display OLED sia connesso ai pin SDA (GPIO21) e SCL (GPIO22).
• Se usi un indirizzo I2C diverso (alcuni moduli usano 0x3D), sostituisci 0x3C nella riga display.begin(...).
________________________________________________________________________
Se vuoi aggiungere altre funzionalità (es. indicatore della potenza del segnale o selezione manuale delle reti), fammi sapere!
SEI UN GRANDE!!!! GRAZIE
Grazie a te! 😄
Sei tu il grande: stai costruendo qualcosa di concreto e intelligente con l’ESP32! 💪🔧📡
Se ti servono:
* animazioni o icone sul display,
* collegamento a una rete selezionata,
* invio dati via WiFi o MQTT,
* salvataggio su file o SD,
* visualizzazione su più pagine scorrevoli,
…basta chiedere! Sono qui per darti una mano. Buona sperimentazione! 🚀
grazie ed a presto
A presto! 😊
Buon divertimento con il tuo progetto — quando vuoi, sono qui. Buona giornata e… viva l’ESP32! 🔌📲👨🔧
Considerazioni personali:
Prima di inserire lo sketch nell'IDE (con Copia ed Incolla) è necessario selezionare prima la scheda opportuna dell'ESP32
Se è selezionata una scheda diversa ( "Strumenti" -> "Scheda" ) es.: Arduino Nano
Durante la fase di Verifica dello sketch l'IDE da errore alla seguente riga : WiFi.mode(WIFI_STA);
Perciò:
Per programmare la scheda ESP32-DevKitC (con chip ESP32-WROOM-32U) è necessario selezionare "ESP32 Dev Module" come scheda.
Dopo aver installato i componenti aggiuntivi per ESP32, si può scegliere questa opzione dal menu:
"Strumenti" -> "Scheda" -> "ESP32 Arduino" -> "ESP32 Dev Module".
Passaggi dettagliati:
1. 1. Installa il supporto ESP32 nell'IDE di Arduino:
• Se non hai già installato il supporto per le schede ESP32, dovrai aggiungerlo.
• Vai su "File" -> "Preferenze" e aggiungi questo URL nel campo "URL aggiuntivi per il gestore schede": https://dl.espressif.com/dl/package_esp32_index.json.
• Quindi, vai su "Strumenti" -> "Scheda" -> "Gestore Schede" e cerca "esp32". Installa il pacchetto "esp32 by Espressif Systems".
2. 2. Seleziona la scheda corretta:
• Collega la tua scheda ESP32 al computer tramite USB.
• Vai su "Strumenti" -> "Scheda" e seleziona "ESP32 Arduino". Successivamente, scegli "ESP32 Dev Module".
3. 3. Seleziona la porta corretta:
• Vai su "Strumenti" -> "Porta" e seleziona la porta COM corretta a cui è collegata la tua scheda ESP32.
4. 4. Inizia a programmare:
• Ora puoi iniziare a scrivere il tuo codice Arduino per la tua scheda ESP32.
Con questi passaggi, sarai in grado di programmare la tua scheda ESP32-DevKitC con l'IDE di Arduino.
PERFETTAMENTE FUNZIONANTE IN DATA 17 LUGLIO 2025