aboutsummaryrefslogtreecommitdiff
path: root/digital-controller
diff options
context:
space:
mode:
authorPhilip Lampkin <plampkin@chem.wisc.edu>2021-03-01 14:52:25 -0600
committerPhilip Lampkin <plampkin@chem.wisc.edu>2021-03-01 14:52:25 -0600
commitc638cb47f8a4c173f8f226ea4ba85c6ec08bdec1 (patch)
tree8fc5a635c722e0206647a3a0d8d4e259264aa6e8 /digital-controller
parent6c3a55f379230d190a1b9030dea27fb8b08b3cbf (diff)
parentb6f7e9ed64c93ef06c50291cedadb73c1b1fd1dc (diff)
philip march first
Diffstat (limited to 'digital-controller')
-rw-r--r--digital-controller/controller.kicad_pcb1
-rw-r--r--digital-controller/controller.pro33
-rw-r--r--digital-controller/controller.sch4
-rw-r--r--digital-controller/firmware/firmware.ino36
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);
+ }
+}