Wi-Servo: Servomotoren Besturen via Wi-Fi met een Webbrowser
Onderdelen en benodigdheden
| Arduino UNO | 1 |
| Espressif ESP8266 ESP-01 | 1 |
| Arduino Proto Shield | 1 |
| SG90 Micro-servomotor | 2 |
| Jumper wires (generiek) | 1 set |
| Weerstand 10k ohm | 3 |
Apps en online diensten
- Arduino IDE
Over dit project
Dit project toont hoe je servomotoren op afstand kunt besturen via een Wi-Fi-netwerk met een gewone webbrowser (Firefox, Chrome, etc.). Toepassingen: speelgoed, robots, drones, camera pan/tilt, etc.
De servo's zijn aangesloten op een Arduino Uno, die via een ESP-8266 module verbindt met het Wi-Fi-netwerk. De besturingsinterface is gemaakt met HTML en jQuery. Geïnspireerd op Miguel's tutorial over ESP8266 LED-besturing via webpagina.
De techniek wordt gebruikt in het project "Robô da Alegria" (Vrolijk Robot). Meer info: Hackaday, Facebook, GitHub.
Stap 1: Electronica
Benodigd: Arduino Uno, ESP8266, Proto Shield of breadboard, 3x 10kΩ weerstand, jumper wires, 2x SG90 servo, computer. De voeding komt via USB (computer of telefoonlader), optioneel een externe DC-voeding of accu op de Arduino power jack.
Stap 2: Montage
Verbind alle componenten volgens het schema. Gebruik jumper wires voor ESP-8266 en servo's. Je kunt een proto-shield, breadboard of eigen shield ontwerpen. Sluit de USB-kabel aan op de Arduino.
Stap 3: Arduino Code
Installeer de laatste Arduino IDE. De Servo.h bibliotheek wordt gebruikt. Om conflicten tussen Wi-Fi module en USB tijdens upload te voorkomen, wordt SoftwareSerial gebruikt. Controleer de baudrate van je ESP8266 en pas deze in de code aan.
Servo's trillen bij hoeken dicht bij 0 en 180 graden. Daarom is het bereik beperkt tot 10-170 graden in zowel de Arduino-code als de webinterface.
Let op: Servo.h en SoftwareSerial.h gebruiken dezelfde timer, wat trillingen kan veroorzaken tijdens communicatie met de ESP-8266. Oplossing: servo's loskoppelen (detach()) na elk commando. Alternatief: gebruik de hardware seriële pinnen (dan module loskoppelen voor elke upload).
Download de code wi-servo.ino, vervang XXXXX door je Wi-Fi SSID en YYYYY door je wachtwoord. Upload naar de Arduino.
Stap 4: Interface
Een HTML-interface met jQuery voor besturing van de servo's. In dit voorbeeld twee servo's, maar meer is mogelijk (getest tot 4). Een tekstvak voor het IP-adres van de ESP-module. Download Wi-servo.html en jquery.js en plaats ze in dezelfde map.
Stap 5: Gebruik
Na herstart verbindt de Arduino automatisch met je Wi-Fi. Controleer via Serial Monitor of de verbinding gelukt is en welk IP-adres de router toegewezen heeft. Open het HTML-bestand in een browser, voer het IP-adres in, en bestuur de servo's met de schuifbalken. De browser stuurt automatisch een verzoek bij loslaten van de muisknop.
Code
GitHub repository: https://github.com/ferauche/RoboAlegria
Schema's
Zie het bijgevoegde schakelschema.
Productieproces
- Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
- Arduino Uno WiFi Webserver: LED aan/uit schakelen via browser
- Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
- Bouw een eenvoudige rekenmachine met Arduino UNO – Makkelijk project
- Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
- Bouw een Stemgecontroleerde Robot met Arduino Nano
- Een draagbaar Persistence-of-Vision-display bouwen met Arduino UNO en ATtiny85
- PiBot: De Arduino-aangedreven pianorobot voor precisiemuziek
- Capacitieve Touch LED Schakelaar met Arduino UNO – Eenvoudig DIY Project
- DIY Arduino USB Trackpad: Zet een Oude Laptop-Touchpad om in een Modern Invoerapparaat
- Slimme temperatuurbewaking met Arduino en Bluetooth op smartphone