Baserade Arduino House värmare Controler med SMS användargränssnitt (2 / 8 steg)
Steg 2: översikt
Allt styrs av ATMega på en Freeduino ombord. Som RAM utrymme är ganska begränsad (det sammanställer till 30602 30720 tillgängliga byte) valde jag att göra användning av den ena sladden bussen för båda DS18B20 temperaturgivare och till effekt att hålla via ett DS2417 chip. Denna enhet räknas bara sekunder, så jag la ett litet bibliotek modellerad efter DS1307 funktionaliteten för tidtagning och kalendern fungerar. Oavsett denna inställning är mer ekonomisk ram jämfört med en kombination av DS18B20 och DS1307. Den tid chipet buffras av ett CR3202 batteri, som kommer att fortsätta fungera i händelse av strömavbrott.
ATMega kommunicerar till GSM modem via RS232 (korsade par kabel). På maskinvarusidan jag därför anställd en Freeduino med RS232 gränssnitt ombord, som undviker ytterligare drivrutiner hårdvara. Modemet är kontrollerad av ett bibliotek som gör det möjligt för en enkel användning av dess AT command set, grundläggande text parsing kapacitet samt SMS och inkommande samtalshantering. Telefonnummer för upp till 5 användare hanteras av en telefonbok bibliotek.
Användargränssnittet består av en 3 knappen tangentbord för menynavigering (upp/in/ner) samt antal/datainmatning och en 20 x 4 LCD-display. Som jag ville ha data läsas på avstånd, valde jag en display med stora 9mm bokstäver och bakgrundsbelysning. Du kan använda mindre skärmar och också 16 x 4 eller mindre storlekar (modifiera växlarna kompilatorn i skissen). Tangentbord och display styrs av de uC digital I/O pins via en modifierad Arduino flytande kristall standardbiblioteket (anpassad för att driva både 20 x 4 och 16 x 4 skärmar) och ett bibliotek för menynavigering och händelsehantering.
ATMega styr pannan via en liten 5V relä och dess drivrutin för transistor som klarar upp till 220V på låga strömmar. Detta är vanligtvis tillräckligt för att köra pannan på/av kontakter. Programvarukomponenter för värmare kontroll är en controller bibliotek hantering av börvärden, minim körtid och temperaturgränser, en alert bibliotek som används för att kommunicera varningsmeddelanden samt ett bibliotek som tillhandahåller funktionalitet för temperatur profiler och deras förvaltning.
Alla data (1wire buss adresser, värmare kontrollparametrar och staten samt telefonbok inställningar etc.) lagras i icke-flyktiga EEPROM som skydd mot power förluster.
All elektronik är placerade på en anpassad sköld, som är staplade på Freeduino. Anpassade sköld också innehåller sockets för LCD och har sin kontrast trimmer och bakgrundsbelysning driver.
En temperaturgivare är direkt ansluten till skölden för insidan temperatur, en sekund för att mäta utomhustemperaturen kan också anslutas med en 3-ledarkabel. Power tillhandahålls av en 12V 2A leverans.