Arduino kontrollerad RGB LED strip för vardagsrummet (5 / 6 steg)

Steg 5: 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 mer eller mindre begripliga. 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.

En enhet har definierats för LightSequence, dim växeln och fadespeed

#define LEDDev 75
#define LEDDimmDev 76
#define LEDFadeDev 77

Jag tycker det är lättare att skicka kommandon till.

Setup

Inget speciellt nämna. Digitalwrite och den färgen light-up vid slutet av installationen är ett enkelt sätt att se Arduino startat korrekt. Det också ett snabbt sätt att se om alla anslutningar (särskilt till marken) var lödda ok.

Loop

Kontrollerar om vissa data togs emot via FM (mer om detta nedan).

Om uppgifterna säger att byta till en fördefinierad färg, anges att en.

Singel-blink koderna är fördefinierade för. Det finns 7 enda färger gå högt och lågt i upprepade uppsättningar. Repetitioner, pauser mellan blinkar och färger går inte att ändra från openHAB. LED-lampan på full effekt.
Vara medveten om när du testar och belysning med lysdioder i din syn kommer definitivt att leda till huvudvärk!
Dual-blink är mycket lik den enda-blink. Det innehåller bara en "om loop mer".
Både single och dual-blinkar är inte riktigt optimalt för humör som du kanske galen. Så bättre använda dem som alarm lyser (rött för brand, blå för vatten, röd-blå för PIR när ingen hem, etc.), eller interface openHAB med FritzBox och har blinka gult när telefonen ringer, och så vidare.

Den färg våg eller andas ljus är idealisk för stämningen. Dock bara "rena färger" (R, G, B, och 3 mixar + vit) är fint att. Annars måste du göra allvarliga beräkningar på Arduino och färgerna kommer fortfarande inte vara trevligt. För ex. R255, G50, kan inte B100 vara nedtonade fint ner till 0 eftersom siffrorna inte är alla 0 eller 255. Om du börja testa att, du vet vad jag menar.

Den stora vågen med ColorSet = 80 är en modifierad kod av det föregående steget länk. Det har ändrats för att köras i en loop och "samtidigt" (mellan dim-steg mellan fade-fart intervallerna) lyssna på instruktioner från openHAB skickas via FM.

Tolka kommandot

Beroende på vilka värden fick i datapaketet FM, vidtas olika åtgärder.
Enheten 80 är AC relän. Jag är faktiskt inte säker på om det verkligen behövs eftersom om färgen 0.0.0 skickas, lampan förblir mörka. Jag antar att strömförsörjningen använder fortfarande lite makt, och jag känner mig mer rädda att veta AC är avstängd.

Enheten 77 definieras som den FadeSpeed som används i färg vågor. Helt enkelt uppdaterar den variabeln som används då i nästa slinga cykel.

Enheten 76 används för ljusreglering. Det uppdaterar också helt enkelt variabeln som används då i nästa slinga cykel.

Enheten 75 används för att ange LightSequence. Anledningen till att göra det på så sätt var att lätta sekvensen kan väljas med ett 2 siffrigt nummer, medan att välja en färg via color-code skulle bli ganska komplicerat om du sedan vill färger att blekna. Heltäckande färger och blinkar inte ska vara så svårt ändå.
Beroende på ColorSet, är olika variabler som annorlunda.

Att göra i nästa version av Arduino koden:

  • ta bort alla förseningar och ersätta dem med samma logik för intervallen mellan RFM skicka.
  • öka förvalet FadeSpeed till 200 eller så, vilket är en mindre nervös lätt att titta på...
Se Steg
Relaterade Ämnen

RC kontrollerad rgb led strip

Skapa din egen rc kontrollerad led-strip för enskilda rum belysning!De flesta rgb-led-strips styrs av en infraröd fjärrkontroll. För att aktivera det eller inaktivera eller ändra färg, måste du stanna framför mottagaren. Detta är tråkigt och inte rik...

Arduino-kontrollerad RGB LED Infinity Mirror

