0% encontró este documento útil (0 votos)
122 vistas5 páginas

Proyecto Arduino: Sensor Ultrasonido y LEDs

Este código programa un sensor ultrasónico HC-SR04 para medir la distancia de un objeto y encender LEDs y reproducir sonidos de diferente frecuencia a medida que el objeto se acerca. Cuando el objeto está a 50 cm o menos se enciende el primer LED y suena un pitido, y cada 10 cm adicionales más LEDs se encienden y la frecuencia del pitido aumenta, hasta un máximo de 6 LEDs y un pitido de 300 Hz cuando el objeto está a menos de 10 cm.

Cargado por

Diego Estefano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
122 vistas5 páginas

Proyecto Arduino: Sensor Ultrasonido y LEDs

Este código programa un sensor ultrasónico HC-SR04 para medir la distancia de un objeto y encender LEDs y reproducir sonidos de diferente frecuencia a medida que el objeto se acerca. Cuando el objeto está a 50 cm o menos se enciende el primer LED y suena un pitido, y cada 10 cm adicionales más LEDs se encienden y la frecuencia del pitido aumenta, hasta un máximo de 6 LEDs y un pitido de 300 Hz cuando el objeto está a menos de 10 cm.

Cargado por

Diego Estefano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

IMAGEN PROYECTO

CODIGO

#define trigPin 4

#define echoPin 3

#define led 13

#define led2 12

#define led3 11

#define led4 10

#define led5 9

#define led6 8

#define buzzer 5

//varibale que utilizamos para reproducir sonidos en el buzzer

int sound=250;

void setup()
{

Serial.begin(9600);

//inicialización de dos pines del ultrasonidos

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

//inicialización todos los leds

pinMode(led, OUTPUT);

pinMode(led2, OUTPUT);

pinMode(led3, OUTPUT);

pinMode(led4, OUTPUT);

pinMode(led5, OUTPUT);

pinMode(led6, OUTPUT);

pinMode(buzzer, OUTPUT);

void loop()

long duration, distance;

//limpiamos de ruido el pin que realice del ultrasonido y lo lanzamos

digitalWrite(trigPin, LOW);

delayMicroseconds(4);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

//recibimos el ultrasonido de vuelta

duration= pulseIn(3, HIGH);


//Calculamos la distancia en cm

distance= duration*10/292/2; //convertimos distancia, en cm

//preguntamos si la distancia que tenemos con el objeto es menor o igual a 50.

// en tal caso encendemos el primero de los leds y reproducimos un sonido, el 250

// en caso contrario apagamos led

//lo mismo con el resto de leds, en función de sí el objeto se acerca vamos encendiendo leds y

//reproducimos sonidos

if(distance <=50){

digitalWrite(led, HIGH);

sound=250;

else{

digitalWrite(led, LOW);

if(distance<40){

digitalWrite(led2, HIGH);

sound=260;

else{

digitalWrite(led2, LOW);

if(distance<30){

digitalWrite(led3, HIGH);

sound=270;

else{

digitalWrite(led3, LOW);

}
if(distance<20){

digitalWrite(led4, HIGH);

sound=280;

else{

digitalWrite(led4, LOW);

if(distance<15){

digitalWrite(led5, HIGH);

sound=290;

else{

digitalWrite(led5, LOW);

if(distance<10){

digitalWrite(led6, HIGH);

sound=300;

else{

digitalWrite(led6, LOW);

//por ultimo si la distancia esta por encima de nuestro minimo (50 cm) o debajo de 0 sacamos
mensaje y apagamos

//buzzer

if(distance >50 || distance <=0){

Serial.println("Out of range");

noTone(buzzer);

}
//si entramos al else es que estamos encendiendo leds y reproduciendo sonidos así que sacamos
valores en monitor

// serie y reproducimos sonido

// en los IF anteriores le habremos dado un valor a la variable sound en función de la cercanía del
objeto, aqui la

// reproducimos

else {

Serial.print(distance);

Serial.println("cm");

tone(buzzer, sound);

delay(500);

LINK:

https://www.tinkercad.com/things/jNUglBPtdhD

También podría gustarte