Afstandsbediening voor antennerotor

in mijn vorige post, de antenne beschreven, de rotor kan via Wi-Fi kan gecontroleerd worden. Wie zou niet willen gebruiken hun Smartphone kunt dit ook doen met de in dit document beschreven van een afstandsbediening.

Deze afstandsbediening heeft twee knoppen en een Potentiometer. Als een Web-Client werken NodeMCU LUA module met ESP8266 zendt elke Wijziging van de toetsen op een Web Server. Daarnaast is steeds een waarde tussen de 1 en de 10 zal worden verzonden, afhankelijk van de Potentiometer positie.

Circuit:

Altijd wanneer facedwith de toestand van de twee knoppen veranderen is een Verzoek dat wordt verzonden naar de Server.

 

Onderdelen lijst:

Arduino Sketch:

/**
 * basic HttpClient.ino
 *
 * Gemaakt op: 24.05.2015
 *
 */

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>


//globale variabelen
const char *ssid = "antenne";
const char *wachtwoord = "womo12345";
String message; //bericht voor de Aanvraag
int speed; //huidige snelheid van 1 tot 10
int btn; //de stroom van de knop value
int lastBtn = 0; //Knop waarde voor de laatste actie

ESP8266WiFiMulti wifi multi;

//Deze functie verzendt een Aanvraag naar de webserver
void sendRequest( String cmd,, int spd) {   Seriële.println("Start Verzoek");
 als((wifi multi -.run() == WL_CONNECTED)) {      HTTPClient http;    //Declare object van de klasse HTTPClient        http.beginnen("http://192.168.4.1/data");     //URL naar formulier gegevens naar de webserver te sturen    http.addHeader("Content-Type", "text/plain");  //Specificeer de content-type header van    het bericht = "- SNELHEID="+String(spd)+"&"+cmd+"=1"; //argumenten voor de HTTP-Aanvraag    Serial.. println("Start Post");      int httpCode = http.POST(bericht);   //het Verzenden van de aanvraag    String lading = http.getString();   //antwoord krijgt, maar het kan worden genegeerd      Seriële.println(httpCode);   //Print de HTTP-return-code      http.einde();  //beëindigen de verbinding
 
 }  anders {   Serial.. println("Probleem");
 }    }

void setup() {     Seriële.beginnen(115200);   //Pinnen voor te bereiden   pinMode(D6,INPUT_PULLUP); //D6 is de knop voor links   pinMode(D7,INPUT_PULLUP); //D7 is een knop voor het juiste   //wacht tot de ESP8266 is klaar     voor(uint8_t t = 4; t > 0; t--) {         Seriële.printf("[SETUP] - WAIT %d\n",, t);         Seriële.flush();         vertraging(1000);     }     //met de Wi-Fi-antenne om verbinding te maken met     WiFi.- modus(WIFI_STA);     wifi multi.addAP(ssid,wachtwoord);


}

//main loop
void loop() {   //read Potentiometer waarde van A0   //waarde is tussen 0 en 1024   //gedeeld door 100 is 0 tot 10   snelheid = analogRead(A0)/100;   Seriële.println(snelheid);   //minimale waarde 1   als (snelheid < 1) snelheid = 1;   //Knop lezen in een Variabele   //links = 1;   //rechts = 2;   //geen = 3;   //beide = 0;   btn = digitale lezen(D6) + 2 * digitale lezen(D7);   //Alleen als de knop waarde veranderd   als (btn != lastBtn) {     //de waarde van de sleutel om te onthouden en overeenkomen met de Aanvraag verzenden     lastBtn = btn;     schakelaar(btn) {       geval 0: Seriële.println("STOP");         sendRequest("STOP",snelheid);         breken;       geval 1: Serieel.afdrukken("LINKS ");         Serial.. println(snelheid);         sendRequest("LINKS",snelheid);         breken;       geval 2: Serieel.afdrukken("RECHTS ");         Seriële.println(snelheid);         sendRequest("RECHTS",snelheid);         breken;       geval 3: Seriële.println("STOP");         sendRequest("STOP",speed);         break;     }   }   //0.1 s wachten   vertraging(100);
}
Projekte für fortgeschrittene

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi