diff options
Diffstat (limited to 'digital-controller')
-rw-r--r-- | digital-controller/controller.kicad_pcb | 1 | ||||
-rw-r--r-- | digital-controller/controller.pro | 33 | ||||
-rw-r--r-- | digital-controller/controller.sch | 4 | ||||
-rw-r--r-- | digital-controller/firmware/firmware.ino | 36 |
4 files changed, 74 insertions, 0 deletions
diff --git a/digital-controller/controller.kicad_pcb b/digital-controller/controller.kicad_pcb new file mode 100644 index 0000000..02c8ecb --- /dev/null +++ b/digital-controller/controller.kicad_pcb @@ -0,0 +1 @@ +(kicad_pcb (version 4) (host kicad "dummy file") ) diff --git a/digital-controller/controller.pro b/digital-controller/controller.pro new file mode 100644 index 0000000..152769c --- /dev/null +++ b/digital-controller/controller.pro @@ -0,0 +1,33 @@ +update=22/05/2015 07:44:53 +version=1 +last_client=kicad +[general] +version=1 +RootSch= +BoardNm= +[pcbnew] +version=1 +LastNetListRead= +UseCmpFile=1 +PadDrill=0.600000000000 +PadDrillOvalY=0.600000000000 +PadSizeH=1.500000000000 +PadSizeV=1.500000000000 +PcbTextSizeV=1.500000000000 +PcbTextSizeH=1.500000000000 +PcbTextThickness=0.300000000000 +ModuleTextSizeV=1.000000000000 +ModuleTextSizeH=1.000000000000 +ModuleTextSizeThickness=0.150000000000 +SolderMaskClearance=0.000000000000 +SolderMaskMinWidth=0.000000000000 +DrawSegmentWidth=0.200000000000 +BoardOutlineThickness=0.100000000000 +ModuleOutlineThickness=0.150000000000 +[cvpcb] +version=1 +NetIExt=net +[eeschema] +version=1 +LibDir= +[eeschema/libraries] diff --git a/digital-controller/controller.sch b/digital-controller/controller.sch new file mode 100644 index 0000000..fff8c68 --- /dev/null +++ b/digital-controller/controller.sch @@ -0,0 +1,4 @@ +EESchema Schematic File Version 2 +EELAYER 25 0 +EELAYER END +$EndSCHEMATC diff --git a/digital-controller/firmware/firmware.ino b/digital-controller/firmware/firmware.ino new file mode 100644 index 0000000..86e4bb0 --- /dev/null +++ b/digital-controller/firmware/firmware.ino @@ -0,0 +1,36 @@ +#include <Wire.h> + +#define I2C_SLAVE_ADDR 0x26 // I2C slave address (38, 0x26) + +void setup() +{ + // init the Wire object + Wire.begin(); + + // wait for slave to finish any init sequence + delay(2000); +} + +void loop() +{ + for( int a=10; a<=255; a++ ){ + //generate buffer containing data to send via I2C + uint8_t buf[1]; + buf[0] = 255-a; // adjusting this byte changes fan speed. Can be adjusted from 0 to 256. + buf[1] = a; // adjusting this byte changes LED intensity. Can be adjusted from 0 to 256. + + // send buffer + Wire.beginTransmission(I2C_SLAVE_ADDR); + Wire.write(buf, 2); + Wire.endTransmission(); + + // delay 20 milliseconds to accomodate slave onReceive() + delay(20); + + /////////////////////// WHY DO I NEED THIS PART?////////////////////////// + Wire.requestFrom(I2C_SLAVE_ADDR, 1); + + // delay 1 second so user can watch results + delay(50); + } +} |