Arduino controlled RGB LED-strip in de woonkamer (5 / 6 stap)

Stap 5: Arduino code

Initialisatie

Alleen de WDT (WatchDogTimer) en de RFM bibliotheken inbegrepen zijn. De WDT wordt gebruikt in het geval de Arduino hang ergens en met de WDT op beginstand vanzelf zetten zou. Echter met deze box, de Arduino verloor nooit zelf tot nu.

De code is gekoppeld en moet min of meer begrijpelijk. Er wordt verondersteld dat u weet dat spul ten minste tot halverwege het lezen. De Arduino code uitzien vertrouwd zoals het is gekopieerd uit verschillende bronnen, bewerkt en samen te stellen.

Snap het niet al te kieskeurig op de NodeID; Houd het 2 cijfers aangezien u waarschijnlijk niet meer dan 90 knooppunten in uw huis hoeft. Het aantal cijfers niet wijzigen, of u zult moeten veranderen vrijwel overal later.
Definieer de frequentieband zoals gegeven door de module die u hebt gekocht. De ChannelFreq moet mogelijk worden aangepast aan de normen waar u woont; het nummer is in Hertz.

 // RFM69#define NODEID 21 //unique for each node on same network Floor&Room&Node#=X&XX&X #define NETWORKID 666 //the same on all nodes that talk to each other #define GATEWAYID 1#define FREQUENCY RF69_433MHZ#define ENCRYPTKEY "1234567890ABCDEF" //exactly the same 16 characters/bytes on all nodes! #define ChannelFreq 434520000 

