Inhaltsverzeichnis:

CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung - Gunook
CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung - Gunook

Video: CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung - Gunook

Video: CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung - Gunook
Video: How to Make ANY servo rotate 360° - EASY and FAST 2024, Juli
Anonim
CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung
CRS-Motor (Continuous Rotation Servo) mit Telegrammsteuerung

In diesem anweisbaren werde ich Ihnen beibringen, wie man ein CRS per Telegramm steuert. Für dieses instructable benötigen Sie ein paar Dinge. Ich werde an einer NodeMCU 1.0 (ESP-12E-Modul) arbeiten. Dies kann auf anderen Arduino-Bords funktionieren, Sie müssen nur die richtigen Laufwerke dafür finden.

Das Folgende war die Setup-Umgebung für das ESP-12E-Modul:

  • Windows 10
  • Arduino IE 1.8.7 (Windows Store 1.8.15.0)

Eine Anleitung zur Installation der Treiber und Core-Dateien für das ESP-12E-Modul finden Sie hier:

Sobald Sie dies getan haben. Wir sind bereit zu gehen!

Schritt 1: Schritt 1: Komponenten

Schritt 1: Komponenten
Schritt 1: Komponenten

Für dieses Tutorial benötigen Sie einige Komponenten:

  • ESP12-E-Modul (ESP8266)
  • Kontinuierlicher Rotations-Servomotor (dies ist der, den ich verwendet habe)
  • Micro-USB-Kabel
  • Ein WLAN-Netzwerk
  • Telegramm-App
  • Ein Botfather Bot (keine Sorge, wir kommen hin)

Schritt 2: Schritt 2: Verbinden Sie den Servomotor

Schritt 2: Verbinden Sie den Servomotor
Schritt 2: Verbinden Sie den Servomotor

Befolgen Sie diese Schaltpläne, um den Servomotor zu verdrahten.

  • Schwarz: GND (Masse)
  • Rot: 3,3 V oder 5 V (Strom)
  • Gelb oder Weiß: Digitaler Ausgang (Signal)

Wenn Sie also den gleichen Servomotor verwenden, den ich verwendet habe, und ein Arduino-Board mit einer höheren Ausgangsspannung (5 V max) haben, können Sie das Stromkabel dort kleben. Es bedeutet nur, dass der Servomotor mehr Drehmoment erzeugt. 3.3V oder 5V sind in jedem Fall in Ordnung.

Schritt 3: Schritt 3: Ein wenig Verständnis

Bevor wir mit dem Testen des Codes beginnen und sehen, ob er funktioniert, müssen Sie etwas über diesen Servomotor wissen. Da es sich nicht um einen herkömmlichen Servomotor handelt, der sich in bestimmte Winkel dreht, ist der zu verwendende Code etwas anders.

Ich empfehle nicht, das Servo mit vollem Drehmoment zu verwenden, da es viel Wärme erzeugt und einen Großteil der Lebensdauer des Produkts verbrauchen kann. Versuchen Sie, in der Nähe von [60, 120] zu bleiben.

