Stap 9: Programma, het bord - LCD, tekens en Aliens
De schets biedt de methode waaraan we de ingangen (twee schakelaars en twee analoge potentiometers) lezen en genereren van de juiste uitgang op het LCD-scherm en/of klankmodule. De sketch werd geschreven in de nu enigszins verouderd Arduino 1.0.3. Het kan draaien op nieuwere versies maar 1.0.3 is nog steeds beschikbaar om te downloaden als je het nodig hebt.
De sleutel voor de weergave op het LCD-scherm is een gewijzigde versie van de uitstekende PCD8544_SPI-bibliotheek door Arthur Liberman (aka "The Coolest' - http://www.alcpu.com). Dit is geknepen zodat tekens buiten 127, die zijn gedefinieerd voor de aliens, sommige kleinere aantallen van het lettertype en de reserveonderdelen schip pictogrammen.
De gewijzigde versie van de bibliotheek is gekoppeld aan deze stap als een .zip-bestand. Unzip en bewaart het in de folder van de bibliotheken in Arduino 1.0.3. Herstart de Arduino en het moeten worden opgepikt.
In de gewijzigde bibliotheek vertegenwoordigen tekens 0x80 te 0x8D zeven paren van vreemdelingen met elke vreemdeling het twee formulieren in op elkaar volgende tekens. Tekens 0x90 te 0x99 bevatten cijfers 0 tot en met 9 in een miniatuur lettertype, waardoor de score moet worden weergegeven zonder een hele lijn van de display. Dit zijn dezelfde ASCII-codes als normale cijfers 0 tot en met 9 maar met de hoogste bit ingesteld. We gebruiken die in de tekening weergeven nummers om gemakkelijker te maken. Het pictogram van de reserve schip wordt ook hier gedefinieerd in 0x9A.
De Nokia 5110 LCD geeft zes lijnen van tekens, elk teken wordt gedefinieerd in een pixelraster van 6 x 8 (w x h). Omdat je moet wordt een spatie tussen tekens, in de praktijk het lettertype gedefinieerd als vijf bytes per teken, met elke byte dat een kolom van het teken vertegenwoordigt. Zowel de definitie van de bibliotheek en het LCD-scherm zelf nemen tekengegevens in dit formaat (één byte vertegenwoordigen één kolom van 8 pixels). Raar, ik weet.
Ik de bijgevoegde karakter ontwerp bladen afgedrukt en de kinderen in de vakken voor het genereren van twee vormen van elke vreemdeling in kleur had. Ik een paar mezelf gedefinieerd en laat ze 2-3 meer maken. Zij voegden de waarden voor elk van de gekleurde vakken geven een getal voor elke kolom in hun buitenaardse ontwerp. Dit werd vervolgens gevalideerd met behulp van het bijgevoegde Excel-blad om te controleren dat de nummers die ze had berekend vertegenwoordigd de vreemdelingen die zij had ontworpen. We niet de bovenste rij gebruiken zodat de aliens niet samengevoegd wanneer weergegeven.
Om een nieuwe alien in de schets, open het bestand PCD8544_SPI.h uit de map ' Bibliotheek ' in WordPad of vergelijkbare teksteditor en bewerken van de definities van de teken in 0x80 te 0x8D. Het bestand opslaan en herladen Arduino ter uitvoering van de nieuwe aliens.