En la entrada anterior vimos como controlar un LED con GPIO en la RaspBerry Pi: https://redes-seguridad.blogspot.com.ar/2017/03/controlando-un-led-con-raspberry-pi-en.html
Ahora vamos a explicar como prender el led utilizando el sensor de movimiento HC-SR04.
Materiales que utilizaremos son los mismos elementos que en el link de arriba, pero agregando el sensor que se puede conseguir por cualquier lado.
Pasos para la conexión:
Voy a explicar lo mejor posible, utilizando la terminología de filas A, B, C, etc y columnas 0, 1, 2, al mejor estilo batalla naval.
Los pines del Raspberry los enumeraré teniendo la tarjeta SD hacia la izquierda y el puerto USB hacia la derecha, el de abajo a la izquierda sería el PIN_1, el de arriba PIN_2, e ir contando de abajo hacia arriba y de izquierda a derecha PIN_3 sería el segundo de abajo de izq a der y así sucesivamente.
Lo que está en letra negrita es del raspberry y lo que está en letra azul es el protoboard:
1) Conectamos el PIN_2 de las raspberry al positivo => +59 (la primer linea de abajo del protoboard).
2) PIN_6 al negativo => -55 (la segunda linea de abajo del protoboard).
3) PIN_10 al J50
4) PIN_11 al J51
5) PIN_16 al H33
6) +53 al J49
7) -52 al J52
8) Conectamos una resistencia del -35 al J35
9) Conectamos el LED de 5volts: El negativo (lado más corto) del LED lo conectamos al G35 del proto y el positivo (lado más largo) al G33
10) El sensor ultrasónico lo conectamos desde el F49 al F52. IMPORTANTE!! El GND del sensor debe ir en el F52 y el vCC del sensor al F49 del protoboard.
Ya finalizadas las conexiones les pongo el código para que generen el python:
vi /var/www/html/sensorProximidad.py
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
Trigger = 10
Echo = 12
GPIO.setup(Trigger,GPIO.OUT)
GPIO.setup(Echo,GPIO.IN)
print "Sensor Ultrasonico"
try:
while True:
GPIO.output(Trigger,False)
time.sleep(0.5)
GPIO.output(Trigger,True)
time.sleep(0.00001)
GPIO.output(Trigger,False)
inicio=time.time()
while GPIO.input(Echo)==0:
inicio=time.time()
while GPIO.input(Echo)==1:
final=time.time()
t_transcurrido=final-inicio
distancia=t_transcurrido*34000
distancia=distancia/2
if distancia < 10:
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(16, GPIO.OUT)
GPIO.output(16,1)
else:
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
GPIO.setup(16, GPIO.OUT)
GPIO.output(16,0)
except KeyBoardInterrupt:
GPIO.cleanup()
Le damos permisos al script de ejecución y lo ejecutamos, ponemos la mano a menos de 10 centímetros del sensor y si está todo bien conectado se encenderá el LED.
Acá les dejo el planito que hice:
Les dejo también un video del enano jugando con el sensor:
No hay comentarios:
Publicar un comentario