#include "FastLED.h"
byte bright = 250; // brillo de LED, max 250
byte baza = 10;
#define NUM_LEDS 10 // número de píxeles
#define PIN 6 // puerto de conexión ws2812b
CRGB leds[NUM_LEDS];
int trig = 2; //pin trig del sensor ultrasónico
int echo = 3; //pin echo del sensor ultrasónico
int i ;
void setup() {
FastLED.addLeds <WS2812, PIN, GRB>(leds, NUM_LEDS).setCorrection(TypicalLEDStrip);
FastLED.setBrightness(bright);
Serial.begin(9600); //configuramos el puerto serie en 9600
pinMode(trig, OUTPUT); //configura pin trig como output
pinMode(echo,INPUT); //configura pin echo como input
}
void loop() {
//Secuencia de lectura del sensor
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
int duracion = pulseIn(echo, HIGH); //Mide el tiempo entre Trig y el Echo
int distancia = (duracion/2) / 29.1; //y calcula la distancia
Serial.println(distancia); //imprime la distancia en el Serial Port
delay(100);
int alturaLED = int ((distancia)/40) ;
Serial.println(alturaLED);
//for (int i = 9; i > (9-alturaLED); i--) {
for (int i = 0; i < (10-alturaLED); i++) {
//leds[i] = CHSV(baza+ i * 5, 255, 255);
leds[i] = CHSV(0, 255, 250);
//Serial.println(i);
}
baza--;
FastLED.setBrightness(bright);
FastLED.show();
delay(1000);
//for (int i = 9; i > (9-alturaLED); i--) {
for (int i = 0; i < (10-alturaLED); i++) {
//leds[i] = CHSV(baza+ i * 5, 255, 255);
leds[i] = CHSV(0, 0, 0);
}
baza--;
FastLED.setBrightness(bright);
FastLED.show();
}