Los sensores Hall son sensores que producen una señal eléctrica en su salida cuando entra en contacto con un campo magnético. El valor analógico de la señal eléctrica a la salida del sensor es función de la fuerza del campo magnético. Los sensores Hall están en todas partes estos días, se están utilizando por diferentes razones y en todo tipo de dispositivos, desde teléfonos móviles hasta interruptores, para la medición de velocidad, posición y distancia en automóviles y en otros productos basados en la industria automotriz. Esta versatilidad del sensor Hall los convierte en imprescindibles para los fabricantes e ingenieros eléctricos, por eso hoy, nos mostraré cómo usar un sensor Hall en un proyecto basado en Raspberry Pi.
En cualquier momento puede consultar nuestros otros proyectos basados en Hall Sensor, incluida la interfaz del sensor Hall con Arduino.
Componentes necesarios
Se requieren los siguientes componentes / partes para construir este proyecto;
- Frambuesa pi 2 o 3
- Tarjeta SD (8 gb mínimo)
- Sensor de efecto Hall
- Cables de puente
- Tableros de pruebas
- Cable de LAN
- Fuente de alimentación
Algunas partes opcionales que pueden usarse incluyen:
- Monitor
- Teclado y ratón
- cable HDMI
- Dongle Wi-Fi
Este tutorial se basará en el sistema operativo Raspbian stretch, por lo que para continuar como de costumbre, asumiré que está familiarizado con la configuración de Raspberry Pi con el sistema operativo Raspbian stretch, y sabe cómo SSH en el raspberry pi usando un software de terminal como putty. Si tiene problemas con algo de esto, hay toneladas de Tutoriales de Raspberry Pi en este sitio web que pueden ayudar.
Para aquellos que instalarán el sistema operativo Raspbian stretch por primera vez, un problema que he descubierto, la mayoría de la gente tiene, es ingresar a la Raspberry Pi a través de ssh. Cabe señalar que ssh está originalmente deshabilitado en el sistema operativo y necesitará un monitor para habilitarlo, o bajo las opciones de configuración de la raspberry pi, o cree un archivo en blanco llamado ssh usando su computadora Windows o Linux y copie el archivo en blanco a el directorio raíz de la tarjeta SD. Deberá insertar el carrito SD en la ranura para tarjetas SDd de su computadora para copiar en él.
El segundo método es más adecuado para aquellos que ejecutan pi en modo sin cabeza. Con todas las piezas listas, podemos proceder a la construcción.
Diagrama de circuito:
Para usar el sensor de efecto Hall con Raspberry Pi, conecte los componentes de acuerdo con el esquema a continuación.
El sensor Hall utilizado para este tutorial puede proporcionar valores analógicos y digitales en la salida. Pero para simplificar el tutorial, decidí usar el valor digital porque usar la salida analógica requerirá la conexión de un ADC a la Raspberry Pi.
Código Python y explicación de trabajo:
El código Python para este proyecto de sensor Hall es muy simple, todo lo que tenemos que hacer es leer la salida del sensor Hall y encender o apagar el LED en consecuencia. El LED debe encenderse si se detecta el imán y debe apagarse en caso contrario.
Encienda su Raspberry Pi y SSH usando masilla (si está conectado en modo sin cabeza como yo). Como es habitual con la mayoría de mis proyectos, creo un directorio dentro del directorio de inicio donde se almacena todo sobre cada proyecto, así que para este proyecto, crearemos un directorio llamado hall . Tenga en cuenta que esto es solo una preferencia personal para mantener las cosas organizadas.
Cree el directorio usando;
mkdir hallsensor
Cambie el directorio al nuevo directorio que acaba de crear y abra un editor para crear el script de Python usando;
cd hallsensor
seguido por;
nano hallsensorcode.py
Una vez que se abre el editor, escribimos el código del proyecto. Haré un breve desglose del código para mostrar conceptos clave, y el código completo de Python estará disponible después de eso.
Comenzamos el código importando la biblioteca RPI.GPIO que nos permite escribir scripts de Python para interactuar con los pines GPIO de la raspberry pi.
importar RPi.GPIO como gpio
A continuación, establecemos la configuración de numeración para el GPIO de Rpi que nos gustaría usar y deshabilitamos las advertencias de GPIO para permitir la ejecución de flujo libre del código.
gpio.setmode (gpio.BCM) gpio.setwarnings (falso)
Luego establecemos declarar los pines GPIO a los que se conectan el LED y la salida digital del sensor de pasillo de acuerdo con la numeración BCM seleccionada.
hallpin = 2 ledpin = 3
A continuación, configuramos los pines GPIO como entrada o salida. El pin con el que está conectado el LED se configura como salida y el pin al que está conectado el sensor Hall se configura como entrada.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Una vez hecho esto, se escribe la parte principal del código, que es un tiempo bucle que constantemente evalúa la salida del sensor Hall y enciende el LED si se detecta un imán y se apaga el LED cuando no se detecta un imán.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print ("imán detectado") else: gpio.output (ledpin, False) print ("campo magnético no detectado")
El código Python completo con el video de demostración se proporciona al final del proyecto.
Copie y guarde el código y salga del editor después de escribirlo en el uso;
CTRL + X seguido de y .
Después de guardar, revise sus conexiones una vez más y ejecute el script de Python usando;
sudo python hallsensorcode.py
Con el script en ejecución, cada vez que se acerca un imán o cualquier objeto magnético al sensor de pasillo, el LED se enciende como se muestra en la imagen de abajo.
Desde interruptores de lengüeta para una casa inteligente hasta velocímetros para una bicicleta, hay varias cosas súper geniales que se pueden construir con este tutorial en la base. No dude en compartir cualquier proyecto que planee construir en la sección de comentarios a continuación.
Todos revisan nuestros proyectos anteriores basados en sensores de pasillo:
- Velocímetro de bricolaje con Arduino y la aplicación de procesamiento de Android
- Circuito digital de velocímetro y odómetro con microcontrolador PIC
- Realidad virtual usando Arduino y Processing
- Medición de la fuerza del campo magnético con Arduino