Arduino R/C Lawnmower (painted) (1 / 11 steg)

Steg 1: Konfigurera



1. få R/C sändare och mottagare (jag har testat FM- och AM system och de båda fungerar)
2. Ladda upp koden till Arduino (det är på sista sidan)
3. Kontrollera att du får en bra signal

Du kommer att behöva en R/C radio transmitter(Tx) och receiver(Rx) par, som är den dyraste delen av projektet, men kan användas för alla framtida projekt du kan ha med R/C. Jag gick med en 6-kanals FM-systemet, men jag har testat en 27mHz AM sändare/mottagare och det fungerar lika bra. Skönheten i Arduino är att om du vill justera Dödband eller motor-hastigheten på turn-on, (till skillnad från kommersiella ESC) det är lätt ändrande i Arduino IDE.

När du har din radio, allt du behöver göra är att ladda upp koden till din Arduino, koppla in 2 kanaler som du vill använda från din radiomottagare till Digital stift 2 och 3 av Arduino (dessa är 2 yttre mellanjobb stiften på Arduino) och du är redo att styra vad du vill. Om du inte har en smet pack för mottagaren, kan du köra hoppare ledningar från Arduino + 5v och jord till R/C receiever för makt, behöver du bara att leverera en enda kanal med GND och 5V (det inte är nödvändigt att driva varje kanal).

Ladda upp koden använder Aruino IDE (jag använder version 0016 på Ubuntu).

Jag började genom att kontrollera 3 lysdioder med 1 kanal på en skärbräda. Jag trådbundna en röd LED att vara framåt (digital pin 9), en gul lysdiod för omvänd digital PIN-kod (5) och en grön LED för Neutral (digital pin 12). Detta kan du justera koden för att passa behoven hos din radiosystem. Du kommer att ha släta 0-100% PWM kontroll av båda leds och neutralt ljus tänds när vänsterspaken är centrerad. Om det behövs kan du bredda Dödband för Neutral, men detta kommer att öka hastigheten på turn-on (som börjar vid 0% så det skulle sannolikt vara önskvärt). Se bilder.

----------------------------------------

Koden har 4 PWM utgångar för motorisk kontroll:

kanal 1 framåt = Arduino digital pin 9
kanal 1 bakåt = Arduino digital stift 5
kanal 2 framåt = Arduino digital stift 10
kanal 2 bakåt = Arduino digital stift 6

2 utgångar för Neutral indikatorlampor:

kanal 1 = digital stift 12
kanal 2 = digital stift 13

2 ingångar från R/C mottagaren ska gå till:

kanal 1 = digital stift 2
kanal 2 = digital stift 3

---------------------------------------

Om du är intresserad av att se dina avläsningar, slå på monitorn följetong i Arduino IDE (inställt på 9600bps) och du kan se faktiska realtids puls avläsningar för varje kanal, borde de läsa:

fullständig framåt = 2000 (2 millisekunder)
Center = 1500 (1.5 ms)
full omvänd = 1000 (1 ms)

Dessa värden återspeglar antalet mikrosekunder som puls signalen från R/C mottagaren håller hög (eller på 5v). Typiska Servo signalen som kommer från en R/C-mottagare är en puls vars längd varierar från ca 1 ms till 2 ms med 1.5 ms att vara Neutral (som bör också den ståndpunkt som vänsterspaken återgår till när du låter det gå). Sändaren läser vänsterspaken position och skickar puls längd om en gång varje 20milliseconds. Så det ständigt uppdatering för exakt kontroll (för mer info, leta upp PPM på wikipedia). Om du kontrollspaken sändaren fram, bör behandlingen gå upp till 2000, om du trycker det bakåt det bör gå ner till 1000. Du kan också använda en spänning mätare på denna punkt för att se att Digital stift 5, 6, 9 och 10 kommer att ändra från 0-5v beroende på positionen av kontroll pinnar på R/C sändare.

