Distanciation lumineuse

Une petite boite réagit à notre présence autour d’elle. Une led rgb change de couleurs et de mouvement lorsque l’on s’approche du capteur intégré. Du violet au orange en passant par le bleu, plus on s’approche plus la lumière clignote et se fixe. Ce projet a été fait avec une led RGB, un capteur de distance à ultrasons HC-SR04 ainsi qu’une carte Arduino. La boite est ensuite conçu en carton et papier chromé pour ajouter des reflets et du relief à l’ensemble. 

Programme :

int echo = 2; 
int trig = 4; 
int ledR = 3; 
int ledG = 5; 
int ledB = 6; 
long lecture_echo = 0; 
long cm = 0; 

void setup()  
{
  pinMode(ledR, OUTPUT);     
  pinMode(ledG, OUTPUT); 
  pinMode(ledB, OUTPUT); 
  pinMode(trig, OUTPUT); 
  digitalWrite(trig, LOW); 
  pinMode(echo, INPUT);  
  Serial.begin(115200);  
}

void loop() 
{
  digitalWrite(ledR,0); 
  digitalWrite(ledG,0); 
  digitalWrite(ledB,0); 
  digitalWrite(trig, HIGH); 
  delayMicroseconds(10); 
  digitalWrite(trig, LOW);  
  lecture_echo = pulseIn(echo, HIGH); 
  cm = lecture_echo / 58; 
  Serial.print("Distance en cm : "); 
  Serial.println(cm); 
  
  if (cm < 10) digitalWrite(ledR,250); 
  else
 {
   if (cm < 30) 
   {
     analogWrite(ledR,250);
     analogWrite(ledG,100);
   }
  else
{
  if (cm < 45) 
  {
digitalWrite(ledR,250);
digitalWrite(ledB,250);
analogWrite(ledG,250);
analogWrite(ledR,150);

  } else  
   {
     digitalWrite(ledR,1);
     digitalWrite(ledB,1);
   }
  }
  
    delay(10); 
}
}