#include <Adafruit_NeoPixel.h>
#define PIN 2
#define NUMPIXELS 64
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define trig 9
#define echo 8
void setup()
{
pixels.begin();
pixels.clear();
pixels.show();
pinMode(trig , OUTPUT);
pinMode(echo , INPUT);
}
int check_distance ()
{
digitalWrite(trig , LOW);
delayMicroseconds(2);
digitalWrite(trig , HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long t = pulseIn(echo, HIGH);
int distance = t * 0.017 ;
return distance ;
}
void loop()
{
if (check_distance() > 200)
{
for (int ring = 0 ; ring < 4 ; ring++)
{
for (int led = 0 ; led < 16 ; led++)
{
pixels.setPixelColor(led+ring*16, pixels.Color(250, 255, 0));
pixels.show();
delay(50);
}
}
pixels.clear();
pixels.show();
delay(100);
for (int ring = 3 ; ring >= 0 ; ring--)
{
for (int led = 15 ; led >=0 ; led--)
{
pixels.setPixelColor(led+ring*16, pixels.Color(250, 255, 0));
pixels.show();
delay(50);
}
}
pixels.clear();
pixels.show();
delay(100);
}
}