Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Jag har gjort en del arbete med Arduino -styrda bilar, men de som jag har arbetat med har alltid varit långsamma och metodiska. Det här är bra när man lär sig arduino, men jag ville ha något lite mer … roligt. Ange RC -bilen.
RC -bilar är bokstavligen utformade för att vara så roliga att köra som möjligt - de är leksaker! Jag gick på YouTube men allt jag hittade var ett gäng alltför komplicerade sätt att konvertera en RC -bil till Arduino -kontroll. Jag tänkte att det måste finnas enklare sätt att göra detta, så jag bestämde mig för att hitta mitt eget sätt att konvertera en RC -bil till Arduino -kontroll, med betoning på enkelhet och effektivitet.
Istället för att guta bilen och börja om, trodde jag att det skulle vara mycket lättare att pigga tillbaka på den befintliga infrastrukturen. Det finns några riktigt häftiga fördelar med denna metod.
Jag hackade kontrollen på bilen, men lämnade bilen själv orörd. Detta tillät mig att autonomt styra bilen för mycket billigare, med hjälp av det radiosystem som de redan har.
Jag gillar den här lösningen eftersom den är elegant, enkel, billig och utökbar. Hoppas du tycker att den är lika användbar som jag!
Steg 1: Testkörning
Du vill verkligen knäcka upp bilen och komma igång. Men vänta! Du har precis fått den här fantastiska nya RC -bilen, ta en stund att agera lite barnslig och köra runt den! Jag och mina vänner hade jättekul att springa runt med en RC -bil "för vetenskap". Våra favoritplatser att köra runt på har varit en lokal skatepark och en gammal basebolldiamant. Dessa platser var bra för att öva hopp och munkar, kolla in den långsamma mo -videon vi fick!
Steg 2: Öppna kontrollen
Varje styrenhet är olika, så det är viktigt att ta en titt inuti för att ta reda på vad du har att göra med. Min styrenhet hade en avtryckare för gasen och ett skumhjul för svarvning. Det visar sig att både avtryckaren och hjulet bara var komplexa höljen för potentiometrar! Detta är super bekvämt eftersom vi enkelt kan förfalska detta med en arduino.
Ta en minut för att ta reda på var potentiometrarna ansluts till kortet. De bör ha tre lödda trådar där: ström, jord och data. Detta blir snart viktigt.
Steg 3: Multimeter
Jag stötte på ett problem och jag glömde att försöka använda en multimeter. Efter att äntligen komma ihåg att använda multimetern fixade det alla mina problem!
Multimetrar är som utskriftsuttalandena i din kod, redigeraren till ditt papper. I det här fallet hjälpte multimetern mig att förstå hur potentiometrarna var anslutna så att jag bättre kunde fejka dem med arduino.
För att ta reda på hur dina potentiometrar är anslutna, rör helt enkelt marken till marken och den röda tråden på din multimeter till datapinnen på kortet. Ordningen ska vara tydlig från trådarnas färg, men om inte, är datapinnen den som kommer att ändra värde när potentiometern vrids.
Sedan registrerade jag värdena för datalinjen vid mittpunkten (standardpositionen) och vid endera polen. På så sätt skulle jag veta vad 0 var och vilken riktning jag skulle gå för att öka eller sänka hastigheten eller svänga åt vänster eller höger. Här är mina mått:
- 0 max hastighet
- 1.75v ingen rörelse
- 3.0v max bakåt
- 0 max vänster sväng
- 1.57 ingen tur
- 3,37 max höger sväng
Jag tänkte använda en Adafruit -fjäder för att styra bilen i alla fall eftersom jag gillar brädan, men dessa mätningar stöder det beslutet. Fjädern körs på 3.3v logik, vilket passar riktigt bra med detta analoga sortiment. Detta kan också göras med ett 5v -kort, men du måste vara mer försiktig med den maximala analoga spänningen du levererar.
Steg 4: Testa det
Detta steg är valfritt, men jag tycker att det alltid är bättre att testa mellanstegen med kontroller om det är möjligt. Jag använde en stationär powerbank för att ansluta styrenheten med krokodilklämmor (efter avlödning av datalinjerna) och testa olika spänningar. Det var fantastiskt att vrida vredet på powerbanken för att variera spänningen och se hur hjulen svängde upp som om jag fick dem att röra sig med kontrollen.
Steg 5: Anslut Arduino
Det här steget var faktiskt ganska enkelt, men jag gjorde några saker som gjorde att det här arbetet blev mycket bättre. Här är min metod:
- Avlöd datalinjerna från de två potentiometrarna, på brädans sida.
- Löd de lösa ledningarna till en hankontakt: hastighet till ström och vridning till mark.
- Löd en matchande honkontakt till kortet, så att den skulle fungera på samma sätt som tidigare om den är inkopplad.
-
Löd en hankontakt till arduinoen.
- En ledning till den inbyggda DAC (på mitt bräde var detta pin A0, inte alla kort har detta så se till att kontrollera först!).
- Om du råkar använda en Arduino Due eller liknande, anslut sedan den andra ledningen till den andra inbyggda DAC.
- Anslut annars den andra ledningen till utgången på en extern DAC; Jag köpte en extern DAC breakout board från adafruit.
- Anslut de andra stiften på den externa DAC till Arduino.
-
Anslut jordlinjen för en av potentiometrarna till marken på Arduino
Att ge en gemensam grund hjälper till att minska störningar dramatiskt
Steg 6: Programmering av din nya autonoma bil
Nu kan du autonomt styra din RC -bil! Du måste använda ett bibliotek om du använder en extern DAC, men annars borde programmeringen vara ganska enkel. Som du kanske har gissat från ledningarna är det avgörande att använda en sann analog signal. Först försökte jag få det att fungera med en PWM -signal, men det hade förvirrande och generellt dåliga resultat. Med sanna analoga utgångar har det dock fungerat utmärkt!
Börja med geometriska former och mönster som annars skulle vara svåra att göra med handkontrollen. Till exempel var det första jag programmerade min att göra att köra i perfekta cirklar med olika diameter.
Detta är också den lättaste viktmodifieringen jag har sett för att autonomt styra en rc -bil, och du kommer att lära dig mycket om hur de fungerar under processen!
Steg 7: Nästa steg
Den stora nackdelen med denna lösning är att jag inte har tvåvägskommunikation. Det betyder att jag kan skicka bilinstruktioner, men kan inte ta emot sensordata.
Det nästa jag planerar att göra är att ta itu med detta problem, antingen genom att hacka bilsidan för att skicka data tillbaka, eller genom att skapa en separat länk för relä sensordata. Om jag sätter upp en separat länk behöver det inte vara lika tillförlitligt som huvuddrivlänken eftersom motorstyrningarna är viktigare.