Raspberry Pi sensor de temperatura y leds ===== ## instalar la librería del sensor de temperatura Para que el sensor pueda funcionar deben instalar una librería de python y que puedan usar el menor código posible, para ello hace falta solo correr uno de dos comandos (o corran los dos para estar más seguros). Para la versión de python 2 es: ``` sudo pip install Adafruit_DHT ``` y para la versión 3 de python es: ``` sudo pip3 install Adafruit_DHT ``` Si al usar sudo les pide la contraseña es normal, es porque necesita permisos de administrador. ## El sensor El modelo del sensor es DHT11, es un sensor digital por lo que no es dificil conectarlo a la raspberry pi. estos son sus pins: ![](https://i.imgur.com/xnwsYVb.png) y así es como encontré en internet que se debe conectar (no se si la resistencia debe ir ahí, pero Diego sabe más que yo de eso, él les puede decir): ![](https://i.imgur.com/yo3U2jV.png) ## El código Esta es la mejor parte, si tienen alguna duda respecto al código pueden preguntarme por twitter o si necesitan marcarme mi teléfono es 662189946. Puse los pins de los leds en una parte fácil de localizar en la raspberry, igual el pin donde va el sensor también lo usamos el día anterior. *Ah! el pin que dice sensor es donde va el que dice signal, el **Vcc (+)** del sensor va al **5v Power** de la pi (que son el 2 y 4), y el **Ground (-)** del sensor va a cualquier pin **Ground** de la pi (que son los 14, 20, 30 o 34)* ![](https://i.imgur.com/MCs9UmG.png) Recuerden también que todo debe de ir a alguna tierra en el pi, y que los leds solo encienden en una orientación, pero eso también con Diego porque no estoy seguro cual es jeje. Ahora sí, el código: ```python import RPi.GPIO as GPIO import Adafruit_DHT sensor = Adafruit_DHT.DHT11 pin_sensor = 7 led_rojo = 40 led_naranja = 38 led_verde = 36 GPIO.setmode(GPIO.BOARD) GPIO.setup(led_verde,GPIO.OUT) #este es para simular la luz verde GPIO.output(led_verde,GPIO.LOW) GPIO.setup(led_naranja,GPIO.OUT) #Este es para simular la luz naranja GPIO.output(led_naranja,GPIO.LOW) GPIO.setup(led_rojo,GPIO.OUT) #Este es para simular la luz roja GPIO.output(led_rojo,GPIO.LOW) # Este es el comando de la librería para leer del sensor humedad, temperatura = Adafruit_DHT.read_retry(sensor, pin_sensor) # Si hay valores del sensor (por que aveces puede no mandar nada si se lee muy seguido) los imprime en pantalla para saber a qué temperatura estamos if humedad is not None and temperatura is not None: print('Temp={0:0.1f}*C humedad={1:0.1f}%'.format(temperatura, humedad)) else: print('Hubo un fallo al leer del sensor. Intentalo de nuevo!') # Si la temperatura es menor a 20 deberá encender el led que simula la luz verde # Cuando está entre 20 y 27 deberá encender el led que simula la luz naranja # Y en cualquier temperatura mayor a 27 deberá encender el led que simula la luz roja # Se pueden ajustar los valores de 20 y 27 para algo más fácil de manejar según la temperatura ambiente que haya a la hora de la presentación if temperatura < 20: GPIO.output(led_verde, GPIO.HIGH) elif temperatura < 27: GPIO.output(led_naranja, GPIO.HIGH) else: GPIO.output(led_rojo, GPIO.HIGH) # Esto es para borrar los valores de los pins cuando se cierra el programa GPIO.cleanup() ``` Cómo no encontré la SD de mi pi no puedo ejecutarlo :C, pero esto debe de funcionar bien al menos para ejecutarlo una vez, para que lo ejecute en un ciclo y puedan ver como va cambiando la temperatura debe de ir dentro de un while desde la linea que tiene el método `Adafruit_DHT.read_retry(sensor, pin_sensor)` hasta la linea que está después del else. *Si esta nota sigue aquí en la mañana significa que no me levanté temprano para seguir buscando la SD, de nuevo Diego puede ayudarles con eso jaja **explotenlo** para eso estamos los mentores.* # Mucha suerte en la presentación!! espero que les vaya muy bien!