INHOUDSOPGAWE:
- Stap 1: Demonstrasievideo
- Stap 2: Verhaal van ROVIER
- Stap 3: Komponente en onderdele
- Stap 4: Stembeheerteorie
- Stap 5: Gebaarbeheer -teorie
- Stap 6: Bluetooth -beheerteorie
- Stap 7: Obstakelvermydingsteorie
- Stap 8: Monteer die onderstel
- Stap 9: Voorbereiding van die stemmodule
- Stap 10: Maak die verbindings
- Stap 11: Die Arduino -kode
- Stap 12: Probleme uitsorteer en verbeterings aanbring
- Stap 13: Speel met die robot
Video: DIY multi -featured robot met Arduino: 13 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Hierdie robot is hoofsaaklik gebou vir die begrip van Arduino en die kombinasie van verskillende projekte van Arduino om 'n multi -featured Arduino -robot te vorm. En verder, wie wil nie 'n troeteldierrobot hê nie? Daarom noem ek dit BLUE ROVIER 316. Ek kon 'n pragtige onderstel met rakke gekoop het, maar om dit van nuuts af te maak, leer jou meer en gee jou meer trots nadat jy dit voltooi het. Die robot kan stemopdragte verstaan, eenvoudige vrae beantwoord, beheer as 'n RC -motor en selfs vermy hindernisse terwyl jy beweeg. Dit word hoofsaaklik beheer deur 'n Android -telefoon wat via Bluetooth daaraan gekoppel is. Gebaseer op Android -funksies soos Google Voice Recognition en Tilt sensing, kan dit regtig soos 'n oulike, slim robot gedra. Ek het BLUE in sy naam bygevoeg omdat dit hoofsaaklik op Bluetooth gebaseer is. Dit was eintlik my eerste Arduino -projek en ek wou hê dit moet uniek wees. As u van die projek hou, stem dan vir my in die Robotics -wedstryd!
Stap 1: Demonstrasievideo
U kan die demo van die robot op hierdie webwerf kyk:
Stap 2: Verhaal van ROVIER
U kan na die volgende stap gaan as u nie die oulike verhaaltjie van BLUE ROVIER 316 wil deurmaak nie. Ongeveer 'n jaar terug het ek 'n Arduino UNO as geskenk van my pa ontvang. Aangesien dit my eerste stap op die gebied van Arduino was, wou ek iets anders en uniek uit die algemene Arduino -projekte skep. Dit moes 'n oulike en slim robot wees wat spraakopdragte kan verstaan en nog baie meer intelligente dinge kan doen, soos afstandsbediening, volglyne, hindernisse vermy, ensovoorts. Die vraag was hoe om dit saam te voeg. En nadat ek 'n baie goeie tyd op die internet gesoek het, het ek tot die gevolgtrekking gekom dat Bluetooth die goedkoopste modus sou wees. En so is BLUE ROVIER aan die gang gesit, maar daar het 'n situasie ontstaan waar ek baie funksies van die robot moes uitsluit wat ek verwag het, veral as gevolg van die gebrek aan geheue op die Arduino UNO (selfs die minder aantal digitale penne op die UNO). Maak nie saak nie, ek het voortgegaan. Dit het my baie tyd geneem om die finale weergawe van die robot te skep. En so, na baie proewe en mislukkings, het BLOU ROVIER uiteindelik ontstaan, en so kan ons voortgaan met die vervaardiging van die robot.
Stap 3: Komponente en onderdele
U benodig slegs die volgende komponente: 1. Android-stelsel 2. Arduino Uno 3. wtv020-sd-16p module en 8ohm luidspreker4. 2x L293d motorbeheer kring 5. 4x bo motors en wiele6. HC SR04 ultrasoniese sensor 7. 9g servo8. 8 AA batteryhouer en batterye 9. 1gb micro SD kaart 10. klein skakelkas vir onderstel.11. HC 05 Bluetooth -module Ek weet dit lyk duur! Maar moenie bekommerd wees nie, dit kos slegs ongeveer twee of drie duisend roepies. As ons oor die Android praat, sal dit nie 'n groot probleem wees nie, want die meeste het dit deesdae. Maar met nuwer weergawes (bo 5.0) kan die werkverrigting verhoog word. Probeer motors koop met matige omwentelinge per minuut (60 tot 100). Dit sal help om die snelheid van die robot onder beheer te hou, aangesien geen ander snelheidsbeheerbaan geïnstalleer is nie. En 8 aa -batterye is genoeg om die robot vir 'n goeie tyd aan te dryf. En met inagneming van die Bluetooth, is HC 05 geskik vir die robot, want dit is goedkoop genoeg en die prestasie is ook uitstekend. Die 1 GB mikro -SD -kaart is nodig om stembestande op te slaan wat gespeel word wanneer 'n vraag aan die robot gestel word [Bespreek in detail in die latere deel van die instrukteerbare]. Die ander komponente word breedvoerig bespreek in hul onderskeie stap.
Kom ons gaan na 'n paar eenvoudige "teorieë" wat in hierdie robot gebruik word.
Stap 4: Stembeheerteorie
Die robot kan stemopdragte deur 'n Android -telefoon verstaan. Ek dink almal is bekend met Google Voice Recognition, die funksie in Android waar ons die woord sê en Google tik. Dieselfde funksie word hier gebruik om stemopdragte te herken en om te skakel in teksopdragte. Die app hier omskakel spraak na teks via Google en stuur dit na die robot via Bluetooth. Die robot is geprogrammeer om hierdie opdragte wat via Bluetooth ontvang word, te volg. Dit is ook in staat om 'n goeie aantal vrae te beantwoord. U kan selfs nog 'n paar opdragte in die kode byvoeg om die robot nog meer wonderlike dinge te laat doen. Hier is die Android -toepassing:
Stap 5: Gebaarbeheer -teorie
Die gebaarbeheer- of bewegingsbeheermodus word ook via die Android gedoen. In hierdie modus kan die robot as 'n RC -motor bestuur word deur die Android as die stuurwiel te gebruik. Daar is 'n sensor genaamd 'versnellingsmeter' in alle Android -toestelle wat in hierdie modus gebruik word. Hierdie versnellingsmeter kan die hoek waarteen die telefoon genoem word bepaal deur die versnellingskragte wat op die Android inwerk, te meet. Dit is hierdie sensor wat die Android sy skerm laat draai wanneer ons die telefoon kantel. Die app hier gebruik die telefoonversnellingsmeter om die hoek te bepaal waarteen die telefoon gekantel word. Dan word 'n karakter (A, B ….) via Bluetooth na die robot gestuur. Die arduino is geprogrammeer om te werk volgens die data wat ontvang is. As die telefoon vorentoe gekantel word, word karakter A gestuur en die robot beweeg vorentoe. As dit agteroor gekantel word, word karakter B gestuur en die robot beweeg agteruit, ensovoorts, vir links en regs. As die Android horisontaal geplaas word, word die karakter E gestuur en die robot stop met beweeg.
Stap 6: Bluetooth -beheerteorie
In hierdie modus werk die robot as 'n algemene RC -motor. Daar is niks nuuts in hierdie modus nie; dit is net dieselfde as 'n algemene afstandsbediende motor wat op die mark beskikbaar is, die enigste verskil is dat ons 'n Android -app gebruik om die robot te beheer. Daar is verskillende knoppies in die app, elk met verskillende karakters daarmee gepaard gaan. As 'n sleutel aangeraak word, word 'n karakter via Bluetooth na die robot gestuur, net soos die gebaarbeheermodus. Verder word dieselfde karakters gestuur wanneer die onderskeie sleutels aangeraak word, en die robot volg die inkomende karakters. Ek het die knoppies 360 en -360 grade in die app gebruik om die robot na regs en links te laat kyk. U kan dit in die kode verander as u die robot ander dinge wil laat doen.
Stap 7: Obstakelvermydingsteorie
In hierdie modus werk die robot as 'n obstakel -vermydingsrobot, wat voorkom dat hy met enige voorwerp bots. Dit word gedoen met die HC SR04 -sensor. Ek dink u weet van SONAR (Sound Navigation And Ranging). Die HC SR04 -sensor gee voortdurend ultrasoniese klankgolwe uit. Hierdie golwe word teruggeslaan nadat hulle op 'n soliede oppervlak geslaan het en kom terug na die sensor. Die tyd wat die golwe neem om terug te keer na die sensor word aangeteken. Aangesien klank ongeveer 340 m/s beweeg en ons weet dat SPOED × TYD = AFSTAND, kan ons die afstand vorentoe bepaal. As die klank byvoorbeeld 2 sekondes neem Om terug te kom, kan ons die afstand deur die formule hierbo bepaal, dws 340 × 2 = 680 m. Dit is hoe die robot die afstand voor hom deur die sensor kan meet, terwyl die robot die afstand vorentoe deur die sensor meet. As dit voel dat die oop ruimte minder as 30 cm is, hou dit op met beweeg. Dan kyk dit links en regs en vergelyk die afstand van elke kant. As die linkerkant 'n groter afstand het, draai die robot links. Andersins, as die regterkant groter is, draai die robot regs. As beide kante gelyke afstande het, draai die robot terug. Hierdie eenvoudige meganisme help die robot om die hindernisse te vermy.
Stap 8: Monteer die onderstel
As u die onderstel op u eie maak, moet u baie versigtig wees met die afmetings en belyning. Ek het gekies om dit te doen omdat ek nie een op die net kon vind wat my tevrede gestel het nie. 'N Algemene skakelaar wat vir kragvoorsiening gebruik word, word as onderstel gebruik. Ek dink u kan dit maklik by 'n winkel vir elektriese toestelle kry. Bevestig eers die vier motors onderaan met 'n bietjie gom of klampe en heg dan die wiele vas. Dan moet u die kop van die robot (die servo en HC SR04 sensor) maak. Vir die kop sny u 'n klein stukkie perfboard en heg dit aan die servo deur 'n skroef. Bevestig dan die ultrasoniese sensor met gom aan die perfboard. Sny 'n klein vierkantige gaatjie aan die bokant van die boks en maak die servo daarin vas. Maak dan die batteryhouer aan die agterkant van die robot deur 'n skroef vas. Plaas die stroombane en die ander komponente in die boks en u onderstel is gereed. Moenie vergeet om 'n paar gaatjies voor die luidspreker te maak sodat die geluid uitkom en 'n beter kwaliteit lewer nie.
Stap 9: Voorbereiding van die stemmodule
Die spraakmodus van die robot word vervul deur die WTV 020 SD -module. Die module word gebruik om stemlêers vir die robot te speel. As 'n vraag gevra word, laat die arduino die module die onderskeie stemlêer op die SD -kaart speel. Daar is vier seriële data lyne op die module vir kommunikasie met die arduino, die reset, klok, data en drukpenne. Onthou dat die name van die lêers in desimale moet wees (0001, 0002 …). En dat die lêers in AD4- of WAV -formaat moet wees. Verder werk die module slegs op 'n 1 GB micro SD -kaart. Sommige modules werk selfs op 2 GB -kaarte en die kaart kan 'n maksimum van 504 stemlêers bevat. U kan dus 'n goeie aantal stemlêers insluit om vir 'n goeie aantal vrae te speel. U kan selfs u eie AD4 -lêers maak (u kan hierdie deel oorslaan as u kan aanpas met die stemmelêers wat saam met hierdie instrukteerbaar is)., moet u twee sagteware hê, 'n klankbewerkingsagteware en 'n sagteware genaamd 4D SOMO TOOL wat die lêers na die AD4 -formaat kan omskakel. Tweedens moet u die robotstemme voorberei. U kan teks na spraak omskakel of selfs u eie stem opneem en die robotstemme maak. Albei kan gedoen word in die klankbewerkingsagteware. Maar robotte lyk beslis nie goed as hulle menslike stemme spreek nie. Dit moet dus beter wees om teks na spraak om te skakel. Daar is verskillende enjins soos Microsoft Anna en Microsoft Sam your Computer wat u kan help om dit te doen. Nadat u die stemlêers voorberei het, moet u dit in 32000 Hz en in die WAV -formaat stoor. Dit is omdat die module stemlêers tot 32000 Hz kan speel. Gebruik dan die 4D SOMO TOOL om die lêers na die AD4 -formaat om te skakel. Om dit te doen, maak die SOMO TOOL gereedskap oop, kies die lêers en klik op AD4 Encode en u stemlêers is gereed. U kan die foto hierbo na verwys as u meer inligting wil hê oor die maak van robotstemme, kan u hierheen gaan:
[Maak robotstemme] Hier is die oorspronklike stemlêers en die sagteware:
Stap 10: Maak die verbindings
Kort al die Vcc -penne van die onderskeie modules saam en koppel dit aan die 5v -pen op die arduino. Doen dieselfde met gnd -penne. Hier is die verbindings van die verskillende modules. HC 05-module: RX-pen na arduino-graafpen 0. TX-pen na arduino-graafpen 1. HC SR04-sensor: Echo-pen na arduino-graafpen 6. Trigpen na arduino-graafpen 7WTV020-SD module: pin1 (reset pin) na arduino dig pin2.pin4 na speaker +pin5 na speaker -pin7 (klok) na arduino dig pin3.pin8 na gnd.pin10 (data) na arduino dig pin4.pin15 (besig) na arduino dig pin5.pin16 tot 3.3v Sluit dan die servosignaaldraad (geel) aan en pen 12L293d -motorbeheerder: pen A1 na arduino -graafpen 8. na arduino dig pin 11. Onthou dat ons in hierdie robot twee L293d -modules gebruik. Dit is omdat een module tot twee motors kan dryf. Om vier motors te bestuur, gebruik ons twee motorbestuurders. Onthou dus om dubbele verbindings op beide die motorbeheermodules te maak. Koppel byvoorbeeld die Arduino -pen 8 aan pen A1 van beide die bestuurdersmodules. Moenie vergeet om die uitset van een module op twee motors en die ander module op die ander twee motors aan te sluit nie. Kyk na die diagram vir verdere verwysing.
Stap 11: Die Arduino -kode
Dit was 'n opwindende tyd om die kode te maak. Dit is glad nie 'n ingewikkelde kode nie; dit gebruik net 'n paar biblioteke om met die Android en die klankmodule te kommunikeer. 'N Groot deel van die werk word in die Android gedoen en nie in die Arduino nie. Die kode is gebaseer op Bluetooth -kommunikasie en die inkomende data van die Bluetooth. Die kode is so gemaak dat ons stemopdragte aan die robot moet gee om die verskillende modusse uit te voer en die Arduino kyk voortdurend na inkomende Bluetooth -seine. Om 'n modus te stop, moet ons net 'stop' sê. Die enigste probleem met die kode is dat ons die robot met die hand moet afskakel as dit in die obstakel -vermydingsmodus is. Ons kan nie die 'stop' opdrag in hierdie modus gebruik nie. Dit is omdat die aanskakeling van hierdie funksie die snelheid van die skandering van die afstand van die voorwerpe beïnvloed. Die Arduino moet gelyktydig die afstand van 'n voorwerp sowel as die inkomende Bluetooth -seine lees. Dit belemmer die modus en die robot beskerm hom nie ten volle teen hindernisse nie. Die robot stop moontlik nie onmiddellik nie, selfs al is die afstand wat voorlê minder as 30 cm. Dit is dus goed om hierdie funksie nie in hierdie modus op te neem nie; laai net die biblioteke en die kode af en laai dit op na die Arduino. Maar vergeet nie om die TX en RX (0, 1) penne uit die Arduino te haal voordat u dit oplaai nie. Hierdie penne word gebruik vir seriële kommunikasie en word gebruik tydens die oplaai van die kode. En in hierdie robot word hierdie penne gebruik om die Bluetooth -module aan te sluit. Onthou dus om dit af te haal, anders kan dit u Bluetooth -module belemmer. Hier is die kode en die biblioteke:
Stap 12: Probleme uitsorteer en verbeterings aanbring
U kan hierdie stap oorslaan, want dit handel slegs oor verbeterings van die robot. Baie probleme ontstaan in die WTV-020-SD-16p-module rakende die kapasiteit van die geheue kaart. Dit is omdat sommige modules op 2 GB -kaarte werk, terwyl sommige nie. Dit is dus beter om 'n 1 GB mikro -SD -kaart te gebruik. Daar sou nie veel probleme wees om verskillende weergawes van die komponente te gebruik nie. Die verskillende weergawes van die wtv 020 sd -module kan genoem word. Dit is omdat daar slegs verpakkingsverskille tussen die modules bestaan, terwyl die meeste van die ander interne dinge dieselfde bly. Nog 'n belangrike ding is dat die gebruik van 'n PCB vir die robot in 'n groot mate die huidige verbruik kan verminder. As u die verskillende komponente net soos ek verbind, sal dit u 'n bietjie stroom kos, want 'n groot deel daarvan gaan verlore in die drade, met 'n hoë weerstand. Dit is omdat die kring redelik groot genoeg is. Hierdie ontwerp bevat nie die ontwerp van 'n PCB nie (want ek het dit nie gemaak nie), maar dit kan die kragdoeltreffendheid van die robot verhoog. Maar BLUE ROVIER 316 is nog nie klaar nie! Ek het daaraan gedink om nog meer funksies in te sluit, soos die volgende reëls, die oplossing van doolhowe en vele ander dinge. Maar dit het 'n droom gebly weens die gebrek aan penne op die Arduino UNO (BLUE ROVIER eet regtig baie penne van die Arduino). Daarom dink ek daaraan om al die funksies van hierdie robot te verbeter en dit saam te voeg tot 'n meer gesofistikeerde en bruikbare Arduino -robot. Wees dus gereed om die aangepaste siening van ROVIER oor 'n paar maande te sien !!! Ek wil selfs ander gewysigde weergawes van die robot sien deur ander mense met meer kreatiwiteit as myne !!!!
Stap 13: Speel met die robot
Skakel die robot aan en kyk hoe dit u begroet, met u speel. Stel enige vraag (nie dom nie!) En kyk hoe die antwoord daarop is. U kan sê om die reëls te volg of om voort te gaan. Sê net 'stop' as u die robot wil stop.
Naaswenner in die Robotics Contest 2017
Aanbeveel:
Arduino Multi Light Controller: 7 stappe (met foto's)
Arduino Multi Light Controller: 'n Kollega en kunstenaar Jim Hobbs was van plan om 'n vrystaande installasie te bou vir 'n uitstalling wat hy saamgestel het. Hierdie installasie sal bestaan uit 8 rakke wat 'n paraboliese vorm vorm. Elkeen van die 8 rakke moes 10 gloeilampe hê
Multi -Channel Sonoff - Stem geaktiveerde ligte: 4 stappe (met foto's)
Multi-Channel Sonoff-Stem geaktiveerde ligte: 5 jaar gelede was die ligte in my kombuis die pad van die do-do. Die baanbeligting het misluk en die beligting onder die toonbank was net rommel. Ek wou ook die beligting in kanale opbreek sodat ek die kamer beter kon verlig
HiFi multi-room WiFi en Bluetooth-luidspreker: 10 stappe (met foto's)
HiFi WiFi met meerdere kamers en Bluetooth-luidspreker: Wi-Fi-gekoppelde luidsprekers lewer aansienlik beter klankgehalte as Bluetooth-opsies. Hulle komprimeer nie die klankinhoud voordat hulle dit speel nie, wat 'n negatiewe uitwerking op die klank kan hê, aangesien dit die detailvlak verminder
Pan-Tilt Multi Servo Control: 11 stappe (met foto's)
Pan-Tilt Multi Servo Control: In hierdie tutoriaal gaan ons ondersoek hoe u verskeie servo's kan beheer met behulp van Python op 'n Raspberry Pi. Ons doel is 'n PAN/TILT -meganisme om 'n kamera ('n PiCam) te posisioneer. Hier kan u sien hoe ons finale projek sal werk: Control Servo Control lustoets:
DIY multi-gebruik laserstandaard: 7 stappe (met foto's)
DIY multi-gebruik laserstandaard: hierdie laserstandaard kan gebruik word vir byna enigiets, 'n reseptehouer, artistieke kunshouer, prenthouer en verskeie ander dinge, maar bowenal 'n laser, danksy sy buigsame bene, kan dit daarop gemonteer word 'n teleskoop, verkyker of byna enige