int DataPin = 11; //pin 11 DataIn
int ClockPin = 12; //pin 12 CLK
int LatchPIN = 8; //pin 8 LOAD/CS
int POT1 = A0; //A0 fotoresistencia
int t1, pos = 0;
int Leds[16] = {1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65531};
byte parte1, parte2;
// iniciamos las variables y se define entradas y salidas
void setup() {
pinMode(POT1, INPUT);
pinMode(LatchPIN, OUTPUT);
pinMode(DataPin, OUTPUT);
pinMode(ClockPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
t1 = analogRead(POT1);
pos = map(t1, 0, 700, 0, 15) % 15;
envio();
}
void envio() {
parte1 = Leds[pos] & 0x00FF;
parte2 = (Leds[pos] & 0xFF00) >> 8;
Serial.print(Leds[pos]);
Serial.print(" ");
Serial.print(parte1);
Serial.print(" ");
Serial.println(parte2);
digitalWrite(LatchPIN, 0);
shiftOut(DataPin, ClockPin, MSBFIRST, parte2);
shiftOut(DataPin, ClockPin, MSBFIRST, parte1);
digitalWrite(LatchPIN, 1);
}