Inhoudsopgave:

DIY Multi Featured Robot met Arduino - Ajarnpa
DIY Multi Featured Robot met Arduino - Ajarnpa

Video: DIY Multi Featured Robot met Arduino - Ajarnpa

Video: DIY Multi Featured Robot met Arduino - Ajarnpa
Video: DIY MULTI FEATURED ROBOT ( demo video) 2024, Juli-
Anonim
DIY Multi Featured Robot Met Arduino
DIY Multi Featured Robot Met Arduino
DIY Multi Featured Robot Met Arduino
DIY Multi Featured Robot Met Arduino
DIY Multi Featured Robot Met Arduino
DIY Multi Featured Robot Met Arduino

Deze robot is voornamelijk gebouwd om Arduino te begrijpen en om verschillende Arduino-projecten te combineren om een Arduino-robot met meerdere functies te vormen. En verder, wie wil er geen huisdierenrobot hebben? Dus noemde ik het BLUE ROVIER 316. Ik had een prachtig chassis met rupsbanden kunnen kopen, maar door het helemaal opnieuw te maken, leer je meer en ben je trotser nadat je het hebt voltooid. De robot kan spraakopdrachten begrijpen, eenvoudige vragen beantwoorden, een RC-auto en zelfs het vermijden van obstakels tijdens het rijden. Het wordt voornamelijk bestuurd via een Android-telefoon die ermee is verbonden via Bluetooth. Gebaseerd op Android-functies zoals Google Voice Recognition en Tilt sensing, kan het zich echt gedragen als een schattige, slimme robot. Ik heb BLAUW in zijn naam toegevoegd omdat het voornamelijk op Bluetooth is gebaseerd. Het was eigenlijk mijn eerste Arduino-project en ik wilde dat het uniek zou zijn. Als je het project leuk vindt, stem dan alsjeblieft op mij in de Robotics Contest!

Stap 1: Demonstratievideo

Image
Image
Verhaal van ROVIER
Verhaal van ROVIER

Je kunt de demo van de robot bekijken op deze site:https://www.youtube.com/embed/zMFpO4hYkNk

Stap 2: Verhaal van ROVIER

Verhaal van ROVIER
Verhaal van ROVIER

Je kunt naar de volgende stap springen als je niet door het schattige kleine verhaal van BLUE ROVIER 316 wilt gaan. Ongeveer een jaar geleden kreeg ik een Arduino UNO cadeau van mijn vader. Omdat het mijn eerste stap op het gebied van Arduino was, wilde ik iets anders en unieks maken van de algemene Arduino-projecten. Het moest een schattige en slimme robot zijn die spraakopdrachten kan begrijpen en nog veel meer intelligente dingen kan doen, zoals afstandsbediening, lijnen volgen, obstakels vermijden enzovoort. De vraag was hoe deze te combineren. En na een hele leuke tijd op het internet te hebben gesurft, kwam ik tot de conclusie dat Bluetooth de goedkoopste modus zou zijn. En zo kwam BLUE ROVIER in beweging. Maar er ontstond een situatie waarin ik veel functies van de robot moest uitsluiten waarvan ik had verwacht dat hij deze zou hebben, voornamelijk vanwege het gebrek aan geheugen op de Arduino UNO (zelfs het minder aantal van de digitale pinnen op de UNO). Maakt niet uit, ik ging door. Het kostte me echt veel tijd om de definitieve versie van de Robot te maken. En zo is na vele pogingen en mislukkingen eindelijk BLUE ROVIER ontstaan. En zo kunnen we nu verder met het maken van de robot.

Stap 3: Componenten en onderdelen

Componenten en onderdelen
Componenten en onderdelen
Componenten en onderdelen
Componenten en onderdelen
Componenten en onderdelen
Componenten en onderdelen

U hebt alleen de volgende componenten nodig: 1. Android-systeem 2. Arduino Uno 3. wtv020-sd-16p-module en 8ohm-luidspreker4. 2x L293d motorcontroller circuit 5. 4x bo motoren en wielen6. HC SR04 ultrasone sensor 7. 9g servo8. 8 AA-batterijhouder en batterijen 9. 1 gb micro SD-kaart 10. kleine schakelkast voor chassis.11. HC 05 Bluetooth-moduleIk weet dat het er duur uitziet! Maar maak je geen zorgen, het kost maar zo'n twee- of drieduizend roepies. Over Android gesproken, het zal geen groot probleem zijn om er een te hebben, omdat de meesten het tegenwoordig hebben. Maar het hebben van nieuwere versies (hoger dan 5.0) kan de prestaties verbeteren. Probeer motoren te kopen met een matig toerental (60 tot 100). Dit zou helpen om de snelheid van de robot onder controle te houden, omdat er geen ander snelheidsregelcircuit is geïnstalleerd. En 8 AA-batterijen zijn voldoende om de robot voor een goede tijd van stroom te voorzien. En gezien de Bluetooth, is HC 05 geschikt voor de robot omdat het goedkoop genoeg is, en de prestaties zijn ook uitstekend. De micro SD-kaart van 1 GB is nodig om spraakbestanden op te slaan die worden afgespeeld wanneer er een vraag aan de robot wordt gesteld [in detail besproken in het laatste deel van de instructie]. De andere componenten worden in detail besproken in hun respectievelijke stap.

Laten we nu verder gaan met enkele eenvoudige "theorieën" die in deze robot worden gebruikt.

Stap 4: Stembesturingstheorie

Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie
Stembesturingstheorie

De robot kan spraakopdrachten begrijpen via een Android-telefoon. Ik denk dat iedereen bekend is met Google Spraakherkenning, de functie in Android waar we het woord zeggen en Google het typt. Dezelfde functie wordt hier gebruikt om spraakopdrachten te herkennen en om te zetten in tekstopdrachten. De app zet hier spraak om naar tekst via Google en stuurt deze via Bluetooth naar de robot. De robot is geprogrammeerd om deze via Bluetooth ontvangen commando's op te volgen. Het is ook in staat om een groot aantal vragen te beantwoorden. Je kunt zelfs wat meer commando's aan de code toevoegen om de robot nog meer geweldige dingen te laten doen. Hier is de Android-applicatie:

Stap 5: Theorie over gebarencontrole

Theorie van gebarencontrole
Theorie van gebarencontrole
Theorie over gebarencontrole
Theorie over gebarencontrole

De bewegingsbesturing of bewegingsbesturingsmodus wordt ook gedaan via Android. In deze modus kan de robot worden bestuurd als een RC-auto door Android als stuur te gebruiken. Er is een sensor genaamd "Accelerometer" in alle Androids die in deze modus wordt gebruikt. Deze versnellingsmeter kan de hoek bepalen waaronder de telefoon is getiteld door de versnellingskrachten te meten die op de Android werken. Het is deze sensor die ervoor zorgt dat Android zijn scherm draait wanneer we de telefoon kantelen. De app hier gebruikt de telefoonversnellingsmeter om de hoek te bepalen waaronder de telefoon wordt gekanteld. Vervolgens wordt via Bluetooth een karakter (A, B….) naar de robot gestuurd. De Arduino is geprogrammeerd om te werken volgens de ontvangen gegevens. Als de telefoon naar voren wordt gekanteld, wordt teken A verzonden en beweegt de robot vooruit. Wanneer achterover gekanteld, wordt karakter B verzonden en beweegt de robot achteruit enzovoort voor links en rechts. Wanneer de Android horizontaal wordt geplaatst, wordt het teken E verzonden en stopt de robot met bewegen.

Stap 6: Bluetooth-besturingstheorie

Bluetooth-besturingstheorie
Bluetooth-besturingstheorie
Bluetooth-besturingstheorie
Bluetooth-besturingstheorie

In deze modus werkt de robot als een algemene RC-auto. Niets nieuws in deze modus, het is precies hetzelfde als een algemene op afstand bestuurbare auto die op de markt verkrijgbaar is, het enige verschil is dat we een Android-app gebruiken om de robot te besturen. Er zijn verschillende knoppen in de app, elk met verschillende karakters ermee verbonden. Wanneer een toets wordt aangeraakt, wordt een personage via Bluetooth naar de robot gestuurd, net als in de modus voor gebarenbediening. Verder worden dezelfde karakters verzonden wanneer de respectievelijke toetsen worden aangeraakt, en volgt de robot de binnenkomende karakters. Ik heb de 360 en -360 graden knoppen in de app gebruikt om de robot naar rechts en links te laten kijken. Je kunt het in de code wijzigen als je de robot nog andere dingen wilt laten doen.