Leere Schleife {

myservo.write(90); // dies bedeutet keine Bewegung, der Servomotor steht still Verzögerung (1000); myservo.write(0); // dies bedeutet Bewegungsverzögerung bei voller Geschwindigkeit gegen den Uhrzeigersinn (1000); myservo.write(180); // dies bedeutet Verzögerung der Bewegung im Uhrzeigersinn mit voller Geschwindigkeit (1000); }

Schritt 4: Schritt 4: Fügen Sie Code hinzu, um den Servomotor zu testen

#enthalten

Servo-Myservo; Void setup () { myservo.attach (D5); // Befestigen Sie das Servo an Pin D5) aufrechtzuerhalten. Void Schleife () {myservo.write (85); // dreht den Motor gegen den Uhrzeigersinn mit langsamer Verzögerung (1000); myservo.write(120); Verzögerung (1000); myservo.write(90); Verzögerung (5000); }

Schritt 5: Schritt 5: Vorbereitung für die Kommunikation

Um mit Ihrem Arduino kommunizieren zu können, müssen Sie ein paar Dinge reparieren. Sie sind ziemlich einfach. Wir werden diese Aufgaben in zwei kleine Abschnitte unterteilen.

Der Bot

  1. Installieren Sie Telegram auf Ihrem Mobiltelefon.
  2. Erstellen Sie ein Konto bei Telegram.
  3. Suchen Sie nach dem Benutzer 'Botfather'.
  4. Erstellen Sie einen neuen Bot mit den angezeigten Befehlen (speichern Sie den Schlüssel, den er Ihnen gibt).

Die Arduino-Aufgaben

  1. Öffnen Sie Arduino IE.
  2. Gehen Sie zum 'Bibliotheksmanager'.
  3. Fügen Sie die Bibliothek 'Universal Telegrambot' hinzu.
  4. Fügen Sie die Bibliothek 'ArduinoJson' hinzu.

    • Füge die Beta nicht hinzu
    • Fügen Sie den neuesten 5.x-Build hinzu.

Schritt 6: Schritt 6: Testen der Kommunikation

Schritt 6: Testen der Kommunikation
Schritt 6: Testen der Kommunikation

Wir sind fast da.

  1. Öffnen Sie 'echobot' aus der Bibliothek universaltelegrambot > esp8266.
  2. Ändern Sie die WLAN-Anmeldeinformationen so, dass sie mit Ihrem Netzwerk an Ihrem Standort übereinstimmen.
  3. Ändern Sie das BOTtoken, das Ihnen der Botfather gegeben hat.
  4. Fügen Sie diese Codezeile in die for-Schleife ein, die sich in der `void loop();`. befindet

Serial.println (bot.messages.text);

Jetzt sind wir bereit zu testen.

Laden Sie diesen Code auf Ihr Arduino hoch. Überprüfen Sie im seriellen Monitor, ob NodeMCU eine Verbindung zu Ihrem WLAN-Netzwerk herstellt. Sobald Sie sehen, dass es verbunden ist, senden Sie eine Nachricht an Ihren Bot. Es sollte Ihnen genau dieselbe Nachricht zurücksenden.

Schritt 7: Schritt 7: Hinzufügen der Befehle

Es hat also funktioniert! Wir haben eine Verbindung zwischen den Geräten. Der nächste Schritt besteht darin, Dinge zusammenzufügen. Also werden wir dem bestehenden echobot-Code Befehle hinzufügen. Es könnte eine gute Idee sein, den nächsten Code anstelle des letzten Codes einzugeben, den ich Ihnen gegeben habe. So verhindern wir, dass wir einen Bot haben, der sich wie ein Papagei verhält.

Dieser nächste Codeabschnitt muss sich in der for-Schleife befinden, die neue Nachrichten durchläuft. Je nachdem, wie Sie den Servomotor platzieren, möchten Sie möglicherweise die Befehle 'Öffnen' und 'Schließen' vertauschen. Laden Sie dies auf Ihren esp8266 hoch und prüfen Sie, ob es funktioniert.

//der gewünschte Befehl

if(bot.messages.text == "Öffnen") {

// Die Antwort, die Ihr Bot Ihnen geben wird bot.sendMessage(bot.messages.chat_id, "Ich öffne die Vorhänge für Sie.");

// Was das Arduino-Board tun wird

myservo.write(80); // Servomotor dreht sich gegen den Uhrzeigersinn, um die Vorhänge zu öffnen

}

if(bot.messages.text == "Stop") { // Die Antwort, die Ihr Bot Ihnen geben wird bot.sendMessage(bot.messages.chat_id, "Stoppen der Vorhänge."); // Was das Arduino-Board tun wird myservo.write (90); // Servomotor hört auf zu drehen}

if(bot.messages.text == "Close") { // Die Antwort, die dein Bot dir geben wird bot.sendMessage(bot.messages.chat_id, "Ich schließe die Vorhänge für dich."); // Was das Arduino-Board tun wird myservo.write (80); // Servomotor dreht sich im Uhrzeigersinn, um die Vorhänge zu schließen}

Schritt 8: Schritt 8: Verbinden Sie das Gerät mit Ihren Vorhängen (nicht erforderlich)

Schritt 8: Verbinden Sie das Gerät mit Ihren Vorhängen (nicht erforderlich)
Schritt 8: Verbinden Sie das Gerät mit Ihren Vorhängen (nicht erforderlich)

Yeeeey, du bist fertig!

Die Anweisungen waren, wie Sie einen Telegrambot mit Ihrem Arduino verbinden, damit Sie ihn aus der Ferne steuern können. Aber ich habe diese spezielle Einrichtung gemacht, um meine Vorhänge in meinem Studio öffnen zu können, ohne sie physisch öffnen zu müssen. Wenn Sie also das Gleiche wie ich machen möchten, schließen Sie unser kleines Gerät als letztes an Ihre Vorhänge an und voila.

Empfohlen: