#include <Adafruit_NeoPixel.h>
#define trig 8
#define echo 7
long pul_echo;
float dis;
#define PIN 2	  
#define NUMPIXELS 32 // number of neopixels in strip
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int r=0,b=0,g=0;
void setup() {
  Serial.begin(9600);
  pinMode(trig, OUTPUT);
  pinMode(echo, INPUT);
  pixels.begin();
}
void loop() {
  digitalWrite(trig,0);
  delay(10);
  digitalWrite(trig,1);
  delayMicroseconds(10);
  digitalWrite(trig,0);
  pul_echo = pulseIn(echo,1);
  dis = (pul_echo/2.0)/29.2;
  if(dis>100){
    r=0;    //ค่าอยู่ในช่วง 0 - 255
    g=255;       //ค่าอยู่ในช่วง 0 - 255
    b=0;       //ค่าอยู่ในช่วง 0 - 255
    neoled();
  
  }
  else if(dis>50&&dis<=100){
    r=255;
    g=255;
    b=0;   
    neoled();
  }
  else if(dis<=50){
    r=255;
    g=0;
    b=0;   
    neoled();
    delay(100);
    r=0;
    g=0;
    b=0;   
    neoled();
    delay(100);
    }

  else{
    r=0;
    g=0;
    b=0;   
    neoled();
}
Serial.println(dis);
}
void neoled(){
  pixels.setPixelColor(0, pixels.Color(r, g, b));
  pixels.setPixelColor(1, pixels.Color(r, g, b));
  pixels.setPixelColor(2, pixels.Color(r, g, b));
  pixels.setPixelColor(3, pixels.Color(r, g, b));
  pixels.setPixelColor(4, pixels.Color(r, g, b));
  pixels.setPixelColor(5, pixels.Color(r, g, b));
  pixels.setPixelColor(6, pixels.Color(r, g, b));
  pixels.setPixelColor(7, pixels.Color(r, g, b));
  pixels.setPixelColor(8, pixels.Color(r, g, b));
  pixels.setPixelColor(9, pixels.Color(r, g, b));
  pixels.setPixelColor(10, pixels.Color(r, g, b));
  pixels.setPixelColor(11, pixels.Color(r, g, b));
  pixels.setPixelColor(12, pixels.Color(r, g, b));
  pixels.setPixelColor(13, pixels.Color(r, g, b));
  pixels.setPixelColor(14, pixels.Color(r, g, b));
  pixels.setPixelColor(15, pixels.Color(r, g, b));
  pixels.setPixelColor(16, pixels.Color(r, g, b));
  pixels.setPixelColor(17, pixels.Color(r, g, b));
  pixels.setPixelColor(18, pixels.Color(r, g, b));
  pixels.setPixelColor(19, pixels.Color(r, g, b));
  pixels.setPixelColor(20, pixels.Color(r, g, b));
  pixels.setPixelColor(21, pixels.Color(r, g, b));
  pixels.setPixelColor(22, pixels.Color(r, g, b));
  pixels.setPixelColor(23, pixels.Color(r, g, b));
  pixels.setPixelColor(24, pixels.Color(r, g, b));
  pixels.setPixelColor(25, pixels.Color(r, g, b));
  pixels.setPixelColor(26, pixels.Color(r, g, b));
  pixels.setPixelColor(27, pixels.Color(r, g, b));
  pixels.setPixelColor(28, pixels.Color(r, g, b));
  pixels.setPixelColor(29, pixels.Color(r, g, b));
  pixels.setPixelColor(30, pixels.Color(r, g, b));
  pixels.setPixelColor(31, pixels.Color(r, g, b));
  
  pixels.show(); 
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
ring1:GND
ring1:VCC
ring1:DIN
ring1:DOUT
ring2:GND
ring2:VCC
ring2:DIN
ring2:DOUT
ultrasonic1:VCC
ultrasonic1:TRIG
ultrasonic1:ECHO
ultrasonic1:GND