Stap 7: Theorie over het vermijden van obstakels

Obstakelvermijdingstheorie
Obstakelvermijdingstheorie
Obstakelvermijdingstheorie
Obstakelvermijdingstheorie

In deze modus werkt de robot als een robot voor het vermijden van obstakels en voorkomt hij dat hij tegen een object botst. Dit gebeurt met de HC SR04 sensor. Ik neem aan dat je weet van SONAR (Sound Navigation And Ranging). De HC SR04-sensor zendt continu ultrasone geluidsgolven uit. Deze golven worden teruggekaatst nadat ze een vast oppervlak hebben geraakt en komen terug naar de sensor. De tijd die de golven nodig hebben om terug te keren naar de sensor wordt geregistreerd. Aangezien geluid zich voortplant met ongeveer 340 m/s en we weten dat SNELHEID × TIJD = AFSTAND, kunnen we de afstand bepalen die voor ons ligt. Als het geluid bijvoorbeeld 2 seconden duurt om terug te komen, kunnen we de afstand bepalen met de bovenstaande formule, dwz 340 × 2 = 680 m. Zo kan de robot via de sensor de afstand voor hem meten. Tijdens het rijden meet de robot continu de afstand voor hem door de sensor. Als hij merkt dat de vrije ruimte ervoor minder dan 30 cm is, stopt hij met bewegen. Dan kijkt het naar links en rechts en vergelijkt de afstand van elke kant. Als de linkerkant een grotere afstand heeft, draait de robot naar links. Anders, als de rechterkant groter is, draait de robot naar rechts. Als beide zijden gelijke afstanden hebben, keert de robot terug. Dit eenvoudige mechanisme helpt de robot om de obstakels te vermijden.

Stap 8: Het chassis monteren

Het chassis monteren
Het chassis monteren
Het chassis monteren
Het chassis monteren
Het chassis monteren
Het chassis monteren
Het chassis monteren
Het chassis monteren

Als u het chassis zelf maakt, moet u zeer voorzichtig zijn met de afmetingen en uitlijning. Ik koos ervoor om dit te doen omdat ik er op het net geen kon vinden die mij bevredigde. Als chassis wordt een algemene schakelkast gebruikt voor stroomvoorziening. Ik denk dat je er gemakkelijk een kunt krijgen bij een winkel voor elektrische apparaten. Bevestig eerst de vier motoren aan de onderkant met wat lijm of klemmen en bevestig vervolgens de wielen. Vervolgens moet je het hoofd van de robot maken (de servo en HC SR04-sensor). Voor het hoofd, knip je een klein stukje perfboard af en bevestig je dit met een schroef aan de servo. Bevestig vervolgens de ultrasone sensor met wat lijm op het perfboard. Snijd een klein vierkant gaatje aan de bovenkant van de doos en bevestig de servo erin. Bevestig vervolgens de batterijhouder aan de achterkant van de robot door middel van een schroef. Zet de circuits en de andere componenten in de doos en je chassis is klaar. Vergeet niet om voor de luidspreker wat gaatjes te maken zodat het geluid naar buiten komt en een betere kwaliteit produceert.

Stap 9: De spraakmodule voorbereiden

De spraakmodule voorbereiden
De spraakmodule voorbereiden
De spraakmodule voorbereiden
De spraakmodule voorbereiden
De spraakmodule voorbereiden
De spraakmodule voorbereiden

