Robots spelen een belangrijke rol bij de automatisering in alle sectoren zoals de bouw, militaire, medische, productie, enz. Nadat een aantal fundamentele robots zoals lijn volger robot, computergestuurde robot, etc, we hebben deze ontwikkeld accelerometer gebaseerd gebaar robot bestuurd door arduino uno. In dit project hebben we handbeweging gebruikt om de robot aan te drijven. Voor dit doel hebben we een versnellingsmeter gebruikt die werkt op versnelling.
Vereiste componenten
- Arduino UNO
- DC-motoren
- Versnellingsmeter
- HT12D
- HT12E
- RF-paar
- Motorbesturing L293D
- 9 volt batterij
- Batterijconnector
- USB-kabel
- Robot Chasis
RF Pair:
Een robot met gebaren wordt bestuurd met de hand in plaats van een andere methode, zoals knoppen of joystick. Hier hoeft men alleen maar de hand te bewegen om de robot te besturen. In uw hand wordt een zendapparaat gebruikt dat een RF-zender en een versnellingsmeter bevat. Dit zal het commando naar de robot sturen zodat deze de vereiste taak kan uitvoeren, zoals vooruit, achteruit, links draaien, rechts afslaan en stoppen. Al deze taken worden uitgevoerd met handgebaar.
Hier is het belangrijkste onderdeel de versnellingsmeter. Accelerometer is een 3-assig acceleratiemeetapparaat met een bereik van + -3g. Dit apparaat is gemaakt met behulp van polysilicium oppervlaktesensor en signaalconditioneringsschakeling om versnelling te meten. De output van dit apparaat is analoog van aard en evenredig met de versnelling. Dit apparaat meet de statische versnelling van de zwaartekracht wanneer we het kantelen. En geeft resultaat in de vorm van beweging of trilling.
Volgens de datasheet van adxl335 polysilicium oppervlak-micromachinestructuur geplaatst bovenop siliciumwafel. Polysiliciumveren hangen de structuur over het oppervlak van de wafel en bieden weerstand tegen versnellingskrachten. De doorbuiging van de constructie wordt gemeten met behulp van een differentiële condensator die onafhankelijke vaste platen en platen bevat die aan de bewegende massa zijn bevestigd. De vaste platen worden aangedreven door 180 ° uit-fase blokgolven. Versnelling buigt de bewegende massa af en brengt de differentiële condensator uit balans, wat resulteert in een sensoruitgang waarvan de amplitude evenredig is met de versnelling. Fasegevoelige demodulatietechnieken worden vervolgens gebruikt om de grootte en richting van de versnelling te bepalen.
Pin Beschrijving van accelerometer
- Vcc 5 volt voeding moet op deze pin worden aangesloten.
- X-OUT Deze pin geeft een analoge uitgang in x-richting
- Y-OUT Deze pin geeft een analoge uitgang in y-richting
- Z-OUT Deze pin geeft een analoge uitgang in z-richting
- GND Aarde
- ST Deze pin wordt gebruikt om de gevoeligheid van de sensor in te stellen
Schakelschema en uitleg
Gesture Controlled Robot is verdeeld in twee secties:
- Zendergedeelte
- Ontvanger deel
In het zendergedeelte wordt een versnellingsmeter en een RF-zendereenheid gebruikt. Zoals we al hebben besproken, geeft die versnellingsmeter een analoge uitvoer, dus hier moeten we deze analoge gegevens naar digitaal converteren. Voor dit doel hebben we een 4-kanaals comparatorcircuit gebruikt in plaats van een ADC. Door een referentiespanning in te stellen, krijgen we een digitaal signaal en passen dit signaal vervolgens toe op de HT12E-encoder om gegevens te coderen of om te zetten in seriële vorm en vervolgens verzenden we deze gegevens met behulp van een RF-zender in de omgeving.
Aan de ontvangerzijde hebben we de RF-ontvanger gebruikt om gegevens te ontvangen en vervolgens toegepast op de HT12D-decoder. Dit decoder-IC converteert ontvangen seriële gegevens naar parallel en vervolgens gelezen met behulp van arduino. Volgens de ontvangen gegevens besturen we de robot door twee DC-motoren te gebruiken in de richting vooruit, achteruit, links, rechts en stop.
Werken
Gebaargestuurde robot beweegt volgens handbeweging terwijl we de zender in onze hand plaatsen. Wanneer we de hand naar voren kantelen, begint de robot vooruit te bewegen en blijft hij vooruitgaan totdat het volgende commando wordt gegeven.
Wanneer we de hand naar achteren kantelen, verandert de robot van toestand en begint hij achterwaarts te bewegen totdat een ander commando wordt gegeven.
Wanneer we het aan de linkerkant kantelen, draait de robot naar links tot het volgende commando.
Wanneer we de hand kantelen in de rechterkant, draait de robot naar rechts.
En voor het stoppen van de robot houden we de hand stabiel.
Schakelschema voor transmittersectie
Schakelschema voor ontvangergedeelte
Het circuit voor deze robot met handgebaren is vrij eenvoudig. Zoals getoond in bovenstaande schematische diagrammen, wordt een RF-paar gebruikt voor communicatie en verbonden met Arduino. De motordriver is verbonden met arduino om de robot te laten draaien. De ingangspen 2, 7, 10 en 15 van de motordriver zijn respectievelijk verbonden met de digitale pennen 6, 5, 4 en 3 van de Arduino. Hier hebben we twee gelijkstroommotoren gebruikt om de robot aan te drijven, waarbij één motor is aangesloten op de uitgangspen van motoraandrijving 3 en 6 en een andere motor is aangesloten op 11 en 14. Een 9 volt batterij wordt ook gebruikt om de motoraandrijving van stroom te voorzien voor het aandrijven van motoren..
Programma-uitleg
In het programma hebben we allereerst uitgangspennen voor motoren gedefinieerd.
En dan hebben we in de setup de aanwijzingen gegeven om te pinnen.
Hierna lezen we de invoer met behulp van 'if statement' en voeren we een relatieve bewerking uit.
Er zijn in totaal vijf voorwaarden voor deze gebarengestuurde robot, die hieronder worden weergegeven:
Beweging van de hand |
Input voor Arduino vanuit gebaar |
||||
Kant |
D3 |
D2 |
D1 |
D0 |
Richting |
Stal |
0 |
0 |
0 |
0 |
Hou op |
Kantel naar rechts |
0 |
0 |
0 |
1 |
Rechts afslaan |
Kantel naar links |
0 |
0 |
1 |
0 |
Sla linksaf |
Terugkantelen |
1 |
0 |
0 |
0 |
Achteruit |
Kantel voorkant |
0 |
1 |
0 |
0 |
Vooruit |
We hebben het volledige programma geschreven volgens de bovenstaande tabelcondities. Hieronder staat de volledige code.