World of Electronics and Cyber Consultancy

Making Magic with Easy Arduino Project using LED Strip and Ultrasonic Sensor

Making Magic with Easy Arduino Project using LED Strip and Ultrasonic Sensor

Items Needed:

  1. WS2812 Addressable RGB Strip LED – 1 Meter
  2. HC-SR04 – Ultrasonic Sensor
  3. Arduino UNO with Cable
  4. BreadBoard
  5. Jumper Wires Male to Male

Code:

#include <FastLED.h>
#define LED_PIN 7
#define NUM_LEDS 30

#define T1 10 // pin 10 is trigger for sensor 1
#define E1 9 //// pin 9 is echo for sensor 1

int val=0;
CRGB leds[NUM_LEDS];

long DistanceSensor (int, int); //trigger echo

void setup() {

//delay(10000);
Serial.begin(9600);
pinMode(E1, INPUT); //echo sensor 1
pinMode(T1, OUTPUT); //trigger sensor 1

FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);

for(int i=0;i<30; i++)
{
leds[i] = CRGB(0, 0, 0);

}



FastLED.show();
}
void loop()
{

long distance = DistanceSensor(T1, E1);
if(distance < 7)
{
TurnONOFFLEDS(0);
}
else{
int number = (distance - 7)/3 + 1;
TurnONOFFLEDS(number);
}
}


void TurnONOFFLEDS(int number)
{
for(int i=0;i<number; i++)
{
leds[i] = CRGB(0, 0, 255);

}
FastLED.show();
for(int i=number;i<30; i++)
{
leds[i] = CRGB(0, 0, 0);

}
FastLED.show();
}


long microsecondsToCentimeters(long microseconds) {

return microseconds / 29 / 2;
}

long DistanceSensor (int trigger, int echo)
{
long duration, cm;

digitalWrite(trigger, HIGH);
delayMicroseconds(5);
digitalWrite(trigger, LOW);
delayMicroseconds(5);


duration = pulseIn(echo, HIGH);


cm = microsecondsToCentimeters(duration);

/*Serial.print(cm);
Serial.print("cm");
Serial.println();

return cm;
}