Cinema skiffer (3 / 11 steg)
Steg 3: Kod: 1
Detta är förmodligen den svåraste delen av hela projektet (för mig iallafall). Alla mina tidigare Arduino skisser har varit ganska enkel, icke tid kritiska program. Timing är allt med en klocka. Det var nödvändigt att koden körs som smidigt och snabbt som möjligt. Eventuella förseningar i processen kan potentiellt kasta hela klockan av.
En av mina vänner rekommenderade med ett avbrott sekvensen för att kontrollera tidpunkten. Detta sätt jag kunde se till att varje 1/30 sekund avbrottet skulle eld och lägga till 1 till minsta tidsintervall, i detta fall 1/30-talet av en sekund. Avbrottet skulle också förhindra tidpunkten från kastas. Att åstadkomma detta är används Timer1 på Arduino och konfigureras den som en jämför Match timer. I princip timer räkningarna under varje klockan cycle av mikro-controller, och när den når ett fördefinierat nummer, det utlöser den avbryta tjänsten rutinmässiga eller ISR. Förklara hur detta fungerar är utanför omfånget för detta instructable, men det finns en betydande mängd information på webben samt talrika instructables som förklarar detta koncept mycket grundligt.
Jag har bifogat den senaste koden. Jag använde några av koden för att Visa från Blair Thompson på www.justblair.co.uk