#include <Adafruit_NeoPixel.h>
#define Din_PIN 10
#define NUMPIXELS 16
Adafruit_NeoPixel pixels (NUMPIXELS, Din_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
Serial.begin(9600);
pixels.begin();
pixels.clear();
pixels.show();
}
#define TRIG_PIN1 9
#define ECHO_PIN1 8
#define TRIG_PIN2 7
#define ECHO_PIN2 6
float readDistance(int TRIG_PIN, int ECHO_PIN) {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
int duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2 ;
return distance ;
}
void loop() {
float dist1 = readDistance(TRIG_PIN1, ECHO_PIN1);
Serial.print("Distance1: ");
Serial.print(dist1);
float dist2 = readDistance(TRIG_PIN2, ECHO_PIN2);
Serial.print("\t Distance2: ");
Serial.println(dist2);
delay(100);
pixels.clear();
if (dist1 < 200)
{
for (int i = NUMPIXELS / 2; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(255, 0, 255));
}
pixels.show();
}
else
{
for (int i = NUMPIXELS / 2; i < NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(255, 255, 0));
}
pixels.show();
}
if (dist2 < 200)
{
for (int i = 0; i < NUMPIXELS / 2; i++) {
pixels.setPixelColor(i, pixels.Color(255, 0, 255));
}
pixels.show();
}
else
{
for (int i = 0; i < NUMPIXELS / 2; i++) {
pixels.setPixelColor(i, pixels.Color(255, 255, 0));
}
pixels.show();
}
}