En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016)) (10 / 11 steg)

Steg 10: Avancerat koden: Beskrivning

Inledningsvis ställer koden in en hel del variabler och konstanter. Den definierar ett antal makro är särskilt för de specifika Remote Switch kommandona. Jag gör det så är det lätt att ändra dem på en plats om du använder olika växlar.

I uppsättning sätter det upp den seriella porten och tid. Därefter läser det EEPROM för RTC modul om på power ON, några lampor eller enheter ska slås på och det gör man. Jag gör det så vid en ström avbrott och omstart, handkontrollen fortfarande inte vet vad som är på och vad.

Loopen kontrollerar seriella porten för indata (från en bluetooth-modul) och vidtar åtgärder om input hittas. Om inte uppdaterar den tiden.
Sedan är vad det gör i princip cykel genom ett antal uttalanden om att se om det är dags för lite action, byta en enhet ON eller OFF
Om en enhet måste vara påslagen, det hoppar till motsvarande subrutin/funktion, skickar den kommando och det uppdateringar på statusflag och skriver att till EEPROM. Den skickar kommando via ett makro som "HuiskamerAAN" (vardagsrum på). Du måste se till att definitionen i makrots motsvarar kommandot som fjärrkontroll växeln behöver.
Ber om ursäkt för att hålla makrot definitioner på nederländska, men jag har redan använt det engelska ordet för funktioner: använder dvs den funktionen "LivingRoomON" makro "HuiskamerAAN". Under makrodefinitioner hittar du exakt vad som är vad på engelska.

Medan det looping, kontrolleras också kontinuerligt om det kanske redan är rätt datum för DaylightSavingstime eller, om det redan DST, oavsett om det är rätt datum för att stänga som.
Det också håller koll på vilket datum det är så att det kan göra en tillnärmning av solnedgång och soluppgång tid. Det slår på ljuset i vardagsrummet ungefär hälften en timme före solnedgången, om inte det är redan mörkt förr (mulen himmel, åska, oavsett) så är det slår på belysningen förr.
Det gör detta genom att läsa en LDR. Du måste ange nivån för det till din egen situation.
DST beräkning och Sunrise tillnärmning, dessa är giltig för min plats (i NW Europa) du behöva anpassa dem för din situation (och kanske du inte har DST)

När det gäller variablerna tid ett samtal som "now.minute()" läser RTC rätt bort.
Men jag låter kretsar ständigt uppdatera variablerna tid så här:

j = now.year();
Mo = now.month();
d = now.day();
h = now.hour();
m = now.minute();
s = now.second();

Det är alltså OK att använda antingen "h" eller "now.hour()" för att få timmen i hela programmet.
Den enda skillnaden är att med hjälp av "h" förmodligen kommer att vara en tadd snabbare än med "now.hour()" utan "h" kan vara en bråkdel av tid bakom. Jag tror att slingan är cyklade om 150 gånger i sekunden så om jag uppdaterar variablerna i början av slingan och använda dem i slutet av slingan, jag kan vara 1/150 th av en andra bakom. Det verkar verkligen inte som ett problem för mig

Se Steg
Relaterade Ämnen

En svävar sfär roterar lyser och blinkar med Arduino

En svävar lite Dödsstjärnan i Instructables bjöd in mig till det nya projektet med Arduino. Tre principer var beslutat och höll för att skilja den från föregångaren.Gör det själv med någon (eller mindre) färdiga.Hålla roterande.Göra glöd och blinka u...

DIY hemsäkerhet och Automation med Raspberry Pi 2

I detta instructable kommer jag detalj mina metoder för att skapa en helt anpassad hem säkerhets- och automationssystem.Detta är ett pågående arbete, och som jag kommer att lägga till det som jag går.För nu kommer jag att ge en uppdelning av målen fö...

Smart Home

Låt användaren för att styra hem från hans eller hennes telefon och tilldela åtgärder som bör hända beroende på tid eller andra sensormätningar som ljus, temperatur eller ljudet från alla enheter i nätverket hemautomation.Steg 1: Vad vi föreslagit: l...

DIY Smart Home Automation med Android

Smart Home Automation Låt användaren för att styra hem från hans eller hennes telefon och tilldela åtgärder som bör hända beroende på tid eller andra sensormätningar som ljus, temperatur eller ljudet från alla enheter i nätverket hemautomation.VAD KA...

Smart Home (model)

Vi lever i modern tid. Internet är på räckhåll för våra händer och smarta enheter är nästan i varje ficka. Den teknik vi har, kan hjälpa oss att:spara mer energi, minska kostnaderna och hålla jorden grön på samma gång,rädda vår tid som vi kan spender...

