Kaffe timer och radio, Arduino, Logitech Harmony och openHAB (2 / 3 steg)

Steg 2: Arduino kod

Initiering

Endast WDT (WatchDogTimer) och RFM biblioteken ingår. WDT används om Arduino hänger någonstans och med WDT det skulle återställa av sig själv. Men med denna box, Arduino aldrig förlorade sig förrän nu.

Koden är kopplad och bör vara ganska rakt fram. Det förutsätts att du vet att saker åtminstone till hälften läsa den.
Arduino koden kanske bekant ut som det har kopierat från olika källor, ändrat och sätta ihop.

Inte får alltför kräsen på NodeID; hålla det 2 siffror eftersom du förmodligen inte kommer att ha mer än 90 noder i ditt hus. Inte ändra antalet siffror eller du kommer att behöva ändra det praktiskt taget överallt senare.
Definiera frekvensbandet som ges av modulen du köpt. ChannelFreq kan behöva justeras till standard där du bor; numret är i Hertz.

RFM69
#define NODEID 21 //unique för varje nod på samma nätverk golv & rum & nod #= X och XX & X
#define NETWORKID 666 //the samma på alla noder som pratar med varandra
#define GATEWAYID 1
#define frekvens RF69_433MHZ
#define ENCRYPTKEY "1234567890ABCDEF" //exactly de samma 16 tecken/byte på alla noder!
#define ChannelFreq 434520000

Meddelandestruktur måste vara samma i hela nätverket

TypeDef struct {/ / Radio paketformat
int nodeID; nod-ID
int devID; enhets-ID
int cmd; Läs eller skriv
lång intVal; heltal nyttolast
float fltVal; flytande nyttolast
char nyttolast [32]; sträng nyttolast
}-Meddelande.

Knapparna var inte direkt kopplad till de 3.3V, men till Arduino data stift så de kunde kopplas på och av som önskat.
Det finns även många variabler att lagra tidsstämplar, status och tidigare-status av knappar.

Setup


Uppenbarligen pin-lägena är "out" för makt och "i" för-knappen-press. Knappar blinkar visar att installationsfasen slutförts då de passerar in i sitt normala tillstånd.

Loop

Arduinoen kontrollerar först om det fick ett kommando från OH-servern. Kommandot analyseras utanför loop-koden.
Sedan status för knapparna är läsa om status ändrats sedan den senaste iterationen. Observera att inget skickas förrän nu.
Beroende på status för knapparna, relä öppnar eller stänger växla kaffemaskinen på eller av.
Efter att ändra knappen färger beroende på deras tillstånd. Det gjorde mer meningsfullt för mig att göra det så istället för att ändra dem direkt under knappen-Läs-status.
Nära slutet av slingan är status för reläet skickas tillbaka till OH server samt status på den blå knappen. Röda och gröna status inte skickas tillbaka som de kontrolleras av status för reläet
Signal styrkan (RSSI) skickas till OH-server för att få veta signalstyrkan för båda riktningarna: från och till RFM gateway.
Observera att det finns en buffert tid "StateChangeInterv" i koden. Detta är skrivet för roliga killar som kommer till ditt hem att se efter hur många gånger/på byta säkringen kommer att blåsa, eller kaffemaskinen gå upp i rök... Variabeln (här in 2,5 sek) förhindrar en förändring av status för 2,5 sekunder. Maskinen kan därför växla endast efter variabeln senare. och människor kommer att förlora intresse mycket snabbt...

BlueBlink initieras endast av OH servern 30 minuter innan maskinen är tänkt för att stänga av. Genom att trycka på den blå blinkande knappen, den ändras till en gammal blå och switch off tid är tänkt för att gå till nästa 00 eller 30 minuter över. Naturligtvis 30 minuter före avstängning, blinkandet återkommer.

Se Steg
Relaterade Ämnen

Dubbla kaffe Timer: OLED & Arduino

Dra en perfekt kaffe kräver sträng kontroll av ett antal variabler. Kvarnen fördelar en fast dos av rätt grind till en Portafiltret korg. Portafiltret passar in i kaffemaskinen och maskinen körs. Om allt är väl bör det finnas ska en paus på fyra seku...

3 x 3 x 3 ledde kuben med en 555 timer och en 4020 SKIFT array IC - ingen programmering (för fullständiga nybörjare som jag själv)

se en video av en 8 x 8 x 8 led cube på you-tube, ledde mig till instructables webbplats för första gången, nu jag hooked. Dock hade jag eller ska jag säga har ett grundläggande problem absolut ingen erfarenhet eller kunskap om elektronik. Så är jag...

En 3 x 3 x 3 ledde kub för absoluta nybörjare med en 555 timer och 4020 IC - nr programmering

se en video av en 8 x 8 x 8 led cube på you-tube, ledde mig till instructables webbplats för första gången, nu jag hooked. Dock hade jag eller ska jag säga har ett grundläggande problem absolut ingen erfarenhet eller kunskap om elektronik. Så är jag...

AC powerstrip med Arduino kontrollerade AC/DC reläer och openHAB

