1
0
Fork 0
Go to file
Gottfried Mayer c9de273809 updated readme file 2015-11-10 17:17:53 +01:00
.gitattributes first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
.gitignore first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
BrightnessMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
EepromMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
Effect_Fade.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
Effect_PowerOff.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
LEDColorMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
ModeMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
README.md updated readme file 2015-11-10 17:17:53 +01:00
SpeedMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
gmaLightstripBedLight.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00
nRFMgt.ino first version of multi-lightstrip bedroom lights 2015-11-10 17:06:10 +01:00

README.md

#gmaLightstripBedLight © 2015 by Gottfried Mayer http://www.gma.name

##Overview Arduino project with three LED strips that can be controlled individually. The LED strips all have built-in WS2811 controller chips per LED. (Remote) Control possibility with nRF24L01+ RF chip by gmaLightstripNetGateway (LAN to nRF24L01+) (Local) Control interface with MPR121 touch sensor (12 possible "buttons" to interact)

##Control Schema Control schema works like this:

           [Bedroom Light]
            [nRF24L01+]
   
     [2.4GHz wireless transmission]
     
             [nRF24L01+]
       [gmaLightstripNetGateway]
             [LAN cable]
             
              [Network]
              
    [Laptop/Smartphone/Tablet/...]
              [Browser]

##gmaRGBLight.h The missing file gmaRGBLight.h contains all relevant configuration data. Here is an example of this file:

[example gmaRGBLight.h]

#ifndef GMARGBLIGHT_H
#define GMARGBLIGHT_H

#include <Arduino.h>
// !!IMPORTANT!!  -  all reading pipes must share the first 32bits of pipe address (so only the last two digits can be different!!)
#define RF_NORDIC_PIPE         0xA4A4A4A4A4LL // nordic fob read pipe
#define RF_GW_TO_BEDLIGHT_PIPE 0xA4A4A4A401LL // Gateway ==> Bedroom lights
#define RF_BEDLIGHT_TO_GW_PIPE 0xA4A4A4A402LL // Bedroom lights ==> Gateway

#define RF_GW_TO_LIVLIGHT_PIPE 0xA4A4A4A411LL // Gateway ==> Livingroom lights
#define RF_LIVLIGHT_TO_GW_PIPE 0xA4A4A4A412LL // Livingroom lights ==> Gateway


struct rf_nordic_payload_t {
  uint8_t buttons;
  uint16_t id;
  uint8_t empty;
};

struct rf_rgblight_payload_t {
  uint8_t command;
  union {         // union puts two variables in one place ([value] is a synonym for [r])
    uint8_t r;
    uint8_t value;
  };
  uint8_t g;
  uint8_t b;
};

// ethercard stuff
// mac address of ethernet (unique to LAN!)
#define ETHR_LGW_MAC {0x12,0x34,0x12,0x34,0x12,0x34}
// IP Address of Light Gateway (this is the ip to call with jquery)
#define ETHR_LGW_IP  {192,168,1,80}
// Gateway IP Address (Router IP, theoretically not needed...)
#define ETHR_LGW_GW  {192,168,1,254}

#endif

##Schematic TODO

##Hardware Arduino micro (using Atmega32u4 proc) 2 x 1m LED Strips (144LEDs/m) with WS2812b controller for LEFT and RIGHT 1 x 2m LED Strip (60LEDs/m) with WS2812b controller for CENTER nRF24L01+ RF Module 3v3 voltage regulator for nRF24 module.

##Prerequisites Uses FastLED library by Daniel Garcia and Mark Kriegsman to control the LED strips https://github.com/FastLED/FastLED Make sure you have the latest and greatest version of this library!

Uses RF24 library by maniacbug to manage nRF24L01+ radio https://github.com/maniacbug/RF24

Uses EepromAnything (EepromAnything.h) by ?? to handle writing to and reading from EEPROM http://playground.arduino.cc/Code/EEPROMWriteAnything