Om ni vet, koden använder Arduino's 2 externa avbrott för att fånga när Rx signal stift ändras stater (går från hög till låg eller vice versa), när den gör i början av varje signal, det anropar funktionen avbrott som läser digital delstaten PIN-koden och om hög, registreras värdet mikrosekunder på Arduino system timer0. Sedan tillbaka det till loopen tills stiftet går låg, då subtraherar det tidigare registrerade mikrosekund värdet från det nya aktuella mikrosekund värdet att avgöra hur länge pulsen stannade högt (som berättar positionen för vänsterspaken sändare). Det gör då som om och om igen riktigt snabb.

Jag har värden hindras från att 600-2400 i Arduino koden att hålla det enkelt. När det tar emot signalen och begränsar det, mappas detta värde vara proportionellt mellan 0 och 511, där 255 kommer att vara Neutral. Koden avgör sedan när värdet ändras och använder en funktion för att bestämma den lämpliga 0-255 PWM värde i rätt riktning och varje riktning har egen PWM utdata pin att styra H-bron.

På en sida notera:

För att underlätta, byggde jag en Arduino-baserad breakout styrelsen använda Radio Shack perf-board, en 28pin dopp uttag, en 16mhz oscillator och lite tråd. Jag lade också till en uppsättning kvinna-headers så att jag kan koppla min R/C mottagare direkt på breakout styrelsen. För säkra anslutningar när du klipper gräset, La jag skruv-terminaler på varje utgångsstiftet och var och en av de 6 kanalerna från mottagaren. Den också har en inbyggd 5v regulator att driva båda Atmega168 från Arduino och R/C mottagaren (som får ström när du ansluter den storbildsformat breakout). Så dirigera du bara hoppare ledningar från kanaler du vill använda på mottagaren, till Atmega digital stift 2 och 3. Jag lade också till 2 LED lampor som är hårt kabelansluten till digital stift 12 och 13 för neutralt ljus för varje kanal så jag kan lätt se när jag är i friläge.

Eftersom denna bot är en Tank steer setup med 1 drivmotorn på varje hjul, är kodningen mycket enkel där vänster spak styr vänster motor och rätt pinne rätt motor. Både pinnar framåt innebär gräsklippare går rakt fram, både bakåt och det går bakåt. Om du trycker på vänster fram och höger bakåt, gör det en zero-turn cirkel. Som ni kan föreställa er, är klipper gräset riktigt kul nu.

Se Steg
Relaterade Ämnen

Flaming Lawnmower Paint Job

Over a summer or two, matteo and I repaired an old lawnmower that we found on the side of the road. Vi beslutade att ge det en söt lågan lack. Det var god praxis för målning något större som en bil, och även låt oss prova några airbrushing tekniker....

ArduFlake: Förvandla din Arduino till den bästa gåvan av alla!

Vänligen rösta på mig i tävlingen Holiday Gift och gör det glöda tävling!Först, detta började som en gåva, och inte en instructable. Så snälla ursäkta vissa hand waving här och där som jag inte har några bilder av etsningen och borrning delar.För det...

Bygga din Internet kontrollerad Video-Streaming Robot med Arduino och Raspberry Pi

< the Instructable och koden är redo. Njut! Lämna en kommentar med du feedback! >Jag är (aka LiquidCrystalDisplay / Itay), en 14 år gammal student från Israel lärande i Max Shein Junior High School för avancerad vetenskap och matematik. Jag gör dett...

Skapa egna membran matris knappsatsen (och ansluter den till Arduino)

så du vill skapa din egen membran knappsatsen? Varför? bra att göra din egen knappsats kan vara bra av många skäl. Det är billigt och lätt att göra, den kan placeras i situationer där det kan vara vandaliserade eller stulen utan mycket frustration, h...

Arduino Lilypad interaktiva Passion Sensing halsduk

detta var första gången jag arbetar med en Arduino Lilypad. Jag har velat prova något som behandlats med mjuk kretsar under ett tag nu. Detta är vad jag kom med. Konceptet är baserat utanför min vän Ethan Dicks från theFusefactory.orgemergent får sku...

Glas datorer baserade på Arduino Uno

Till min masters examen projekt ("Gowing datorer, ansluter organ, klippa sladden) från Konstfack högskola av konsthantverk och Design (keramik och glas/CRAFT) gjorde jag 3 glas datorer baserat på specifikationerna för Arduino Uno. Bakbord är glas sku...

Analoga VU-meter och klocka (Arduino Powered)

detta projekt tar tillbaka gammalt tiden analoga VU-Meter, med de extra funktionerna av en snygg snygg klocka! När du stänger av din musik svinga mätarna automatiskt in till klockläge. Bakom är det alla populära och lätt att använda Arduino.Detta är...

Arduino skrivbord Fan Controller

När jag nyligen bytt roller inom företaget, flyttade jag platser, flyttar från Bradford till vårt huvudkontor i Wakefield. Jag sa adjö till min trogna gamla skrivbord med måste ha skrivbord fläkt att svalka mig medan alla runt omkring mig... Hur som...

Bygga en kapacitiv rörelsesensor med kala Paint

i denna tutorial, vi kommer att göra en enkel kapacitans sensor använder en pad av kala färg, en Arduino och en resistor. När korrekt konstruerade, denna sensor kan upptäcka förekomsten av en person från upp till 300 mm och kan arbeta bakom oledande...

Färg sensorer och Arduino seriell kommunikation för nybörjare

Hej alla, jag ska prata om färg sensorer: hur man bygger och kalibrera en och hur man använder det med seriell kommunikation genom en Arduino ombord.Det sista steget förklarar hur jag använde detta projekt för en Gimp (står för "GNU Image Manipulatio...

USB-Arduino morsekod nyckel

Någonsin velat skriva på en dator med en morsekod nyckel eller att lära sig/lära morsekod? Du är på rätt sida!För mina andra projekt, kolla in calvinliang.meSteg 1: Samla material• 1 × Arduino/Genuino Micro• 1 × 3v summern• 1 × morsekod nyckel (jag f...

Alfanumeriska laser projektor med arduino

IntroTanken var att göra en liten, billig och mycket bärbar (batteridriven) alfanumeriska hög effekt laser projektor. Detta skulle vara en enhet som du kan använda för att projektera ett meddelande på avlägsna mål. Det inte visar sig vara värt mödan...

Paint puls: Digitala vatten marmorering

Paint puls är ett projekt som syftar till att bygga på vatten marmorering hantverk av Ebru och Suminagashi med digital beteendemässiga tillägg. Tanken är att design intrikata, flödar mönster av färg direkt på ytan av vatten som du kan fånga på ytan a...

Shapeoko 2, Arduino UNO R3, grbl 9g, 8 bit lasergravyr diod foto

Mig och min son utvecklat uppfann/ett nytt koncept "On-The flyga" 8-bitars laserdiod gravyr bilder över två år sedan. Med detta begrepp släcks Laser-diod aldrig genom hela bilden gravyr process. Det varierar bara kraften upp och ner för att prod...

STEAMPUNK STEAM GAUGE, drivs av ARDUINO

detta skapades för att vara lite ögongodis för mitt kök. Jag ville ha något unikt för en speciell tomt utrymme på min vägg, och lägga till rörelse, blinkande lampor och intressant mekaniska "tarmar" gjorde det ännu bättre.Slutligen hamnade detta...

2.4" TFT LCD Touch sköld Arduino

2.4" TFT LCD Touch sköld Arduino UNO Hej världen2.4" diagonal LCD TFT display 4-tråds Resistiv pekskärm LED bakgrundsbelysningSteg 1: skisser#include / / core grafik bibliotek#include / / maskinvaruspecifika bibliotek #include#define YP A1 / / m...

Arduino King Cobra spel

när är sista gången att en elektronisk anordning spetsad du?För mig, hade det varit alldeles för lång tid.Ange... Arduino King Cobra! (TM, R, Copyright, Patent Pending... inte riktigt).Jag hade några nya delar och ville bygga något under min lunchras...

Hacking en Keychain digitalkamera för Arduino kontroll

fotografering alternativ för Arduino är få och långt mellan. Webbkameror är praktiska för applikationer som kite fotografering eller offentliga fotografering, om du känner för att köpa en 200 fot USB-kabel. Och aktuella tekniker för fristående Arduin...

Enkel färg Detector "arduino"

Denna handledning kommer att ta dig igenom hur man gör enkla färg detektor, med VB.net som använder för att Visa färg. Det är är relativt enkel att göra, medan koden är av måttlig längd. Resultatet är i form av ett hexadecimalt värde, som är accepter...