Stap 10: Programmeren van de AtMegas
Om te programmeren van de AtMegas gebruikte ik een FT232 chip, en alles wat ik moest doen was sluit hem aan op elk circuit en uploaden van de passende schets met behulp van de Arduino software (zie afbeelding hierboven) net als ik dat zou doen met een Arduino Uno. Het enige verschil is dat je nodig hebt om te selecteren "Arduino Nano w / ATmega328" in plaats van "Arduino Uno" in Tools > Raad van bestuur. De code was erg vergelijkbaar met de code die wordt gebruikt in het derde prototype.
De eerste schets geparseerd van GPS-gegevens en stuurde het naar de tweede GPS via een seriële verbinding. De schets zou de LED op pin 13 knippert wanneer gegevens was wordt verzonden, en de LED zou gloed wanneer er geen GPS lock.
De tweede schets heeft veel meer verantwoordelijkheid. Het neemt de huidige GPS-locatie, berekent de afstand vanaf die locatie naar het volgende waypoint, vergelijkt de kop naar het volgende waypoint met de kompas peiling en regelt de motoren er naartoe te gaan. Er is ook de override-functie, die de automatische piloot wordt onderbroken, terwijl er een signaal van de RC-ontvanger. Dat signaal wordt dan gebruikt voor het berekenen van de snelheid van elke motor. De waypoints die de automatische piloot naar gaat zijn geprogrammeerd rechtstreeks in deze schets.
De tweede AtMega moet ook het kompas kalibreren alvorens het te gebruiken. Dit is waar ik overgestapt naar helscream van kompas bibliotheek die de kalibratie voor me doet. Wanneer kalibratie is voltooid, wordt een groene LED brandt!
De schets die ik heb geüpload naar elke chip was in wezen een combinatie van al mijn vorige schetsen.
U kunt het downloaden van alle broncode bij de allerlaatste stap van dit Instructable!