Vänligen inte skruva runt powerstrip när den är ansluten till AC!Detta instructable förutsätter att du vet vad du gör på AC!Se också till att använda oskadade kablar som inte är för lång eller för kort.Denna powerstrip är en del av hem-automation pro...

555 timer och LED reparation för uppblåsbara

Min fru köpte denna uppblåsbara gräsmatta utsmyckning förra året, men tyvärr förra årets stränga vintern var för mycket för den. Snögubbar arbetade alla julen men när det var dags att sätta dekorationer bort, vi hade snöstorm efter snöstorm och jag i...

Skapa en blinkande lampor krets med en 555 timer och ett relä

jag kommer till dig hur man gör en alternerande pulserande krets (med 555 timer) att köra ett relä.Du kanske kan köra 120vac ljus beroende på reläet.Det inte alternativa så bra med små kondensator (jag kommer att förklara senare).Steg 1: Vad du behöv...

Lampa med off timer och dimmer

detta är en av de mest grundläggande 555 kretsarna. Denna krets är en del av denna chips datablad, komplett med matematik krävs för att utforma-specifikationen, och är en av anledningarna till en 555 benämns som en timer.Detta är en monostable krets,...

Ladugårdsdörren Kite av Tim och Wil

Idag vi kommer att skapa en modifierad ladugårdsdörr drake, Följ instruktionen i detta Instructable och du bör avsluta ut med något som ser ut som bilden ovan (med undantag av färg och storlek. Vi skapade detta för våra KIte enhet i Mr Skinners proje...

Kök ljuskrona. Kaffe koppar och silver.

Fyra koppar limmade till träram och sked facklor hängande i den. Jag trodde att köket är den plats du äter och dricker, så varför använda annat material för ett blixtnedslag projekt. How about en kopp varm, glödande latte?:)[Spela Video]Steg 1: Allt...

En helautomatisk kaffe bean Kafferostningsföretagen (Arduino)

jag fick in i världen av Arduino när två vänner informerade mig om denna lilla enhet självständigt från varandra. Jag läste om det och såldes omedelbart. Tänk om jag hade det så många år sedan, hur mycket skulle jag ha uppfunnit redan, vad skulle jag...

Smart grenuttag baserat på Beaglebone Black och OpenHAB

!!!!! Spela med elnätet (110/220V) är farliga, vänligen vara väldigt väldigt försiktig!Det finns vissa befintliga smart power strip designer baserad på "Raspberry Pi" och två Arduinos, vilket visas i bilden "Gamla design".Den nya desig...

Styra Radio Arduino bil via webb-skärm

Detta är min första Arduino prototyper. Jag skulle vilja skapa ett rörligt objekt som kan kontrolleras via radio. Bilen består av Tamiya Kits och XBee.Webbsida för att kontrollera bilen är skriven med Node.js och Socket.IO.Steg 1: System arkitekturen...

Hur du använder modulen TEA5767 FM-Radio - Arduino handledning

I denna tutorial får du lära dig att använda modulen TEA5767 FM-radio med Arduino uno ombord. Dessa moduler använder I2C och finns tillgängliga på eBay för bara några dollar. Den har två 3,5 mm jack utgångar, en för antennkabel och en för hörlurarna....

Kitchen Timer med en Arduino

Om du gillar matlagning och har för vana att lämna gasspis på för länge, kan detta vara ett allvarligt problem eftersom ingen gillar bränd mat. För att lösa detta problem ska jag visa dig hur man bygger ditt eget kök trimmer som drivs av en Arduino.D...

Åtkomst till enheter som är anslutna till routern från avlägsen plats (med Pi och OpenHab)

Antar att om du vill komma åt din IP kamera eller andra enheter från fjärr-URL använda openHAB följa följande steg.Steg 1: Steg 1:Register i No-IP.com Gå till no-ip.com och skapa ett konto där, eller annars kan du använda liknande tjänster till no-ip...

Intertechno LAN Gateway ITGW-433 och OpenHAB

För mig, OpenHAB plugin CULIntertechno inte fungerade som det ska för att skicka meddelanden till Intertechno LAN gateway ITGW-433 till fjärr byta vägguttag PAR-1500. För att jag behövde gå en annan väg.IP-adressJag fann att det är obligatoriskt att...

Raspberry Pi och Arduino: bygga tillförlitliga system med WatchDog timer

Sammanfattning: I detta Instructable titta vi på hur man bygger mer tillförlitliga datorsystem med WatchDog timer. Vi visar hur du ställer in och använder Raspberry Pi och Arduino inre watchdog timer. Vi förklarar också varför en extern WatchDog Time...

Billig och smidig MP3 Shield för Arduino

Detta är en uppföljning till en tidigare Instructable för att fästa modet i en billig klipp MP3-spelare till en Arduino.Den tidigare Instuctable visade hur man använder Arduino för att styra alla funktioner för MP3-spelaren: volymökning och minskning...

MRETV - Video, ljud och mycket mer från en standard Arduino!

MRETV - Video, ljud och mycket mer från en standard Arduino!Nu uppdaterad för Arduino 1.6.6 November 2015!Använd endast två resistorer och två dioder för att generera full skärm video. Text 47 x 29 8 x 8 tecken, dubbla vertikala upplösningen (47 x 57...