Comenzando con GPIO en una Raspberry Pi
Si pensabas que el Arduino era genial, solo espera a que tengas una Raspberry Pi, estas cosas son increíbles. Además de ser una computadora completamente funcional, también tienen una selección de Entrada / salida de uso general patas. Al igual que un Arduino, podemos usarlos para crear proyectos electrónicos, y es sorprendentemente fácil comenzar..
Hoy conectaremos un relé y lo usaremos para encender un LED, pero usted podría fácilmente encender una lámpara..
Esta introducción sirve como la primera parte de un proyecto de automatización del hogar más grande. Christian ya ha sentado las bases para comenzar con un Pi, así que no repetiré los pasos iniciales aquí para descargar un sistema operativo o conectar la tarjeta SD. Supongo que tiene un sistema Raspian trabajando ya establecido.
Advertencia: Aunque una Raspberry Pi puede ser utilizado de manera similar a un Arduino, se necesita un poco más de cuidado. Los pines del Pi operan en 3.3v, mientras que el Arduino usa 5v. Si bien es posible romper un Arduino, es mucho más fácil romper un Pi, ya que las clavijas se conectan directamente al chip integrado: el envío de 5 voltios hacia abajo puede freírlo.
Por lo tanto, tenga mucho cuidado al tratar de replicar proyectos Arduino en su Pi, ya sea siguiendo un tutorial específico de Pi o asegúrese de tener un buen conocimiento de la electrónica básica.
Requisitos:
- Transistor NPN, tal como P2N2222A
- Resistencia 1k
- Relé; Estoy usando un módulo de 4 relés 5v que tiene un circuito de protección adicional incorporado (así que no hay necesidad de diodos adicionales)
- LED y 220 ohmios de resistencia para pruebas.
- Cable de arranque
Cable de arranque (“Kit de zapatero”)
Los pines GPIO están situados en el lado del Pi, junto al conector de salida de video RCA.
Aunque técnicamente podría conectar algunos cables de puente con terminación hembra directamente a estos, no están etiquetados de ninguna manera útil y, por lo tanto, es más probable que rompa algo. En su lugar, obtenga un cable de arranque como este de Adafruit, o uno de los muchos clones más baratos en eBay. Es posible que necesite soldar esto, ya que vendrá en forma de kit..
Aunque el lado de la placa tiene una muesca para indicar la colocación correcta del cable, el lado Pi no. Asegúrese de que los pines 3v y 5v en la esquina más alejada del Pi estén alineados con los pines relevantes en la placa. Por supuesto, si compró un estuche que no expone el encabezado de GPIO, tendrá que correr con Pi desnudo o hacer un agujero..
Alternativamente, puede obtener una tabla completa que se coloca encima de su Pi, y generalmente viene con una selección de componentes útiles.
Circuito basico
Configure el circuito como se describe a continuación. He dejado fuera el circuito de relé ya que esto puede variar. Utilizar el NO (normalmente cerrado) y COM Terminales de su relé para su LED u otro dispositivo..
Usa el pin 4 de la Raspberry Pi. En mi tablero de ruptura, está etiquetado como + GPCLK0; Independientemente, es el cuarto pin que cuenta desde 3V3..
Prueba de línea de comando
En los siguientes ejemplos, asumo que ha iniciado sesión a través de SSH o de otro modo como usuario root. Si no es así, deberá prefaciar algunos de los comandos con sudo para privilegios elevados.
Primero, necesitamos instalar Cableadopi.
git clone git: //git.drogon.net/wiringPi cd wiringPi ./build
Suponiendo que todo salió bien, ahora deberíamos poder controlar directamente el GPIO desde la línea de comandos de esta manera:
gpio -g modo 4 fuera gpio -g escribe 4 1
El primer comando es similar a la función de configuración de Arduino donde le decimos a Pi que use el pin 4 como salida. El siguiente comando escribe un valor de 1 en el pin, que debe activar el transistor, activar el relé, cerrar el circuito para el LED y encenderlo.
Increíble. Si no es así, vuelve atrás y revisa tu cableado. Hace clic el relevo?
Pitón
Aunque Python no es la única forma de comunicarse con los pines GPIO, generalmente se considera la más fácil y es la más común en los proyectos existentes. A diferencia de C, Python es relativamente fácil de recoger (Aquí hay 5 sitios para aprender Python. Los 5 mejores sitios web para aprender. Programación de Python. Los 5 mejores sitios web para aprender. Programación de Python. ¿Quieres aprender a programar Python? Estas son las mejores maneras de aprender Python en línea, muchas de las cuales son completamente gratis. Leer más).
Comience por instalar las siguientes extensiones de Python:
apt-get install python-dev apt-get install python-rpi.gpio
Ahora, crea un nuevo archivo llamado test.py. Si está utilizando una línea de comando, escriba
nano test.py
Pegue o escriba lo siguiente (también en este pastebin):
importar RPi.GPIO como GPIO. tiempo de importación GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) para x en el rango (0,10): time.sleep (5) GPIO.output (4,1) time.sleep (5) GPIO.output (4,0)
Este es un script Python muy simple que encenderá el LED (o lo que sea que haya conectado a su relé) durante 5 segundos, luego se apagará durante 5 segundos, 10 veces. Debes poder entender la mayor parte del código. los GPIO.setmode la línea se usa simplemente para indicar el esquema de numeración de pines que vamos a usar.
¡Eso es! Para ejecutar el código, escriba:
python test.py
La próxima semana, estaremos elaborando un poco la configuración y haciendo algunas cosas interesantes como agregar control de voz. Si va a agregar elementos eléctricos de alto voltaje en el circuito del relé, querrá estar seguro de que está usando un relé con la clasificación adecuada. en el cable vivo, y asegúrese de encerrar todo lo que esté alejado de los dedos curiosos de los bebés o la madre. Hablando en serio, cuidate.
Publique sus preguntas, comentarios, comentarios y haikus en el cuadro a continuación, pero tenga en cuenta que lo calificaré por el uso de la gramática..
Explorar más sobre: Raspberry Pi.