Wi-Servo:Wi-Fi Browser gestuurde servomotoren
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Apps en online services
|
Over dit project
Dit project laat zien hoe sommige servomotoren op afstand kunnen worden aangestuurd in een wifi-netwerk, met behulp van een gewone internetbrowser (bijvoorbeeld Firefox). Dit kan in verschillende toepassingen worden gebruikt:speelgoed, robots, drones, camera's pannen/kantelen, enz.
De motoren waren bevestigd aan een Arduino Uno, die het wifi-netwerk verbindt via een ESP-8266-module. De besturingsinterface is ontworpen met HTML en jQuery.
Miguel's tutorial (http://allaboutee.com/2015/01/02/esp8266-arduino-led-control-from-webpage/), die laat zien hoe je LED's aan/uit kunt zetten met ESP-8266, diende als inspiratie hiervoor bericht.
De hier getoonde techniek wordt gebruikt in een van mijn projecten:"Robô da Alegria". U kunt hier meer over vinden via een van de volgende links:
https://hackaday.io/project/12873-rob-da-alegria-joy-robot
https://www.facebook.com/robodaalegria/
https://github.com/ferauche/RoboAlegria
Stap 1:Elektronica
Voor dit project heb je de volgende componenten nodig:
- Arduino Uno (kopen)
- ESP8266 (kopen)
- Protoshield (voor een compactere versie) of een gewoon breadboard (kopen)
- 10 kohm weerstand (x3)
- Enkele jumperdraden
- SG90 servomotor (x2) (kopen)
- Een computer (voor het compileren en uploaden van Arduino-code)
U heeft geen specifiek gereedschap nodig voor de montage van dit project. Alle componenten zijn online te vinden in uw favoriete e-commerce winkel. Het circuit wordt gevoed door de USB-poort (aangesloten op een computer of een gewone telefoonoplader), maar u kunt ook een externe gelijkstroomvoeding of een batterij toevoegen die is aangesloten op de Arduino-voedingsaansluiting.
Stap 2:Montage
Sluit alle componenten aan volgens het schema. U hebt enkele jumperdraden nodig om de ESP-8266-module en de servomotoren aan te sluiten. Je kunt een proto-shield gebruiken (voor een compacter circuit), een gewoon breadboard, of je eigen Arduino-shield ontwerpen.
Sluit de USB-kabel aan op het Arduino Uno-bord en ga verder met de volgende stap.
Stap 3:Arduino-code
Installeer de nieuwste Arduino IDE. In dit project werd servo.h bibliotheek gebruikt voor de aansturing van de servo's. Om conflicten tussen de Wi-Fi-module en de USB-poort van de computer te voorkomen tijdens het uploaden van de code, softserial
bibliotheek werd gebruikt. Er was geen extra bibliotheek nodig voor communicatie met de ESP-8266-module. Controleer de baudrate van uw ESP8266 en stel deze correct in de code in.
Sommige servomotoren beginnen te trillen en vreemde geluiden te maken wanneer de positie dicht bij de limieten (0 en 180 graden) is. Om dat te voorkomen, was de hoek beperkt tussen 10 en 170 graden, zowel in de Arduino-code als in de besturingsinterface (later).
Helaas, servo.h
bibliotheek en softserial.h
bibliotheek dezelfde timer van de microcontroller gebruiken. Dit kan jitter in de servo's veroorzaken wanneer de Arduino communiceert met de ESP-8266. Om dat te voorkomen worden de servo's na elk commando losgekoppeld van de Arduino. U kunt de module ook aansluiten op de standaard seriële pinnen. Vergeet in dit geval niet om de module voor elke upload los te koppelen.
Arduino-code downloaden (wi-servo.ino
) en vervang de XXXXX door de SSID van uw wifi-router en YYYYY door het routerwachtwoord. Sluit het Arduino-bord aan op de USB-poort van uw computer en upload de code.
Stap 4:Interface
Voor de aansturing van de servomotoren werd een HTML-interface ontworpen. In dit voorbeeld werden twee servo's gebruikt, maar er kunnen er meer worden toegevoegd aan de Arduino Uno (ik heb maximaal vier motoren getest).
Een tekstvakformulier wordt gebruikt om het IP-adres van de ESP-module in te voeren. Download Wi-servo.html
enjquery.js
bestanden en sla beide op in dezelfde map.
Stap 5:Gebruik
Wanneer de Arduino opnieuw wordt opgestart, zal deze automatisch proberen verbinding te maken met uw wifi-netwerk. Gebruik de seriële monitor om te controleren of de verbinding succesvol was en om te achterhalen welk IP-adres door uw router aan uw ESP-8266 is toegewezen.
Open het html-bestand in een internetbrowser (Firefox).
Geef het IP-adres van je ESP-8266 door in het tekstvak en je bent klaar om te gaan. Selecteer de gewenste hoek voor elke servo met behulp van de schuifregelaars. De browser stuurt automatisch een verzoek naar de Arduino wanneer u de muisknop loslaat en elke servo verplaatst.
Code
Github
https://github.com/ferauche/RoboAlegriahttps://github.com/ferauche/RoboAlegriaSchema's
Productieproces
- Raspberry Pi-robot bestuurd via Bluetooth
- WebServerBlink met Arduino Uno WiFi
- Met joystick bestuurde RC-auto
- Eenvoudige UNO-rekenmachine
- Nunchuk-gestuurde robotarm (met Arduino)
- Spraakgestuurde robot
- Persistentie van visie
- Arduino-gestuurde pianorobot:PiBot
- Touch Controlled Light met Arduino
- Arduino bestuurd USB-trackpad
- Temperatuurbewaking op smartphone