Puzzle väckarklocka (5 / 9 steg)
Steg 5: Strömförsörjning och IR Controller
1: a bilden i det här steget illustrerar den allmänna layouten för vår väckarklocka elektronik. I Intel Edison styrelsen avsöker valda inställt antal av magneterna med de I2C och PCF8574 DIO förlängare. Detta minskar antalet nödvändiga IO pinnar i Edison styrelsen från 28 (4 x 7) ner till 2 (SDA & SCL). Den använder också den I2C bussen för att skicka kommandon till den ATMega328P som fungerar som en IR-fjärrkontroll.
I princip du kunde också använda Edison styrelsen för att styra IR-LED, men jag stötte några stora problem med de tidssignaler. Till exempel när inställningen IR-pulser till 38 kHz (som anges i protokollet IR remote) via mraa python bindande några konstiga saker hände: jag kunde ange PWM-perioden till 26 mikrosekunder (tyvärr pulsewidth_us funktionen accepterar endast heltalsvärden) vilket motsvarar en frekvens på 38,5 kHz. När du använder funktionen pulsewidth som accepterar flytvärdet Ställ in perioden till 26.3 mikrosekunder, PWM frekvensen råkade 20 Hz och kan inte ändras längre fram när du utför en maskinvaruåterställning. Eftersom det är dessutom mycket svårt att exakt styra den rätta tidpunkten i icke-verklig-tid systemmiljö som Linux bilden i Edison styrelsen, beslutat att delegera den signal generationen till en ATMega328P IC. Denna IC kan köra ett realtidssystem och redan har en mycket trevlig IR remote biblioteket tillgängligt.
ATMega är monterad på en styrelse som också fungerar som en strömadapter för alla komponenter i systemet inklusive talaren (5V, laddas via USB-kontakten på tavlan), Edison styrelsen (9V) och de fyra segment med PCF8574 ICs. Dessutom styrelsen samlar alla I2C signal körfält och fungerar som en samtrafik styrelse för alla komponenter.
Du kan hitta alla nödvändiga EAGLE filer som PDF-filer av scheman att återge makt styrelsen bifogas detta steg. I nästa steg kommer jag visa dig hur man programmerar ATMega328P att agera som en IR-fjärrkontroll.