Uppdatering 11/22/2013: Tack till alla som röstade för det här projektet i Microcontroller Contest! Det var en av tre förstapristagare.Update 9/17/2013: Tack till alla som röstade för det här projektet i Arduino contest (jag var en av tio "andra pris...

Kromatiska temperatur Display - Arduino kontrollerad RGB LED Infinity Mirror

Detta projekt var löst inspirerad av , en väderstation display vars färg är baserad på utomhustemperaturen. Jag hade en rumskompis College som hade en av dessa och det var mycket användbart, i Pittsburgh särskilt, att bara kasta en blick på färgen oc...

WiFi kontrollerad RGB LED Strip

De IR-fjärrkontroller som används för att styra RGB LED strips kan ibland bli irriterande på grund av deras begränsade räckvidd och jakt på fjärrkontrollen när du inte hittar den. Detta enkla, men effektiva projekt kan lösa ett problem genom att kont...

Arduino kontrollerad RGB LED nattlampan

behövs en nattlampa för mina pojkar och ville ha något mer än normala kontakten i. De ville ha en de kunde plocka färg och en som skulle ändra färg.Lätt - en Arduino, RGB LED och vissa PWM!Plocka färg var frågan. Jag bestämde mig på en knapp lösning...

Arduino kontrollerad RGB LED Dot Matrix styrelse

detta projekt är en relativt okomplicerad och enkel DIY musik ombord.Dot Matrix styrelse kommer att tillåta äldre person att skapa egen musik och beats.Allt du måste ha är en förståelse för Arduino och kretsar.Steg 1: Samla delar som behövsHär är en...

Arduino iPhone RGB-Led Strip & Cromalight

Om Cromalight AppCromalight är en iPhone App, i kombination med billig och lätt till setup maskinvara "Arduino shield", kan du ta kontroll över växlar upp till 6 belysning eller apparater hemma, det har också en omgivande färg picker gränssnitt...

ARDUINO kontrollerade 12v RGB LED STRIP

Ungefär ett år sedan upptäckte jag RGB LED strips på Amazon. Att vara strax före starten av musik festivalen säsongen, gick jag naturligtvis direkt att arbeta att göra crazy ljusa blinkande festival leksaker. Icke-adresserbara remsorna är mestadels P...

Smart telefon kontrollerade julgran med RGB LED Strip

eftersom julen är här, vi dekorerade denna julgran med RGB LED Strip för vår julfest, och gjorde det en smart telefon kontrollerade träd. XD. It kommer att säker presentera en "sista minuten" magi för Xmas showen. Julen kommer men fastnat räkna...

Hur man styr en RGB LED Strip - Arduino handledning

I denna tutorial använder vi en remsa med 8 RGB lysdioder med Arduino uno styrelsen. Vi kommer använda den Adafruit NeoPixel bibliotek för att ändra färg på varje ledde.Låt oss komma igång!Steg 1: Vad du behöverFör detta projekt behöver du:Arduino un...

ArduDroid: En enkel 2-sätt Bluetooth-baserade Android Controller för Arduino RGB led strip

INTRODUKTIONFÅ det på google PLAY "ardudroid" appARDUDROID (tidigare Andruino) är en enkel Android app som hjälper dig att kontrollera stiften i Arduino Uno (eller klon) från din Android-telefon trådlöst. Det är både en Android app och en Arduin...

RGB LED Strip krets med Arduino

Detta Instructable omfattar montering av en krets kan PWM-ning (puls bredd modulerande) en 9-12v RGB LED strip och programmering en Arduino att cykla genom en rad olika färger. Jag kommer att diskutera hur man montera en transistor till en kylfläns &...

Arduino RGB LED Strip Controller

Jag var nyfiken på använda RGB LED Strip, så jag fick en och beslöt att göra en liten kontroller för att se vad jag kan göra med den... så här är det.Om du har några frågor, kommentarer, konstruktiv kritik... tveka inte att skriva :)Om du gillar min...

IPhone kontrollerad RGB LED (Arduino)

Detta projekt visar hur du ställer in Arduino med RGB LED och kontrollera den med din iPhone via ditt Wifi-nätverk. Du kan ställa in 15 olika färger + 2 program med iPhone app.URL för kort demovideo:https://Drive.Google.com/Open?ID=0B4_uJI1BOUG5dFpE....

RGB LED Strip Controller

Detta är en fjärrstyrd flerfärgad LED-Strip controller låda jag gjort för en vän. Vi planerade att installera subtil belysning inuti bilen som vi fick en liten controller låda + fjärrkontroll med flerfärgad LED Strips. Olyckligtvis, vi kunde inte öpp...

RGB - Led Strip 12 V kontrolleras av en ATtiny85 med en 125Khz RFID modul

Den grundläggande idén gav mig denna sida RGB-RFID-lampa. Men eftersom jag har en hel del ATtiny85 jag kommer använda denna mikro-controller. För att göra det lättare för mig, testade jag alla del först på en Arduino Uno.Material:1 x RGB – Led strip...

PEX rör hexagoner med RGB LED Strip

Byggd för en scen tillbaka droppe har detta projekt vissa hexagon figurer gjorda av 3/4" PEX rör, liknar en LED hula hoop, några 12 Volt RGB LED strip och en NLED 30 kanal hög nuvarande LED-Controller. PEX hexagoner är nästan Sömlös söker med hjälp a...

IR kontrollerad RGB LED

Detta gör att full RGB kontroll av en RGB LED (ca. 1,6 miljoner färger). Detta är bara ett bevis på konceptet; verkliga applikationer kan vara att ansluta och RGB LED srtip för belysning av ditt rum eller din dator.Reservdelslista:Arduino UNO Rev3RGB...

Everymans enkel WS2801 RGB LED Strip Controller

Syftet med detta instructable är man gör vanliga människor kunna ta kontroll över WS2801 RGB led strips för hem eller butik dekoration med minimal ansträngning. WS2801 ledde remsorna har ett litet chip i varje led och gör att du kan ange varje LED fä...