De spreekmodus van de robot wordt vervuld door de WTV 020 SD-module. De module wordt gebruikt om spraakbestanden voor de robot af te spelen. Wanneer er een vraag wordt gesteld, laat de arduino de module het respectieve spraakbestand op de SD-kaart afspelen. Er zijn vier seriële datalijnen op de module voor communicatie met de arduino, de reset, klok, data en bezet-pinnen. Onthoud dat de namen van de bestanden in decimalen (0001, 0002…) moeten zijn. En dat de bestanden in AD4- of WAV-indeling moeten zijn. Verder werkt de module alleen op een 1GB micro SD kaart. Sommige modules werken zelfs op kaarten van 2 GB en de kaart kan maximaal 504 spraakbestanden bevatten. U kunt dus een groot aantal spraakbestanden opnemen om voor een groot aantal vragen af te spelen. U kunt zelfs uw eigen spraak-AD4-bestanden maken (u kunt dit gedeelte overslaan als u zich kunt aanpassen met de spraakbestanden die bij deze instructie zijn geleverd)., moet u twee software hebben, een geluidsbewerkingssoftware en een software genaamd 4D SOMO TOOL die de bestanden naar het AD4-formaat zou converteren. Ten tweede moet je de Robot Voices voorbereiden. U kunt tekst naar spraak converteren of zelfs uw eigen stem opnemen en de robotstemmen maken. Beide kunnen worden gedaan in de geluidsbewerkingssoftware. Maar robots zien er zeker niet goed uit als ze menselijke stemmen spreken. Het zou dus beter moeten zijn om tekst naar spraak om te zetten. Er zijn verschillende engines zoals Microsoft Anna en Microsoft Sam your Computer die hierbij kunnen helpen. Na het voorbereiden van de spraakbestanden, moet je deze opslaan in 32000 Hz en in het WAV-formaat. Dit komt omdat de module spraakbestanden kan afspelen tot 32000 Hz. Gebruik vervolgens de 4D SOMO TOOL om de bestanden om te zetten naar het AD4-formaat. Om dit te doen, opent u gewoon de SOMO TOOL, selecteert u de bestanden en klikt u op AD4 Encode en uw spraakbestanden zijn klaar. U kunt de afbeelding hierboven ter referentie bekijken. Als u meer informatie wilt over het maken van robotstemmen, kunt u hier terecht:

[Making Robotic Voices]Hier zijn de originele stembestanden en de software:

Stap 10: De verbindingen maken

De verbindingen maken
De verbindingen maken
De verbindingen maken
De verbindingen maken
De verbindingen maken
De verbindingen maken

Sluit alle Vcc-pinnen van de respectieve modules samen en sluit deze aan op de 5v-pin op de Arduino. Doe hetzelfde voor gnd-pinnen. Hier zijn de verbindingen van de verschillende modules. HC 05-module: RX-pin naar Arduino-digpin 0. TX-pin naar Arduino-digpin 1. HC SR04-sensor: Echo-pin naar Arduino-digpin 6. Trig-pin naar Arduino-digpin 7WTV020-SD module: pin1 (reset pin) naar arduino graven pin2.pin4 naar luidspreker +pin5 naar luidspreker -pin7 (klok) naar arduino graven pin3.pin8 naar gnd.pin10 (data) naar arduino graven pin4.pin15 (bezet) naar arduino dig pin5.pin16 tot 3.3vVerbind vervolgens de servosignaal (gele) draad en graaf pin 12. L293d motorcontroller: pin A1 naar arduino dig pin 8.pin A2 naar arduino dig pin 9.pin B1 naar arduino dig pin 10.pin B2 naar arduino dig pin 11. Onthoud dat we in deze robot twee L293d-modules gebruiken. Dit komt omdat één module de capaciteit heeft om maximaal twee motoren van stroom te voorzien. Om vier motoren aan te sturen, gebruiken we twee motordrivers. Denk er dus aan om dubbele aansluitingen te maken op beide motorcontrollermodules. Sluit bijvoorbeeld de Arduino pin 8 aan op pin A1 van beide drivermodules. Vergeet niet om de uitgang van de ene module op twee motoren aan te sluiten en de andere module op de andere twee motoren. Raadpleeg het schema voor verdere referentie.

Stap 11: De Arduino-code

De Arduino-code
De Arduino-code
De Arduino-code
De Arduino-code

