byte trigger = 8, echo = 10;
void setup() {
/*
pinMode(8, OUTPUT);
*/
for(int pin = 2; pin <= 9; pin++){
pinMode(pin, OUTPUT);
}
pinMode(echo, INPUT);
Serial.begin(9600);
}
void loop() {
/*
int pot = analogRead(A0);
Serial.println(pot);
*/
//envia pulso de 10uS
digitalWrite(trigger, HIGH);
delayMicroseconds(10);
digitalWrite(trigger, LOW);
//calculo la distancia
int time = pulseIn(echo, HIGH);
int distancia = time/58;
Serial.println(distancia);
LEDSR(distancia, 600);
}
void LEDSR(int dist, int pot){
if(dist > 100){
for(int l = 2; l <= 7; l++){
digitalWrite(l, LOW);
}
}else if(dist > 70 && dist <= 100){
for(int l = 6; l <= 7; l++){
digitalWrite(l, HIGH);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
tone(9, pot);
delay(600);
noTone(9);
}
}else if(dist > 45 && dist <= 70){
for(int l = 4; l <= 7; l++){
digitalWrite(l, HIGH);
digitalWrite(3, LOW);
digitalWrite(2, LOW);
tone(9, pot);
delay(400);
noTone(9);
}
}else if(dist > 20 && dist <= 45){
for(int l = 2; l <= 3; l++){
digitalWrite(l, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
}else if(dist > 10 && dist <= 20){
led1(1,1,1,1,1,1);
tone(9, pot);
delay(200);
noTone(9);
led1(0,0,0,0,0,0);
delay(200);
}
}
void led1(int led2, int led3, int led4, int led5, int led6, int led7){
digitalWrite(2, led2);
digitalWrite(3, led3);
digitalWrite(4, led4);
digitalWrite(5, led5);
digitalWrite(6, led6);
digitalWrite(7, led7);
}