Autodesk Kina Smart Home Design--färg ljus

Stort tack till alla som hjälpt mig under detta projekt!Jag älskar interaktiva Media Arts!Dokumentation:Utrustning & programvara 3 RGB lysdioderGrove-Digital ljussensorArduino & bearbetningAutodesk Tinkercad (jag använder denna modell redan fanns...

Smart Homer webbaktiverade fjärrkontrollen

Smart Homer, en webbaktiverad TV remote marionettSmart Homer är en webbaktiverad marionett som vänder på din TV när Simpsons är på. Homer är för lat för att surfa på webben själv, kontrollerar ett skript i molnet online TV-programmet för honom. Om Si...

Smart Home Automation med Voice command

Detta är en steg för steg handledning bygga kretsen för "Smarta hem Automation med Voice Command" funktionen.Ladda ner vår gratis Arduino projektkod här.Krav:• Arduino Uno• LED• Resistor (220 ohm)• Bluetooth-modul (BlueSmirf / BlueMate Silver)•...

Tid-av-använda luftkonditionering med en styrenhet för Vera Smart Home

Detta Instructable visar hur att köra ditt hem VVS mindre ofta under "Tid-av-använda" topp timmar och potentiellt skära makt räkningar i halv på extrema dagar. Jag genomfört detta handkontroll VeraLite smarta hem och testade med både Z-Wave och...

Smart Home Automation med Android + Ethernet Internet + Arduino

Hemautomation blir mer och mer populära, prisvärda och fascinerar människor. Internet erbjuder sådana möjligheter som aldrig förr. Imponera på dina vänner visar på Smartphone som du kan växla på/av-lampa i din lägenhet miles bort och samtidigt se det...

Smarta hem med Arduino Ethernet shield och Teleduino (med web app)

Detta projekt är en enkel lösning för dem som vill ha en smart-home system men inte har en stor budget och för lat de som inte vill komma från sängen till släcker belysningen av eller på.Det är också projektera av en high school student för sitt slut...

Arduino-baserad Smart Home IOT System

Hej, jag är Michalis Vasilakis från Ardumotive.com och i handboken Instructables jag visar dig hur du enkelt kan göra din egen smarta hem-system baserat på Arduino uno och en Ethernet-modul (eller sköld).Du kommer att kunna använda detta system från...

Smart Home termostat

Dessa dagar vi hör mycket om Sakernas Internet och hur smartenheter kommer att aktiverat Internet göra coola saker och göra vårt liv bättre. Smarta termostater har möjlighet att spara mycket energi genom att hålla temperaturen i ditt hem stadig, uppv...

Smart Home grenuttag

Smart Home grenuttag är en android och/eller iDevice kontrollerbar plug utlopp. Du kan slå på enskilda marknader genom att tejpa en knapp från dina prylar. Jag tillbringar ca $32 att göra detta projekt.Svårighetsgrad: Medium (grundläggande elektronik...

Arduino-kontrollerade Smart Home

Detta Instructable skrevs av PubNub Evangelist Ian Jennings . Ians historia går igenom hans processen för att bygga en Arduino-kontrollerade smarta hem modell från grunden.--Tillbaka i September, vår grundare Stephen och jag pratade om olika sätt att...

Smart-home Remote Edition (Arduino)

Detta projekt representerar enkel smart hem kan du göra med Arduino. Denna version har två enheter distans ansluten via bluetooth. Masterenheten använder Arduino Mega 2560 och för en slavenhet kan du använda Uno, eller några andra klon med ett TTL(Se...

Smart Home/utrymme Monitor

Om projektet:Artificiell intelligens är framtiden för datoranvändning. Ett system för artificiell intelligens förstår och utför åtgärder på ett intelligent sätt. Mitt projekt syftar till att bygga en konstgjord intelligens hemautomation system som ka...

Enkel Smart Home mätaren

Övervakning av vatten och energiförbrukning är mycket viktigt så att vi kan utveckla strategier för att minska och optimera detta. System som utför denna typ av uppgift redan finns, men den senaste tidens vattenkrisen i São Paulo har orsakat uppmärks...

Smarta hem med arduino och jubito

jubito är en programvara som jag utvecklar jaNETramverk. En smart home server som skapas gränssnitt mellan olika hårdvara (som arduino) och programvarukomponenter, att förmågan att interagera varandra och låt mig tillgång automatiseringar och mer öve...