170 lines
5.2 KiB
Arduino
170 lines
5.2 KiB
Arduino
|
/* LED test program
|
||
|
Alan Marchiori
|
||
|
Bucknell University
|
||
|
tested on Rev1.1 HydroSense Wireless Link board
|
||
|
with PCA9634 on i2c address 0x20
|
||
|
using a TeensyLC MCU on Arduino 1.0.6 (with Teensyduino installed)
|
||
|
The teensy uses the library i2c_t3 for i2c communication
|
||
|
instead of the usual "Wire" library. If using a standard Arduino, you will have
|
||
|
to manually change the inculdes to use Wire. The libraries should be mostly
|
||
|
compatible. (some calls are "enhanced" in the i2c_t3 library, these will have
|
||
|
to be modified appropriately as well).
|
||
|
*/
|
||
|
|
||
|
// set this to the hardware serial port you wish to use
|
||
|
//#define HWSERIAL Serial1
|
||
|
#include <Wire.h>
|
||
|
#include "PCA9634.h"
|
||
|
|
||
|
#define BLUE 3
|
||
|
#define COLD 4
|
||
|
#define WARM 5
|
||
|
#define GREEN 7
|
||
|
#define RED 6
|
||
|
|
||
|
//110 1000
|
||
|
|
||
|
PCA9634 foco1( 0x68 );//0x68
|
||
|
PCA9634 foco2( 0x69 );//0x6A
|
||
|
PCA9634 foco3( 0x6A );//0x6B
|
||
|
PCA9634 foco4( 0x6B );//0x69
|
||
|
PCA9634 foco5( 0x6C );
|
||
|
PCA9634 foco6( 0x6D );
|
||
|
PCA9634 foco7( 0x6E );
|
||
|
PCA9634 foco8( 0x6F );
|
||
|
|
||
|
void test_foco()
|
||
|
{
|
||
|
for(int i=3; i<8; i++)
|
||
|
{
|
||
|
foco1.set_brightness(i, 255);
|
||
|
foco2.set_brightness(i, 255);
|
||
|
foco3.set_brightness(i, 255);
|
||
|
foco4.set_brightness(i, 255);
|
||
|
foco5.set_brightness(i, 255);
|
||
|
foco6.set_brightness(i, 255);
|
||
|
foco7.set_brightness(i, 255);
|
||
|
foco8.set_brightness(i, 255);
|
||
|
delay(1000);
|
||
|
foco1.set_brightness(i, 0);
|
||
|
foco2.set_brightness(i, 0);
|
||
|
foco3.set_brightness(i, 0);
|
||
|
foco4.set_brightness(i, 0);
|
||
|
foco5.set_brightness(i, 0);
|
||
|
foco6.set_brightness(i, 0);
|
||
|
foco7.set_brightness(i, 0);
|
||
|
foco8.set_brightness(i, 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void setup() {
|
||
|
Serial.begin( 115200 );
|
||
|
Wire.begin();
|
||
|
Wire.setClock(100000);
|
||
|
foco1.begin( );
|
||
|
foco2.begin( );
|
||
|
foco3.begin( );
|
||
|
foco4.begin( );
|
||
|
foco5.begin( );
|
||
|
foco6.begin( );
|
||
|
foco7.begin( );
|
||
|
foco8.begin( );
|
||
|
|
||
|
for(int i=0; i<8; i++)
|
||
|
{
|
||
|
foco1.set_brightness(i, 0);
|
||
|
foco2.set_brightness(i, 0);
|
||
|
foco3.set_brightness(i, 0);
|
||
|
foco4.set_brightness(i, 0);
|
||
|
foco5.set_brightness(i, 0);
|
||
|
foco6.set_brightness(i, 0);
|
||
|
foco7.set_brightness(i, 0);
|
||
|
foco8.set_brightness(i, 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
void loop(){
|
||
|
test_foco();
|
||
|
// if (data_ok)
|
||
|
// {
|
||
|
// data_ok = false;
|
||
|
// if (inputString == "PLAY")
|
||
|
// {
|
||
|
// for(int i=0; i<8; i++)
|
||
|
// {
|
||
|
// foco1.set_brightness(i, 0);
|
||
|
// foco2.set_brightness(i, 0);
|
||
|
// foco3.set_brightness(i, 0);
|
||
|
// foco4.set_brightness(i, 0);
|
||
|
// }
|
||
|
// for(int i=0; i<NUM_LEDS; i++)
|
||
|
// strip[i] = CRGB(0,0,255);
|
||
|
// FastLED.show();
|
||
|
// }
|
||
|
// else if (inputString == "STOP")
|
||
|
// {
|
||
|
// for(int i=0; i<8; i++)
|
||
|
// {
|
||
|
// foco1.set_brightness(i, 0);
|
||
|
// foco2.set_brightness(i, 0);
|
||
|
// foco3.set_brightness(i, 0);
|
||
|
// foco4.set_brightness(i, 0);
|
||
|
// }
|
||
|
// for(int i=0; i<NUM_LEDS; i++)
|
||
|
// strip[i] = CRGB(0,0,0);
|
||
|
// FastLED.show();
|
||
|
// }
|
||
|
// else if (inputString == "OPEN")
|
||
|
// {
|
||
|
// open_flor(MAX_SPEED);
|
||
|
// foco1.set_brightness(GREEN, 255);
|
||
|
// foco1.set_brightness(RED, 255);
|
||
|
// foco2.set_brightness(GREEN, 255);
|
||
|
// foco2.set_brightness(RED, 255);
|
||
|
// foco3.set_brightness(GREEN, 255);
|
||
|
// foco3.set_brightness(RED, 255);
|
||
|
// foco4.set_brightness(GREEN, 255);
|
||
|
// foco4.set_brightness(RED, 255);
|
||
|
// for(int i=0; i<NUM_LEDS; i++)
|
||
|
// strip[i] = CRGB(255,0,0);
|
||
|
// FastLED.show();
|
||
|
// }
|
||
|
// else if (inputString == "CLOSE")
|
||
|
// {
|
||
|
// close_flor(MAX_SPEED);
|
||
|
// for(int i=0; i<8; i++)
|
||
|
// {
|
||
|
// foco1.set_brightness(i, 0);
|
||
|
// foco2.set_brightness(i, 0);
|
||
|
// foco3.set_brightness(i, 0);
|
||
|
// foco4.set_brightness(i, 0);
|
||
|
// }
|
||
|
// for(int i=0; i<NUM_LEDS; i++)
|
||
|
// strip[i] = CRGB(0,255,0);
|
||
|
// FastLED.show();
|
||
|
// }
|
||
|
// else if (inputString == "RANDOM")
|
||
|
// {
|
||
|
// close_flor(MAX_SPEED);
|
||
|
// for(int i=0; i<8; i++)
|
||
|
// {
|
||
|
// foco1.set_brightness(i, 0);
|
||
|
// foco2.set_brightness(i, 0);
|
||
|
// foco3.set_brightness(i, 0);
|
||
|
// foco4.set_brightness(i, 0);
|
||
|
// }
|
||
|
// for(int i=0; i<LED_STRIP; i++)
|
||
|
// {
|
||
|
// strip[i] = CRGB(255,255,0);
|
||
|
// strip[i + LED_STRIP] = CRGB(255,255,0);
|
||
|
// strip[i + 2*LED_STRIP] = CRGB(255,255,0);
|
||
|
// strip[i + 3*LED_STRIP] = CRGB(255,255,0);
|
||
|
// strip[i + 4*LED_STRIP] = CRGB(255,255,0);
|
||
|
// FastLED.show();
|
||
|
// delay(100);
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
}
|