De berichtenstructuur heeft hetzelfde in het hele netwerk

 typedef struct { // Radio packet format int nodeID; // node identifier int devID; // device identifier int cmd; // read or write long intVal; // integer payload float fltVal; // floating payload char payLoad[32]; // string payload } Message; 

Een apparaat is gedefinieerd voor de LightSequence, de dim schakeloptie en de fadespeed

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

Ik denk dat het is makkelijker om opdrachten aan te sturen.

Setup

Niets bijzonders is te vermelden. De digitalwrite en de kleur licht aan het einde van de installatie is een gemakkelijke manier om te zien de Arduino correct opgestart. Het ook een snelle manier om te zien als alle verbindingen (met name met grond) ok werden gesoldeerd.

Loop

Er wordt gecontroleerd of bepaalde gegevens is ontvangen via FM (meer op dat hieronder).

Als de ontvangen gegevens zegt overstappen naar een vooraf gedefinieerde effen kleur, is dat ingesteld.

De single-blink-codes worden vooraf te gedefinieerd. Er zijn 7 enkele kleuren te gaan hoog en laag in herhaalde sets. Het wordt herhaald, pauzes tussen knippert en kleuren kunnen niet worden gewijzigd van openHAB. De LED licht op volle kracht.
Let erop bij het testen en verlichting met de LED's in je gezicht zal zeker leiden tot hoofdpijn!
Het dual-knipperen is zeer vergelijkbaar met de single-knipperen. Daarin gewoon een "als lus meer".
Beide single en dual-knippert zijn niet echt optimaal is voor de stemming, zoals je misschien gek. Dus beter gebruik ze als alarm lichten (rood voor brand, blauw voor water, rood-blauw voor PIR verrekening wanneer er niemand thuis, enz.), of interface openHAB met de FritzBox en hebben knipperen geel wanneer de telefoon ring, enzovoort.

De kleur Golf of ademhaling licht is ideaal voor de stemming. Echter alleen "zuivere kleuren" (R, G, B, en de 3 mixen + wit) zijn mooi te worden zwaaide. Anders heb je ernstige berekeningen uitvoeren op de Arduino en de kleuren zal nog steeds niet leuk. Voor ex. R255, G50, kunnen niet B100 worden gedimd mooi neer aan 0 omdat de nummers niet alle 0 of 255 zijn... Als u beginnen met het testen dat u zult weten wat ik bedoel.

De grote golf met ColorSet = 80 is een gewijzigde code van de vorige stap link. Het is gewijzigd om te worden uitgevoerd in een lus en "tegelijkertijd het" (tussen dim-stappen tussen de intervallen fade-snelheid) luisteren naar instructies van openHAB verzonden via FM.

Opdracht parseren

Afhankelijk van de waarden in het FM-gegevenspakket ontvangen, worden verschillende acties genomen.
Apparaat 80 is de AC-estafette. Eigenlijk ben ik niet zeker als het echt nodig want als de kleur 0.0.0* wordt verzonden, de LED donker blijft. Ik denk dat de voeding gebruikt nog steeds een beetje macht, en ik voel me meer opslaan weten dat de AC is uitgeschakeld.

Apparaat 77 wordt gedefinieerd als de FadeSpeed gebruikt in de golven van de kleur. Het werkt gewoon de variabele die vervolgens in de volgende cyclus van de lus gebruikt wordt.

Apparaat 76 wordt gebruikt voor het dimmen. Het werkt ook gewoon de variabele die vervolgens in de volgende cyclus van de lus gebruikt wordt.

Apparaat 75 wordt gebruikt voor het instellen van de LightSequence. De reden voor het doen op die manier was dat de lichte reeks kan worden gekozen met een getal van 2 cijfers, terwijl het kiezen van een kleur via color-code zou heel ingewikkeld geworden wilt u vervolgens de kleur te vervagen. Effen kleuren en knippert moet niet zo moeilijk hoor.
Afhankelijk van de ColorSet, zijn de verschillende variabelen anders ingesteld.

Te doen in de volgende versie van de Arduino-code:

  • Verwijder alle vertragingen en vervang ze met dezelfde logica voor de intervallen tussen de RFM verzenden.
  • Verhoog de standaardinstelling FadeSpeed tot 200 of zo, die is een minder nerveus licht om naar te kijken...

Gerelateerde Artikelen

WiFi Controlled RGB LED-Strip

WiFi Controlled RGB LED-Strip

Soms kunnen die IR-afstandsbedieningen gebruikt om te bepalen van de RGB LED strips worden irriterend als gevolg van hun beperkt bereik en jacht voor de afstandsbediening wanneer u kan niet het vinden. Dit eenvoudige, maar effectieve project kan een
Arduino-controlled RGB LED Infinity spiegel

Arduino-controlled RGB LED Infinity spiegel

Update 11/22/2013: dank aan iedereen die gestemd voor dit project in de Microcontroller-wedstrijd! Het was een van de drie winnaars van de eerste-prijs.9/17/2013 update: dank aan iedereen die gestemd voor dit project in de wedstrijd van de Arduino (i
Arduino controlled RGB LED nachtlampje

Arduino controlled RGB LED nachtlampje

een nachtlampje voor mijn jongens nodig en wilde iets meer dan de normale stekker in. Ze wilden een die zij kon het plukken van de kleur van en een die kleur zou veranderen.Easy - sommige PWM, een Arduino en RGB LED!Kiezen van de kleur was de kwestie
Arduino Controlled RGB LED Dot Matrix bord

Arduino Controlled RGB LED Dot Matrix bord

dit project is een relatief eenvoudig en simpel DIY muziek-board.De Dot Matrix bord kan elke ouder persoon maken hun eigen muziek en beats.Allen u moet hebben is een goed begrip van de Arduino en circuits.Stap 1: Verzamel onderdelen die nodig zijnHie
Arduino iPhone RGB-Led Strip & Cromalight

Arduino iPhone RGB-Led Strip & Cromalight

Over Cromalight AppCromalight is een iPhone App, gecombineerd met goedkope en gebruiksvriendelijke installatie hardware "Arduino schild", Hiermee kunt u overschakelen van maximaal 6 lichten of huistoestellen kan overnemen, maar heeft ook een amb
Rijden van RGB LED strips uit een Arduino

Rijden van RGB LED strips uit een Arduino

Kerstmis komt eraan en je kunt je afvragen hoe het kleurrijke en helder met een Arduino en een RGB LED strip te maken. Tenminste, was dat precies wat ik deed een jaar geleden en was niet kundig voor vondst geen duidelijke en eenvoudige instructies ov
IPhone Controlled RGB LED (Arduino)

IPhone Controlled RGB LED (Arduino)

Dit project toont je hoe om te zetten van de Arduino met een RGB LED en controle met je iPhone via uw Wifi-netwerk. Bent u in staat te stellen van 15 verschillende kleuren + 2 programma's met de iPhone app.URL voor korte demo video:https://drive.Goog
ARDUINO gecontroleerd 12v RGB LED-STRIP

ARDUINO gecontroleerd 12v RGB LED-STRIP

Ongeveer een jaar geleden ontdekte ik dat RGB LED strips op Amazon. Als net voor de start van het festivalseizoen muziek, ging ik natuurlijk meteen naar werk maken van gekke helder knipperende festival speelgoed. De niet-adresseerbare strips wordt me
Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

Hoe u kunt besturen een RGB LED Strip - Arduino tutorial Arduino Tutorial

In deze tutorial zullen we een strip gebruiken met 8 RGB-LEDs met de Arduino uno board. Wij zullen van de Adafruit NeoPixel library gebruiken om de kleur van elk geleid.Laten we beginnen!Stap 1: Wat moet jeVoor dit project zal u het volgende nodig:Ar
RGB LED Strip Circuit met Arduino

RGB LED Strip Circuit met Arduino

Dit Instructable heeft betrekking op de vergadering van een circuit PWM-ing (pulse breedte modulerende) staat een 9-12v RGB LED-strip en programmeren van een Arduino aan cyclus door een scala aan kleuren. Ik zal bespreken hoe te monteren een transist
Arduino RGB LED Strip Controller

Arduino RGB LED Strip Controller

Ik was nieuwsgierig over het gebruik van RGB LED-Strip, dus ik heb er een en besloot te doen een beetje controller om te zien wat ik kan doen met hetâ €¦ zo hier het is.Hebt u vragen, opmerkingen, opbouwende kritiek... Aarzel niet om te schrijven :)A
ArduDroid: Een eenvoudige 2 Way Bluetooth-gebaseerde Android Controller voor Arduino RGB led strip

ArduDroid: Een eenvoudige 2 Way Bluetooth-gebaseerde Android Controller voor Arduino RGB led strip

INTRODUCTIEGET IT ON google PLAY "ardudroid" appARDUDROID (voorheen Andruino) is een eenvoudige Android app om u te helpen bepalen de pinnen van uw Arduino Uno (of klonen) van uw Android telefoon draadloos. Het is zowel een Android app en een Ar
IR controlled RGB LED

IR controlled RGB LED

Hierdoor zal de volledige RGB-controle over een RGB LED (ca. 1,6 miljoen kleuren). Dit is slechts een proof of concept; echte applicaties zou aansluiten en RGB LED srtip voor de verlichting van uw kamer of uw PC.Onderdelenlijst:Arduino UNO Rev3RGB LE
RGB - Led Strip 12 V gecontroleerd door een ATtiny85 met een 125Khz RFID-Module

RGB - Led Strip 12 V gecontroleerd door een ATtiny85 met een 125Khz RFID-Module

Het basisidee gaf me deze kant van de RGB-RFID-Lamp. Maar daar heb ik veel ATtiny85 ik zal gebruik maken van deze micro-controller. Om het gemakkelijker voor mij, testte ik alle deel eerst op een Arduino Uno.Materiaal:1 x RGB – 12 V Led-strip1 x ATti