Telecomando per rotore di antenna

Il rotore dell'antenna descritto nell'ultimo articolo può essere controllato tramite WLAN. Se non si desidera utilizzare lo smartphone, è possibile farlo con il telecomando descritto in questo articolo.

Questo telecomando ha due pulsanti e un potenziatore. Un modulo NODEMCU LUA con ESP8266 che funziona come un client web invia ogni modifica delle chiavi a un server web. Inoltre, viene sempre inviato un valore compreso tra 1 e 10, a seconda della posizione del potenziatore.

Circuito:

Ogni volta che lo stato dei due pulsanti cambia, viene inviata una richiesta al server.

 

Bom:

Schizzo Arduino:

/**
 - BasicHTTPClient.ino
 *
 - Creato il: 24 maggio 2015
 *
 */

#include <Arduino.H>

#include <ESP8266WiFi.H>
#include <ESP8266WiFiMulti.H>

#include <ESP8266HTTPClient.H>


Variabili globali
Const Char *Ssid = "Antenna";
Const Char *Password = "womo12345";
Stringa Messaggio; Messaggio per la richiesta
Int Velocità; velocità attuale da 1 a 10
Int Btn; Valore del pulsante corrente
Int lastBtn = 0; Valore del pulsante per l'ultima azione

ESP8266WiFiMulti WiFiMulti;

questa funzione invia una richiesta al server web
Vuoto Sendrequest (richiesta)( Stringa Cmd, Int Spd) {   Seriale.println("Richiesta di avvio");
 Se((WiFiMulti.Correre() == WL_CONNECTED)) {      HTTPClient (client) http (informazioni in stato;    Oggetto Declare della classe HTTPClient        http (informazioni in stato.Iniziare("http://192.168.4.1/data");     URL per l'invio dei dati del modulo al server Web    http (informazioni in stato.addHeader (intestazione)("Tipo di contenuto", "testo/semplice");  Specificare l'intestazione del tipo di contenutoSpecify content-type header    Messaggio = "VELOCITÀ"+Stringa(Spd)+"&"+Cmd+"=1"; Argomenti per la richiesta HTTPArguments for the HTTP request       Seriale.println("Avvia post");      Int HttpCode (informazioni in questo base informazioni = http (informazioni in stato.Inserisci(Messaggio);   Inviare la richiesta    Stringa Payload = http (informazioni in stato.Getstring();   La risposta del foro può essere ignorata,      Seriale.println(HttpCode (informazioni in questo base informazioni);   Stampa codice restituito HTTP      http (informazioni in stato.Fine();  Interrompere la connessione
 
 }  Altro {   Seriale.println("problema di connessione");
 }    }

Vuoto Installazione() {     Seriale.Iniziare(115200);   Preparazione dei perni   PinMode (Modalità pin)(D6,INPUT_PULLUP); D6 è il pulsante per sinistra   PinMode (Modalità pin)(D7,INPUT_PULLUP); D7 è il pulsante per il diritto   attendere che ESP8266 sia pronto     Per(uint8_t T = 4; T > 0; T--) {         Seriale.Printf("[SETUP] WAIT %d., T);         Seriale.sciacquone();         Ritardo(1000);     }     Collegamento all'antenna WLAN     Wifi.Moda(WIFI_STA);     WiFiMulti.addAP (informazioni in stato di(Ssid,Password);


}

Ciclo principale
Vuoto Ciclo() {   leggere il valore del misuratore di A0   Il valore è compreso tra 0 e 1024   diviso per 100 risultati da 0 a 10   Velocità = analogicOLettura(A0)/100;   Seriale.println(Velocità);   Impostare il valore minimo su 1   Se (Velocità < 1) Velocità = 1;   Pulsante letto entrambi in una variabile   a sinistra 1;   a destra 2;   nessuno - 3;   entrambi i valori : 0;   Btn = digitalRead (Lettura digitale)(D6) + 2 * digitalRead (Lettura digitale)(D7);   Solo se il valore del pulsante è cambiato   Se (Btn != lastBtn) {     Ricordare il valore della chiave e inviare la richiesta corrispondente     lastBtn = Btn;     Interruttore(Btn) {       Caso 0: Seriale.println("STOP" (STOP));         Sendrequest (richiesta)("STOP" (STOP),Velocità);         Pausa;       Caso 1: Seriale.Stampare("SINISTRA");         Seriale.println(Velocità);         Sendrequest (richiesta)("SINISTRA",Velocità);         Pausa;       Caso 2: Seriale.Stampare("DIRITTO");         Seriale.println(Velocità);         Sendrequest (richiesta)("DIRITTO",Velocità);         Pausa;       Caso 3: Seriale.println("STOP" (STOP));         Sendrequest (richiesta)("STOP" (STOP),Velocità);         Pausa;     }   }   0.1 s attesa   Ritardo(100);
}
Projekte für fortgeschrittene

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Post di blog consigliati

  1. Installa ESP32 ora dal gestore del consiglio di amministrazione
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - Programmazione ESP tramite WLAN