Op afstand bestuurbare auto's zijn leuk, zeker, maar zelfrijdende robotische auto's zijn nog leuker. In deze zelfstudie bouwen we een robot met vier wielen die kan rondrijden en obstakels kan vermijden. Ik kocht deze complete 4WD-set van AliExpress, maar je kon de meeste van deze componenten eenvoudig kopen in een elektronicawinkel en deze zelf samenstellen.
Ik raad aan om alle instructies door te lezen voordat je begint, want dat maakt een aantal dingen duidelijk die voor de eerste keer verwarrend kunnen zijn. Ook kan dit een lang, geavanceerd project lijken vanwege de lengte van de instructies, maar het is eigenlijk vrij eenvoudig. Je hoeft niet geïntimideerd te worden - dit is een project op beginnersniveau waar je enkele bevredigende resultaten mee kunt behalen, waarop je verder kunt bouwen terwijl je meer leert. Hou je niet van deze stijl van robot? Hier zijn wat meer Arduino-robots 8 Arduino-robots die je kunt bouwen voor minder dan $ 125 8 Arduino-robots die je kunt bouwen voor minder dan $ 125 De Arduino kan veel, maar wist je dat het volwaardige robots kan maken? Voor heel goedkoop ook! Lees Meer dat je gemakkelijk zou kunnen bouwen.
Dit is wat we hebben, nadat we alles uit de verpakking hebben gehaald:
Om aan de slag te gaan, bevestigen we de motoren en de H-brug (de kaart die stroom levert aan de motoren) aan het onderste deel van het chassis. Bevestig eerst de vier metalen beugels (het zijn rechthoekige, geboorde blokken metaal) aan elke motor met behulp van twee lange bouten en twee moeren.
Je moet ervoor zorgen dat ze correct zijn bevestigd, dus bekijk de afbeelding hieronder om er zeker van te zijn dat de zijkant van het blok met twee geboorde gaten naar beneden wijst. Merk op dat de draden op elke motor naar het midden van het chassis wijzen.
Nu kan elke motor aan het chassis worden bevestigd met behulp van twee korte bouten aan de onderkant van elke metalen beugel. Hier is een weergave van de onderkant van het chassis, zodat u kunt zien waar de bouten moeten zijn:
De volgende stap is om de H-brug (dat is het rode bord in mijn kit) aan het chassis te bevestigen. Misschien wil je wachten tot alle draden aan de H-brug zijn bevestigd voordat je dit doet, maar dat is aan jou (ik vond het makkelijker). Een korte opmerking: mijn kit miste een aantal bevestigingsmiddelen, dus ik gebruikte tape om de brug te beveiligen. Je kunt hier echter zien waar de bouten en moeren verdwenen zouden zijn:
Nu de H-brug is bevestigd, kunt u beginnen met het aansluiten van de voeding. Omdat de zes AA-batterijhouder wordt geleverd met een gelijkstroomadapter, moet u het uiteinde afsnijden (wat ik deed) of doorverbindingsdraden naar de batterijen zelf.
Ongeacht hoe je het besluit te doen, je voert de positieve draad naar de poort met het label "VMS" en de negatieve draad naar die met het label "GND" op de brug. Schroef de bevestigingsmiddelen vast en zorg dat ze goed vastzitten. Vervolgens verbindt u de motordraden. Aan beide kanten is er een set van twee poorten; de ene is gelabeld als "MOTORA" en de andere "MOTORB." Beide rode draden aan elke kant gaan in de centrale groene poort en beide zwarte draden gaan naar de buitenste. Deze foto zou het duidelijker moeten maken:
Ik merkte dat ik een deel van de behuizing van de motorkabels moest aftrekken om dit te laten werken. Nu dat u de motoren en de voeding helemaal bedraad hebt, schuift u de wielen op de aandrijfassen van de motor en bevestigt u de vier koperen assen op de locaties op de onderstaande afbeelding (elke koperen as heeft één kleine bout nodig). Deze robot begint vorm te krijgen!
Zet nu dat deel van het chassis opzij en pak de andere die bovenop zit. De volgende stap is om de Arduino opnieuw te bevestigen, ik moest elektrische tape gebruiken, maar je zou de jouwe beter kunnen beveiligen met wat bouten en moeren.
De volgende stap vereist de microservo, de zwarte dwarsbalk, de servohouder (die uit drie zwarte plastic stukken bestaat) en enkele kleine schroeven. Gebruik een van de grotere scherpe schroeven in de set om de zwarte dwarsbalk aan de microservo te bevestigen:
Draai de servo vervolgens ondersteboven in de zwarte plastic ring van de houder. Zorg ervoor dat de draden die uit de servo komen in dezelfde richting wijzen als het langere deel van de houder (zie opnieuw de afbeelding hieronder) en gebruik vier kleine schroeven om de dwarsbalk te bevestigen (er zijn vier gaten in de houder die uitlijnen met de gaten op de dwarsbalk).
Zo ziet het eruit nadat het is bijgevoegd:
Neem ten slotte de andere twee stukken van de servohouder en klik ze vast op de servo (er zijn groeven in de zijstukken die overeenkomen met het plastic lipje op de servo).
Nu de servohouder compleet is, kan deze op het chassis worden gemonteerd.
Hier gaan de bouten:
Het is tijd om onze robot een paar ogen te geven. Bevestig de ultrasone sensor aan de servohouder met behulp van twee kabelbinders.
Als je werkt met dezelfde kit als ik, heb je een Arduino-sensorbescherming ontvangen. We zullen het niet in deze build gebruiken, maar je kunt het nu bovenop de UNO plaatsen als je wilt (zoals ik in de onderstaande afbeelding heb). Lijn de pinnen aan de onderkant van het schild uit met de I / O-poorten op de Arduino en druk deze omlaag om ze aan te sluiten. Je hebt het op dit moment niet nodig, maar schilden kunnen handig zijn. De Top 4 Arduino Shields om je projecten te versterken De top 4 Arduino Shields om je projecten te versterken Je hebt een Arduino-starterkit gekocht, je hebt alle basisregels gevolgd gidsen, maar nu heb je een struikelblok getroffen - je hebt meer bits en bobs nodig om je elektronische droom te verwezenlijken. Gelukkig, als je ... Lees meer hebt.
Of je nu een sensorscherm aansluit of niet, je hebt nu vier draden nodig om de ultrasone sensor op de Arduino aan te sluiten. Er zijn vier pinnen op de sensor, VCC, GND, TRIG en ECHO. Verbind VCC met de 5V pin op de Arduino, GND naar GND, en TRIG en ECHO naar I / O pins 12 en 13.
Pak nu het onderste deel van het chassis en sluit zes jumperdraden aan op de I / O-pinnen van de H-brug (ze zijn gemarkeerd als ENA, IN1, IN2, IN3, IN4 en ENB). Let op welke kleurendraden zijn aangesloten op welke poorten, zoals u later moet weten.
Nu is het tijd om dit ding samen te stellen. Pak het bovenste deel van het chassis vast en plaats het op de koperen assen die op het onderste deel zijn aangesloten, en trek de draden die aan de H-brug zijn bevestigd door het gat in het midden van het chassis. Sluit de zes draden als volgt aan op I / O-poorten:
- ENA naar I / O-poort 11
- ENB naar I / O-poort 10
- A1 naar I / O-poort 5
- A2 naar I / O-poort 6
- B1 naar I / O-poort 4
- B2 naar I / O-poort 3
Gebruik nu vier korte schroeven om het bovenste deel van het chassis aan de koperen assen te bevestigen. Plaats de batterijhouder van zes AA op de bovenkant van het chassis (schroef het vast indien mogelijk), bevestig de 9V-houder aan de Arduino en deze bot is klaar om te rocken!
Nou ja, bijna klaar om te rocken. Het heeft nog niet genoeg persoonlijkheid.
Daar gaan we. Nu geef ik het een brein. Laten we wat programmeren.
Het eerste wat we zullen doen is testen om ervoor te zorgen dat de brug en motoren correct zijn aangesloten. Hier is een korte schets die de bot vertelt om een halve seconde vooruit te rijden, een halve seconde achteruit te rijden en vervolgens naar links en rechts te draaien:
Dat is veel code voor een eenvoudige test, maar het definiëren van al deze functies maakt het later gemakkelijker om te tweaken. (Hartelijk dank aan Billwaa voor zijn blogpost over het gebruik van de H-brug voor het definiëren van deze functies.) Als er iets fout is gegaan, controleer dan al uw verbindingen en of de draden op de juiste pinnen zijn aangesloten. Als alles goed is gegaan, is het tijd om naar de sensortest te gaan. Om de ultrasone sensor te gebruiken, wilt u de NewPing-bibliotheek downloaden en vervolgens Sketch> Include Library> Add. Zip Library ... gebruiken om de bibliotheek te laden.
Zorg ervoor dat je de include-verklaring boven aan je schets ziet staan; Als dat niet het geval is, klikt u op Sketch> Include Library> NewPing . Als je dat hebt gedaan, laad je de volgende schets op:
Upload de schets en open de seriële monitor met Tools> Seriële Monitor . U zou een snel bijgewerkte reeks getallen moeten zien. Houd je hand voor de sensor en kijk of dat aantal verandert. Beweeg je hand in en uit, en je zou een meting moeten zien van hoe ver je hand van de sensor verwijderd is.
Als alles goed werkt, is het tijd om alles samen te stellen en dit ding te laten rennen! Hier is de code voor de robot. Zoals je waarschijnlijk wel kunt zien, zijn dit in feite de twee testschetsen samen met een toegevoegd if-statement om het gedrag van de robot te regelen. We hebben het een heel eenvoudig obstakel-vermijdingsgedrag gegeven: als het iets detecteert dat minder dan tien centimeter verwijderd is, maakt het een back-up, draait het naar links en begint het weer te bewegen. Hier is een video van de bot in actie.
Geef je robot een beetje leven
Zodra dit probleem is opgelost, kunt u meer complex gedrag toevoegen; laat de robot wisselen tussen links en rechts draaien of willekeurig kiezen; laat een zoemer klinken als hij ergens dichtbij komt; gewoon draaien, in plaats van een back-up maken; je wordt echt alleen beperkt door je verbeeldingskracht. U zou zowat alles in uw Arduino-starterkit kunnen gebruiken. Wat zit er in uw Arduino Starterkit? [Arduino Beginners] Wat zit er in je Arduino Starter Kit? [Arduino Beginners] Geconfronteerd met een doos vol met elektronische componenten, is het gemakkelijk om overweldigd te worden. Hier is een gids voor precies wat u in uw kit zult vinden. Lees meer om meer functionaliteit toe te voegen. Je zult ook merken dat we nog niets voor de servo hebben gecodeerd: je kunt de ogen van je robot eigenlijk heen en weer bewegen. misschien door ze te gebruiken om een pad te zoeken in plaats van alleen maar een back-up te maken wanneer het een obstakel direct vooraan vindt.
Laat het ons weten als u besluit deze robot of een andere robot te bouwen en vertel ons hoe u besluit het gedrag of uiterlijk aan te passen. Als je vragen hebt over deze robot, plaats deze dan in de onderstaande opmerkingen en ik zal kijken of ik kan helpen!