Lab_interaccio/2019/Jardi_Mecanic/Test_focos/Test_focos.ino
2025-02-25 21:29:42 +01:00

170 lines
5.2 KiB
C++

/* 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);
// }
// }
// }
}