Hola a todos, Soy Italiano pero he buscado este projecto en espagnol y necesito ayuda para entenderlo a
Este es el codigo.
void setup(){
Serial.begin(9600); //Inicio comunicacion serial
pinMode(2,OUTPUT); //Trigger (sensor UT HC-SR04)
pinMode(3,INPUT); //Echo (sensor UT HC-SR04)
pinMode(8,OUTPUT); //Altavoz
digitalWrite(8,0);//Para que el altavoz no suene al iniciar el programa
pinMode(10,OUTPUT); //Led Azul
pinMode(11,OUTPUT); //Led Verde
pinMode(12,OUTPUT); //Led Amarillo
pinMode(13,OUTPUT); //Led Rojo
}
void loop(){
long tiempo,altavoz; //Definición variables tiempo y altavoz
float distancia; //Definición variable distancia
digitalWrite(2,HIGH); //Envio de un pulso para activar el sensor HC-SR04
delayMicroseconds(10);
digitalWrite(2,LOW);
tiempo=(pulseIn(3,HIGH)/2); //Medida del pulso de respuesta
distancia=float(tiempo*0.034); //Calculo de la distancia en cm
//Monitorización en de la distancia en cm por el monitor en serie
Serial.print("Deteccion en "); //Imprime en el monitor en serie,
Serial.print(distancia); //seguido de la distancia obtenida y las unidades,
Serial.println(" cm"); //en este caso en centímetros (cm)
//Si la distancia es inferior o igual a 50 cm, suena el altavoz y se encienden los leds ROJO y AMARILLO:
if (distancia <= 50){
tone(altavoz,250,2000);
delay(3000);
digitalWrite(10,LOW);
digitalWrite(11,LOW);
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
}
delay(1000);
}
de hecho todo funciona pero no entiendo esto comando:
tone(altavoz,250,2000);
En el pin 8 de arduino hay un buzzer.
altavoz es una variabile che no viene puesta a 8 en el codigo.
como puede funcionar esto?
adonde està la magia? :o