Stap 10: De Code
Wanneer u uploadt naar de Arduino Uno, moet de Rx en Tx pinnen D0 en D1 duidelijk
De code is een beetje lang, maar u kunt eenvoudig opslaan en vervolgens openen vanuit uw IDE en uploaden.
Er zijn tal van opmerkingen in de code die hopelijk helpen zal te verduidelijken sommige van de waanzin.
Houden van de iPod op een hardware UART in tegenstelling tot de SoftwareSerial bleek te hebben veel meer betrouwbare resultaten.
De Code is als volgt gestructureerd:
- De Macro
- Declare globale variabelen
- Opsommingen
- iPod Message Handling variabelen
- iPod-opdrachten
- Droid Message Handling variabelen
- Droid opdracht adressen
- Timers (Unsigned Long)
- Booleans
- Software seriële initialisatie
- Functie Prototypes
- Setup functie
- Hoofdlus functie
- Connection Handling functies
- Droid gegevens ontvangen van functies
- iPod gegevens ontvangen van functies
- Volume aanpassen functie
- Gegevens verzenden en ontvangen van functies
- Debug Led functies
De lijst met functie prototypes is in de volgorde waarin ze worden weergegeven in de code en kunnen worden gebruikt als een inhoudsopgave.
Als u een Arduino die meerdere seriële poorten ondersteunt gebruikt, kunt u uncomment de #define DEBUG constanten te laten afdrukken foutopsporingsgegevens naar de seriële monitor.
Er zijn twee typen voor debug afdrukopties, DEBUG- en DEBUG_DETAIL.
Foutopsporing geeft de basishandelingen terwijl DEBUG_DETAIL de toegezonden gegevens zo goed wordt afgedrukt.
Met beide uncommented, het tarief voor inkomende data kan een beetje overweldigend zijn. Commentaar uit afzonderlijke DEBUG_PRINTs in de code kan hierbij helpen.
Wanneer je een bord met slechts één seriële poort gebruikt, Pin 13 hoge plaatsing van de debugLEDOn() functie in de code wordt ingesteld en draai op de bijgevoegde leidde toen het geraakt wordt.