#378IntermedioIoT

ESP32 Apritenda IoT (Servo SG90)

Tocca + o − sul telefono e il servo gira a quell'angolo nello stesso momento: apri e chiudi una tenda in miniatura, l'asta di una veneziana o un piccolo coperchio ovunque tu sia. Questo progetto è la guida passo passo del modello IoT Tenda con servo dell'app, con un ESP32 e un servo SG90, con soli 3 fili. Vai su Officina › Dispositivi › Aggiungi dispositivo; Ohmi prepara il codice con la tua chiave del dispositivo. Il codice qui è un esempio: chiave e dati Wi-Fi sono segnaposto.

0.0(0)
ESP32 Apritenda IoT (Servo SG90)
Se vuoi aprire la tenda senza alzarti dal letto o chiudere la veneziana mentre sei fuori, questo progetto fa per te. Il servomotore gira all'angolo che scegli sul telefono, e dopo un blackout la scheda torna all'ultimo angolo. Cominci con una tenda in miniatura o con l'asta di una veneziana e impari quanta forza ha il servo e dove sono i suoi limiti. Con soli tre fili è un buon primo passo per comandare un movimento dal telefono.
IoT · controllo a distanzaIl primo dispositivo è gratis

Controlla questo dispositivo dall'app

Collega il tuo ESP32 o Raspberry Pi Pico W al Wi-Fi, accendilo e spegnilo dal telefono e guarda le misure in diretta. Il codice lo prepara Ohmi; tu inserisci solo i dati del Wi-Fi e lo carichi.

Modello nell'app: Tenda con servo

  • Dove si trova nell'app?Aggiungi un nuovo dispositivo dalla scheda Strumenti o da Officina › Dispositivi e scegli questo modello.
  • Libreria ArduinoApri il Gestore librerie dell'Arduino IDE, cerca BlueGraysIoT e installala.
Scarica l'app gratis

Il piano gratuito include 1 dispositivo, 1 grafico e 24 ore di cronologia. Con Premium hai più dispositivi, più grafici e una cronologia più lunga.

Schema circuito

ESP32 Apritenda IoT (Servo SG90) - Circuit

Codice sorgente

C++ (Arduino IDE)
1// ─────────────────────────────────────────
2//   BlueGrays · bluegrays.com
3//   ESP32 Apritenda IoT (Servo SG90)
4// ─────────────────────────────────────────
5// Il modello IoT "Tenda con servo" dell'app BlueGrays: l'impostazione
6// Angolo della tenda nell'app (tasti + e −) gira il servo SG90 all'angolo
7// che vuoi tra 0 e 180 gradi, così apri e chiudi dal telefono una tenda in
8// miniatura, l'asta di una veneziana o un piccolo coperchio. Ohmi prepara
9// il codice vero nell'app con la tua chiave del dispositivo (Officina ›
10// Dispositivi › Aggiungi dispositivo); il codice qui è un esempio, chiave
11// del dispositivo e dati Wi-Fi sono segnaposto. Gestore librerie:
12// BlueGraysIoT (con le sue dipendenze) ed ESP32Servo. La scheda si collega
13// solo a reti Wi-Fi a 2,4 GHz. L'SG90 è un servo piccolo; una tenda vera
14// richiede un servo più forte con una sua alimentazione a 5 V, e tieni le
15// dita lontano dal braccio che gira.
16//
17// Pin:
18//   GPIO18 -> Segnale del servo (arancione)
19//   5V, GND -> Servo V+ (rosso), GND (marrone)
20//   Pico W: segnale del servo GP17
21
22/*
23 * Tenda con servo · BlueGrays IoT
24 * BlueGrays · bluegrays.com
25 * Non condividere questo codice: contiene la chiave del dispositivo e la password del Wi-Fi.
26 */
27
28#include <BlueGraysIoT.h>
29#include <ESP32Servo.h>  // Gestore librerie: 'ESP32Servo'
30
31const char *DEVICE_KEY = "LA_TUA_CHIAVE_DISPOSITIVO";
32const char *WIFI_NAME = "LA_TUA_RETE_WIFI";
33const char *WIFI_PASSWORD = "LA_TUA_PASSWORD_WIFI";
34
35BlueGraysIoT bg(DEVICE_KEY);
36
37const int SERVO_PIN = 18;
38Servo servo;
39
40void setup() {
41  Serial.begin(115200);
42  servo.attach(SERVO_PIN);
43  bg.onNumber("aci", [](float v) { servo.write((int)v); });
44  bg.setDebug(Serial);
45  bg.setLanguage(BG_LANG_EN);
46  bg.begin(WIFI_NAME, WIFI_PASSWORD);
47}
48
49void loop() {
50  bg.loop();  // evita qui delay() lunghi
51}
52

FAQ

Posso caricare direttamente sulla scheda il codice di questa pagina?

Puoi, ma non si collegherà: chiave del dispositivo e dati del Wi-Fi sono segnaposto. Nell'app vai su Officina › Dispositivi › Aggiungi dispositivo e scegli il modello Tenda con servo; Ohmi prepara il codice con la tua chiave, il nome della rete e la password. Copia quel codice e caricalo. Il codice completo lo ritrovi più tardi in Dispositivo › Codice e chiave.

Funziona anche con un Pico W?

Sì. Quando aggiungi il dispositivo scegli Pico W come scheda; il codice resta uguale, il pin del servo diventa GP17 e il codice usa la libreria Servo inclusa nel pacchetto pico al posto di ESP32Servo, quindi non devi installare altro. Collega il filo rosso del servo a VBUS (5 V). In Arduino IDE installa il pacchetto "pico" dal Gestore schede. Il circuito e la foto di questa pagina sono stati fatti con un ESP32.

Un SG90 riesce a tirare una tenda vera?

No. L'SG90 è un servo piccolo; può girare una tenda in miniatura, l'asta di una veneziana o un coperchio leggero. Una tenda vera richiede un servo robusto come l'MG996R o un motore con riduttore. Alimenta un servo robusto con un alimentatore a 5 V separato da almeno 2 A, non dal pin 5V della scheda, e collega il GND dell'alimentatore al GND della scheda. Tieni le dita lontano dal braccio che gira e non lasciare ostacoli rigidi sul suo percorso.

La password del Wi-Fi e la chiave del dispositivo sono al sicuro?

La password del Wi-Fi resta sul tuo telefono e non viene mai inviata al nostro server; viene aggiunta al codice sul telefono. La chiave del dispositivo viaggia solo nell'intestazione della connessione sicura e non compare mai nel Monitor seriale. Tutte e due però sono nel codice, quindi non condividere il codice copiato dall'app. Se qualcuno ha visto la tua chiave, prendine una nuova con Rinnova chiave e carica il nuovo codice.