Stap 3: Firmware
De firmware is ontworpen om een pincode beproeven instellen als INPUT, met haar partner als uitgang & hoog, controleer dan de invoer pin om te zien of het de hoogspanning gelezen. Als de spanning niet goed lezen is, dan de pin gaat en een teller wordt verhoogd. We testen de 3,3 v, met behulp van een analoge ingang aangesloten - we toestaan dat een pass tussen 3.2V en 3.4V.
De pseudocode is:
Teller instellen op 0
Wordt pin 16 lezing hoog? (Ja) - knipperen (Saves uploaden van meerdere stukken code)
(No)
Een welkom bericht via seriële uitgang
Op Pass & mislukken LEDs voor 1/2 tweede of uitschakelen (zodat we dat ze werken zien kunnen)
Pinnen 2-6 ingesteld als Input
Pennen 7-11 stellen als UITVOERAPPARAAT en zette ze hoog
Pinnen 2-6, lezen en het verhogen van de teller en aantal van de SPELD van de uitgang voor seriële als hoge
Instellen van lage en INPUT van 7-12
Set van 2-6 & 17 (A3) als OUTPUT & zette ze hoog
Lees de pennen 7-12 en verhogen van de teller en aantal van de SPELD van de uitgang voor seriële als hoge
Lees analoog 2 en covert om een spanning
Als het aantal pinnen dat hoge lezen 11 en spanning is tussen 3.2V en 3.4V dan doorgeven
Zoniet dan ontbreken
op passeren we licht het LED groen pass
op fail flash we de rode fail-LED
Dit schild heeft bijgewerkt zodat de paren van IO pinnen zijn verbonden door 10K weerstanden. Dit is om te voorkomen dat een dode korte als het schild van de test is gemonteerd aan een Arduino met het specifieke paar pinnen die zowel als UITVOERAPPARAAT, met een hoge en een lage stellen.