Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* TITULO: Sensor de parking con HC-SR04
- AUTOR:
- MARIANO DEL CAMPO GARCÍA (@2015) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
- - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
- - TWITTER: https://twitter.com/MarianoCampoGa
- - CORREO: marianodc83@gmail.com
- DESCRIPCIÓN DEL PROGRAMA
- Este programa es capaz de mostrarnos la distancia a la que se encuentra un objeto cualquiera
- respecto del sensor ultrasónico HC-SR04. Ayudándonos de esta característica Arduino va a activar
- una alarma sonora y visual que va a parpadear con una frecuencia en función de la distancia a la
- que se encuentre el objeto, siempre que esta sea menor de 50 cm. El sistema está dotado de un
- interruptor de modo con indicador LED, para que la funcionalidad del modo parking sea activada
- únicamente cuando nosotros lo necesitemos.
- ESQUEMA DE CONEXION
- +-----+
- +----[PWR]-------------------| USB |--+
- | +-----+ |
- | GND/RST2 [ ][ ] |
- | MOSI2/SCK2 [ ][ ] A5/SCL[ ] |
- | 5V/MISO2 [ ][ ] A4/SDA[ ] |
- | AREF[ ] |
- | GND[ ] |
- | [ ]N/C SCK/13[ ] |
- | [ ]IOREF MISO/12[ ] |
- | [ ]RST MOSI/11[ ]~|
- | [ ]3V3 +---+ 10[ ]~|
- | [ ]5v -| A |- 9[ ]~| ECHO
- | [ ]GND -| R |- 8[ ] | TRIG
- | [ ]GND -| D |- |
- | [ ]Vin -| U |- 7[ ] |
- | -| I |- 6[ ]~| BUZZER(+)
- | [ ]A0 -| N |- 5[ ]~| P2
- | [ ]A1 -| O |- 4[ ] | LED_V(+)
- | [ ]A2 +---+ INT1/3[ ]~| LED_R(+)
- | [ ]A3 INT0/2[ ] |
- | [ ]A4/SDA RST SCK MISO TX>1[ ] |
- | [ ]A5/SCL [ ] [ ] [ ] RX<0[ ] |
- | [ ] [ ] [ ] |
- | UNO_R3 GND MOSI 5V ____________/
- \_______________________/
- NOTAS:
- - LED_V --> LED de color verde y LED_R --> LED de color rojo.
- - Cátodo(-) tanto del LED_V(-) como del LED_R(-) a GND a través de una R=220 omhs (pata más corta).
- - El buzzer (zumbador) tiene dos terminales, buzzer(+) que es el más largo y buzzer(-).
- Buzzer(-) conectado directamente a GND.
- - Denomínamos a los 3 terminales del interruptor como P1, P2 y P3 (donde P2 es el terminal central).
- - P1 conectado a VCC.
- - P3 conectado a GND.
- - Sensor ultrasónico HC-SR04. Además de las conexiones TRIG y ECHO que van directamente al Arduino,
- necesitamos alimentarlo en sus terminales VCC (+5V) y GND (masa).
- */
- #include <Ultrasonic.h>
- Ultrasonic ultrasonic(8,9,30000); // (Trig PIN, Echo PIN, Time Out = 30000 us --> 5 metros máximo.
- const int buzzer = 6; // Pin digital para el buzzer
- const int modo_parking = 5; // Pin digital para el interruptor de modo
- const int LED_V = 4; // Pin digital para el LED de color VERDE
- const int LED_R = 3; // Pin digital para el LED de color ROJO
- int distancia;
- int pausa;
- void setup()
- {
- Serial.begin(9600);
- pinMode(LED_R, OUTPUT); // Pin digital del LED de color ROJO como salida
- digitalWrite(LED_R, LOW); // LED de color ROJO apagado
- pinMode(LED_V, OUTPUT); // Pin digital del LED de color VERDE como salida
- digitalWrite(LED_V, LOW); // LED de color VERDE apagado
- pinMode(buzzer, OUTPUT); // Pin digital del buzzer como salida
- pinMode(modo_parking, INPUT); // Pin digital del interruptor de modo como entrada
- }
- void loop()
- {
- distancia = ultrasonic.Ranging(CM);
- Serial.println(distancia); // Mostramos la distancia en cm por el monitor serie
- if(digitalRead(modo_parking)==HIGH) // Si el interruptor de modo está activado
- {
- digitalWrite(LED_V, HIGH); // Se enciende el LED de color VERDE
- if(distancia < 50) // Si la distancia es inferior a 50 cm
- {
- // Efecto parpadeo que varía según la distancia
- pausa = distancia * 10;
- digitalWrite(buzzer, HIGH);
- digitalWrite(LED_R, HIGH);
- delay(pausa); // Como mucho va a ser de medio segundo
- digitalWrite(buzzer, LOW);
- digitalWrite(LED_R, LOW);
- delay(pausa);
- }
- }
- else // Si el interruptor de modo está desactivado
- {
- // Apagamos los LED y el buzzer
- digitalWrite(LED_V, LOW);
- digitalWrite(LED_R, LOW);
- digitalWrite(buzzer, LOW);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement