Remote Home Automation (14 / 50 steg)
Steg 14: DTMF avkodare kod (montering & C): programmering en Atmel AVR
Här jag ska förklara koden lite, de kommande stegen kommer att vara en handledning om hur att ladda den i ATtiny2313 använder ett exempel, men samma steg gäller för all kod som vi har för mikro-styrenheter.
Jag har tagit både montering och C kod för denna krets. De bör vara ganska liknande i funktion. C koden bara framåt vad Läs av ATtiny2313 på Port B från Port D, det är så att du kan kontrollera att signalen kommer korrekt med inget mer då några blinkinlights på de lägre 4 stift av Port B.
Standardkoden är 0000 och kan ändras på linje 99. När du har skrivit in tryck rätt kod på #-knappen på telefonen har mikro giltighet koden. Mis tryck en nyckel inte oroa dig, Tänk bara att ange siffror mikro kommer bara ihåg de sista 4 siffrorna anges.
En gång din som långt och du kan se DTMF koderna läses korrekt av 2313, o-kommentera det stora blocket av kod på linjer som 118-121, 123-261, och kommentera ut linje 122 att möjliggöra regelbundna funktionalitet.
Linjerna 233-238 innehåller koden du vill körs när en giltig kod in. Port B är helt gratis så för en låg # delsystem kan du bara ha de nästa telefon knapptryckningar aktivera delsystem direkt på porten. Ett annat alternativ skulle vara att ha detta avsnitt Skicka ett seriella kommando ut till antingen en dator eller andra delsystem.
Det finns en lockdown läge för alltför många ogiltiga tecken som skrivs in, jag fallerat det till 2 sekunder för din felsökning men en gång arbetar jag vill uppmuntra upping detta till några minuter eller mer för säkerhet. 320-332 har lockdown koden.
Undra om du har dem och jag ska försöka och förklara den galna stat jag var i medan kodning detta. Det är ganska väl kommenterade dock och bör inte vara alltför svårt att tyda.