- Stappen voor het configureren van de Blynk-app:
- Vereiste componenten:
- Circuit uitleg:
- Werkende uitleg:
- Programmering Toelichting:
Er zijn veel soorten robots, van eenvoudige zoals een speelgoedauto tot geavanceerde zoals industriële robots. We hebben al veel soorten robots behandeld die verschillende technologieën gebruiken, bekijk ze eens:
- Lijnvolgerrobot met 8051 Microcontroller
- Line Follower Robot met Arduino
- DTMF-gestuurde robot met Arduino
- Mobiele telefoon bestuurde robot met 8051 Microcontroller
- Computergestuurde robot met Arduino
- RF-gestuurde robot
- Edge ontwijkt robot met 8051
- Op versnellingsmeter gebaseerde handgebaren bestuurde robot met Arduino
- Bluetooth-gestuurde speelgoedauto met Arduino
En nu voegen we nog een robot toe in onze sectie 'Robotica-projecten', deze keer gaan we een wifi-gestuurde robot maken met behulp van de Arduino en Blynk-app. Deze op Arduino gebaseerde robot kan draadloos worden bediend met elke Android-smartphone met Wi-Fi.
Voor demonstratie van Wi-Fi-gestuurde robot hebben we een mobiele Android-app met de naam " Blynk " gebruikt. Blynk is een zeer compatibele app met Arduino, om een op IoT gebaseerd project te maken. Deze app kan worden gedownload via de Google Play Store en kan eenvoudig worden geconfigureerd.
Stappen voor het configureren van de Blynk-app:
1. Download het eerst van Google Play Store en installeer het op een Android mobiele telefoon.
2. Hierna is het nodig om een account aan te maken. U kunt uw huidige Gmail-account gebruiken.
3. Selecteer nu Arduino Board en geef een naam voor uw project.
4. Noteer de verificatie-tokencode of stuur deze eenvoudig naar uw e-mailaccount en kopieer en plak de Arduino-schets (programmacode).
5. Voer deze Auth Token Code in Arduino sketch in.
// U zou een Auth Token moeten krijgen in de Blynk-app. // Ga naar de projectinstellingen (moerpictogram). char auth = "caa17a11c0124d4083d0eaa995f45917";
6. Klik vervolgens op de knop Maken in de Blynk-app.
7. Selecteer nu de joystick-widget, klik op joystick, configureer de joystick (zie de video aan het einde) en druk op de terugknop.
8. Druk daarna op de afspeelknop rechts bovenaan het scherm.
Al dit proces van het gebruik van de Blynk-app is duidelijk uitgelegd in Video, die uiteindelijk wordt gegeven.
Vereiste componenten:
- Arduino UNO
- ESP8266 Wi-Fi-module
- USB-kabel
- Draden aansluiten
- L293D
- DC-motoren
- Batterijen
- 10K POT (optioneel)
- Robotchassis plus wiel
- Achtbaan
- Android mobiele telefoon
- Blynk-app
Circuit uitleg:
Het schakelschema van een Wi-Fi-gestuurde robot wordt hieronder gegeven. We hebben voornamelijk een Arduino en ESP8266 wifi-module nodig. De Vcc- en GND-pinnen van ESP8266 zijn rechtstreeks verbonden met 3.3V en GND van Arduino en CH_PD is ook verbonden met 3.3V. Tx- en Rx-pinnen van ESP8266 zijn rechtstreeks verbonden met pin 2 en 3 van Arduino. Software Serial Library wordt gebruikt om seriële communicatie op pin 2 en 3 van Arduino mogelijk te maken. We hebben de interface van de ESP8266 Wi-Fi-module met Arduino al in detail besproken.
Een L293D Motor Driver IC wordt gebruikt voor het aandrijven van DC-motoren. Input pinnen van motor driver IC is direct verbonden met pin 8, 9, 10 en 11 van Arduino. En gelijkstroommotoren zijn aangesloten op de uitgangspennen. Hier hebben we een 9 Volt batterij gebruikt voor het aandrijven van de Circuit- en DC-motoren.
Werkende uitleg:
De werking van de Wi-Fi-gestuurde robot is heel eenvoudig, we hoeven alleen maar de joystick te slepen of te schuiven in de richting waarin we de robot willen verplaatsen. Als we de robot in voorwaartse richting willen verplaatsen, moeten we de 'cirkel' van de joystick in voorwaartse richting slepen. Op dezelfde manier kunnen we de robot naar links, naar rechts en naar achteren bewegen door de joystick in de betreffende richting te slepen. Zodra we de joystick nu loslaten, keert deze terug naar het midden en stopt de robot.
Blynk-app verzendt waarden van Two Axis Joystick naar Arduino, via Wi-Fi-medium. Arduino ontvangt de waarden, vergelijk ze met vooraf gedefinieerde waarden en beweegt de robot dienovereenkomstig in die richting.
Programmering Toelichting:
Programma is bijna kant-en-klaar beschikbaar in Arduino IDE. We hoeven alleen de Blynk-bibliotheek voor Arduino te downloaden. En na het aanbrengen van enkele wijzigingen, kan de gebruiker zijn eigen Wi-Fi-gestuurde robot maken.
Eerst hebben we alle benodigde bibliotheken opgenomen om deze code in Arduino IDE uit te voeren, en vervolgens Auth Token ingevoerd vanuit de Blynk-app in de auth- string. Hier verbinden we de Wi-Fi-seriële pin met Software Serial of Arduino. Geselecteerd pin 2 als RX en 3 als TX.
#define BLYNK_PRINT Serial // Reageer hierop om afdrukken uit te schakelen en ruimte te besparen #include
Vervolgens hebben we uitgangspennen (8,9,10,11) voor motoren gedefinieerd en enkele richtingsfuncties geschreven om de robot in een bepaalde richting te bewegen: leegte vooruit (), leegte achteruit (), leegte rechts () en leegte links ()
Hierna initialiseren we in de instelfunctie alle vereiste apparaten, zoals richting geven aan motorpennen, beginnen met seriële communicatie en geven we een Wi-Fi-gebruikersnaam en -wachtwoord.
void setup () {// Set console baudrate Serial.begin (9600); vertraging (10); // Stel ESP8266 baudrate in // 9600 wordt aanbevolen voor Software Serial EspSerial.begin (9600); vertraging (10); Blynk.begin (auth, wifi, "gebruikersnaam", "wachtwoord"); // wifi gebruikersnaam en wachtwoord pinMode (m11, OUTPUT); pinMode (m12, OUTPUT); pinMode (m21, OUTPUT); pinMode (m22, OUTPUT); }
Nu hebben we enkele voorwaarden gecontroleerd voor het besturen van de robot. Hier hebben we virtuele pin 1 (V1) geselecteerd voor het nemen van input van de Blynk-app om de robot te besturen. Omdat we de marge-optie in de app hebben gebruikt, krijgen we x- en y-aswaarden op dezelfde pin.
BLYNK_WRITE (V1) {int x = param.asInt (); int y = param.asInt (); if (y> 220) vooruit (); anders als (y <35) achteruit (); anders if (x> 220) right (); anders if (x <35) left (); anders Stop (); }
Eindelijk moeten we de blynk-functie in een lus uitvoeren om het systeem te laten werken.
leegte lus () {Blynk.run (); }