Het was een spannende tijd om de code te maken. Het is helemaal geen ingewikkelde code, het gebruikt slechts enkele bibliotheken om te communiceren met de Android en de geluidsmodule. Een groot deel van het werk wordt gedaan in de Android en niet in de Arduino. De code is gebaseerd op Bluetooth-communicatie en de inkomende gegevens van de Bluetooth. De code is zo gemaakt dat we de robot spraakopdrachten moeten geven om de verschillende modi uit te voeren en de Arduino controleert continu op inkomende Bluetooth-signalen. Om een modus te stoppen, hoeven we alleen maar "stop" te zeggen. Het enige probleem met de code is dat we de robot handmatig moeten uitschakelen wanneer deze zich in de Obstacle Avoidance-modus bevindt. We kunnen het "stop"-commando in deze modus niet gebruiken. Dit komt omdat het inschakelen van deze functie de snelheid van het scannen van de afstand van de objecten beïnvloedt. De Arduino zal zowel de afstand van een object als de inkomende Bluetooth-signalen tegelijkertijd moeten lezen. Dit verstoort de modus en de robot kan zichzelf niet volledig beschermen tegen obstakels. De robot kan mogelijk niet onmiddellijk stoppen, zelfs als de afstand voor u minder dan 30 cm is. Het zou dus goed zijn om deze functie niet in deze modus op te nemen. Download gewoon de bibliotheken en de code en upload deze naar de Arduino. Maar vergeet niet om de TX- en RX (0, 1)-pinnen uit de Arduino te halen voordat u gaat uploaden. Deze pinnen worden gebruikt voor seriële communicatie en worden gebruikt tijdens het uploaden van de code. En in deze robot worden deze pinnen gebruikt om de Bluetooth-module aan te sluiten. Dus vergeet niet om ze uit te doen, anders kan het uw Bluetooth-module belemmeren. Hier zijn de code en de bibliotheken:

Stap 12: Problemen oplossen en verbeteringen aanbrengen

Problemen oplossen en verbeteringen aanbrengen
Problemen oplossen en verbeteringen aanbrengen

Deze stap kun je overslaan omdat het alleen gaat over verbeteringen van de robot. In de WTV-020-SD-16p module doen zich veel problemen voor met betrekking tot de capaciteit van de geheugenkaart. Dit komt omdat sommige modules op 2 GB-kaarten werken, terwijl andere dat niet doen. Het is dus beter om een micro-SD-kaart van 1 GB te gebruiken. Het zou geen probleem zijn om verschillende versies van de componenten te gebruiken. Er kunnen verschillende versies van de wtv 020 sd-module worden genoemd. Dit komt omdat er alleen verpakkingsverschillen zijn tussen de modules, terwijl de meeste andere interne dingen hetzelfde blijven. Een ander belangrijk ding is dat het gebruik van een PCB voor de robot zal helpen om het stroomverbruik in hoge mate te verminderen. Als je net als ik de verschillende componenten aansluit, kost het je wat stroom omdat een groot deel ervan verloren gaat in de draden, met een hoge weerstand. Dit komt omdat het circuit vrij groot genoeg is. Deze instructie omvat niet het ontwerpen van een PCB (omdat ik er geen heb gemaakt), maar het kan de energie-efficiëntie van de robot verhogen. Maar BLUE ROVIER 316 is nog niet klaar! Ik dacht eraan om wat meer functies toe te voegen, zoals het volgen van lijnen, het oplossen van doolhoven en vele andere dingen. Maar het bleef een droom vanwege het ontbreken van pinnen op de Arduino UNO (BLUE ROVIER eet echt veel pinnen van de Arduino). Dus ik denk erover om alle functies van deze robot te verbeteren en ze samen te combineren om een meer geavanceerde en bruikbare Arduino-robot te vormen. Dus wees klaar om de aangepaste weergave van ROVIER over een paar maanden te zien!!! Ik zou zelfs andere aangepaste versies van de robot willen zien van andere mensen met meer creativiteit dan de mijne!!!!

Stap 13: Spelen met de robot

Spelen met de robot
Spelen met de robot

Zet de robot aan en kijk hoe hij je begroet, met je speelt. Stel elke vraag (geen domme!) en let op het antwoord. U kunt vertellen om lijnen te volgen of door te gaan. Zeg gewoon 'stop' als je de robot wilt stoppen.

Robotica-wedstrijd 2017
Robotica-wedstrijd 2017
Robotica-wedstrijd 2017
Robotica-wedstrijd 2017

Tweede plaats in de roboticawedstrijd 2017

Aanbevolen: