Båt Autopilot - baserat på Arduino (10 / 13 steg)
Steg 10: Programmering av AtMegas
För att programmera AtMegas jag använde ett FT232 chip, och allt jag hade att göra var plugg den in i varje krets och ladda upp den lämpliga skiss genom att använda Arduinoen programvara (se bilden ovan) precis som jag skulle med en Arduino Uno. Den enda skillnaden är att du behöver välja "Arduino Nano w / ATmega328" istället för "Arduino Uno" i Verktyg > styrelse. Koden var mycket lik den kod som används i den tredje prototypen.
Första skissen analyseras GPS-data och skickat det till andra GPS via en seriell anslutning. Skissen skulle blinka LED på stift 13 när data skickades och LED skulle lysa när det finns ingen GPS lås.
Den andra skissen har mycket mer ansvar. Det tar den nuvarande GPS-position, beräknar avståndet från den platsen till nästa waypoint, jämför rubriken till nästa waypoint med kompass uthärda och styr motorerna att åka dit. Det finns också funktionen omställning som pausar autopiloten medan det finns en signal från RC mottagaren. Den signalen används för att beräkna hastigheten på varje motor. Waypoints som autopiloten går till programmeras direkt i denna skiss.
Den andra AtMega måste också kalibrera kompassen innan du använder den. Det är där jag gått över till helscream's kompass bibliotek som gör kalibrering för mig. När kalibreringen är klar, lyser en grön LED!
Den skiss som jag lagt upp varje chip var i grunden en kombination av alla mina tidigare skisser.
Du kan hämta all källkod på det allra sista steget i detta Instructable!