blob: 86e4bb0699b7e7adf552f34c72454058760db167 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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);
}
}
|