Télécommande pour rotor d'antenne

Le rotor d'antenne décrit dans le dernier poteau peut être contrôlé via WLAN. Wer dazu nicht sein Smartphone verwenden möchte kann dies auch mit der in diesem Beitrag beschriebenen Fernbedienung machen.

Cette télécommande a deux clés et un potentiomètre. Un module NodeMCU LUA avec ESP8266, fonctionnant comme client Web, envoie tout changement de clé à un serveur Web. De plus, une valeur comprise entre 1 et 10 est toujours envoyée, selon la position du potentiomètre.

Circuit:

Chaque fois que l'état des deux boutons change, une requête est envoyée au serveur.

 

Liste des pièces:

Arduino Sketch:

/**
 * BasicHTTPClient.ino
 *
 * Erstellt am: 24.05.2015
 *
 */

#inclure <Arduino.h>

#inclure <ESP8266WiFi.h>
#inclure <ESP8266WiFiMulti.h>

#inclure <ESP8266HTTPClient.h>


//Global Variablen
Konst Char *Ssid = "La saison rouge";
Konst Char *Passwort = "womo12345";
Cordon Nachricht; //Nachricht für Request
int Geschwindigkeit; //Actuelle Geschwindigkeit 1 bis 10
int btn; //aktueller Tasterwert
int lastBtn = 0; //Tasterwert für letzte Aktion

ESP8266WiFiMulti WiFiMulti;

//Cette fonction envoie une demande au serveur Web
leer sendRequest( Cordon cmd, int spd) {   Serien.println("Start Request");
 wenn((WiFiMulti.Laufen() == WL_CONNÉTÉ)) {      HTTPClient http://www.seo.com;    //Déclarer l'objet de la classe HTTPClient        http://www.seo.com.startnen("http://192.168.4.1/data");     //URL pour envoyer des données de formulaire au serveur web    http://www.seo.com.addHeader("Content-Type", "texte/plain");  //Spécifier l'en-tête de type contenu    Nachricht = "SPEED="+Cordon(spd)+"&"+cmd+"=1"; //Arguments pour la demande HTTP    Serien.println("Start Post");      int http://www.cd.ca = http://www.seo.com.POST(Nachricht);   //Envoyer la demande    Cordon Nutzlast = http://www.seo.com.getString();   //Hole Antwort kann aber ignoriert werden      Serien.println(http://www.cd.ca);   Code de retour HTTP //Impression      http://www.seo.com.Ende();  //Fin de connexion
 
 }  sonst {   Serien.println("problème de connexion");
 }    }

leer Configuration() {     Serien.startnen(115200);   //Pins vorbereiten   pinMode(D6,INPUT_PULLUP); //D6 est bouton pour gauche   pinMode(D7,INPUT_PULLUP); //D7 est la clé pour le droit   //warten bis ESP8266 bereit ist     für(uint8_t t = 4; t > 0; t--) {         Serien.Druckf("[SETUP] WAIT %d...\n", t);         Serien.Spülen();         Verzögerung(1000);     }     //connecter avec l'antenne WLAN     WiFi.Modus(WIFI_STA);     WiFiMulti.addAP(Ssid,Passwort);


}

//Hauptschleife
leer Schleife() {   Valeur du potentiomètre //lire de A0   //La valeur est comprise entre 0 et 1024   //divisé par 100 retours 0 à 10   Geschwindigkeit = analoglesen(A0)/100;   Serien.println(Geschwindigkeit);   //Minimalwert auf 1 setzen   wenn (Geschwindigkeit < 1) Geschwindigkeit = 1;   //Taster einlesen beide in eine Variable   //liaisons = 1;   //droit = 2;   //keiner = 3;   //both = 0;   btn = digitallesen(D6) + 2 * digitallesen(D7);   // Seulement si la valeur de la clé a changé   wenn (btn != lastBtn) {     // Mémoriser la valeur de la clé et envoyer la demande     lastBtn = btn;     Schalter(btn) {       Chute 0: Serien.println("STOP");         sendRequest("STOP",Geschwindigkeit);         Pause;       Chute 1: Serien.drucken("LINKS");         Serien.println(Geschwindigkeit);         sendRequest("LINKS",Geschwindigkeit);         Pause;       Chute 2: Serien.drucken("RIGHT");         Serien.println(Geschwindigkeit);         sendRequest("RIGHT",Geschwindigkeit);         Pause;       Chute 3: Serien.println("STOP");         sendRequest("STOP",Geschwindigkeit);         Pause;     }   }   //0.1 s warten   Verzögerung(100);
}
Projets pour avancé

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Messages de blogs recommandés

  1. Installez maintenant ESP32 via l'administrateur de la carte
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA-Over the Air-ESP Programmation par WiFi