From a56df061616410b49e5bc83a844d1867f398ae25 Mon Sep 17 00:00:00 2001 From: Philip Lampkin Date: Sat, 24 Apr 2021 12:44:20 -0500 Subject: terminology updates --- .../arduino-uno-controller/firmware/firmware.ino | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 digital-controller/arduino-uno-controller/firmware/firmware.ino (limited to 'digital-controller/arduino-uno-controller/firmware') diff --git a/digital-controller/arduino-uno-controller/firmware/firmware.ino b/digital-controller/arduino-uno-controller/firmware/firmware.ino new file mode 100644 index 0000000..e87db8d --- /dev/null +++ b/digital-controller/arduino-uno-controller/firmware/firmware.ino @@ -0,0 +1,41 @@ +#include + +#define I2C_SLAVE_ADDR 0x26 // I2C slave address (38, 0x26) + +void setup() +{ + pinMode(A4, OUTPUT); + pinMode(A5, OUTPUT); + // init the Wire object + Wire.begin(); + + // wait for slave to finish any init sequence + delay(2000); + + Serial.begin(9600); +} + +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. + Serial.println(int(buf)); + + // 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); + } +} -- cgit v1.2.3