Konvertera en räddade leksak till en MIDI-controller (12 / 17 steg)
Steg 12: Skriva kod att testa varje stift
Hämta Arduino skiss bifogas detta steg och öppna upp. Du kommer att märka det ser lite mer komplicerat än koden från steg 7, men det är på goda grunder. För det första innehåller koden en debouncing rutin som kan kontrollera tillståndet för ett godtyckligt antal kontaktstift. För det andra använder koden en matris för att hålla alla pin nummer, så att du bara har till redigera en variabel när du vill lägga till eller ta bort stiften från din leksak, snarare än dykning i hela skissen!
Debouncing
Debouncing kan vara nödvändigt med vissa typer av knappar på grund av något som kallas mekanisk kontakt prat, eller "studsande". Detta inträffar när två metall bitar av en switch få kontakt, och sedan "studsa" ifrån varandra för ett kort ögonblick. Detta händer så snabbt att du inte märker det i följetong Monitor eller genom beröring, skulle du egentligen bara veta om det från de problem det medför, eller genom att titta på signalen på ett oscilloskop.
Det finns många tekniker man kan använda att debouncing ingångar, men jag använder en teknik som beskrivs av Limor "ladyada" Fried här: http://www.adafruit.com/blog/2009/10/20/example-code-for-multi-button-checker-with-debouncing/
Med hjälp av skissen
Jag rekommenderar att testa en PIN-kod på en gång, bara för att göra felsökning enklare. Uppdatera matrisen [knappar] för att innehålla pin antal PIN-koden du vill testa och sedan ladda upp skissen till din Teensy. Öppna den Serial Monitor och titta på meddelanden som skickas från din Teensy. Skissen kommer att skicka ett meddelande varje gång en knapp trycks och släppt, som anger pin nummer som registreras händelsen. När du vet en pin fungerar, kan du hålla den i matrisen. När du gå vidare till nästa PIN-koden, lägga till i slutet av kedjan, så att i slutet, alla dina knappar läggs till koden.