- Componentes requeridos
- Diagrama de circuito
- Fabricación de PCB para Raspberry Pi RGB LCD HAT usando EasyEDA
- Cálculo y pedido de muestras de PCB en línea con EasyEDA
- Configuración de Raspberry Pi para LCD Hat
- Código Python para el SOMBRERO LCD Raspberry Pi
- Prueba del SOMBRERO LCD RGB Raspberry Pi
Los sombreros Raspberry Pi son los mismos que los protectores para Arduino, pueden caber directamente en la parte superior de Raspberry Pi y no requieren más conexiones. Aquí vamos a construir un sombrero LCD RGB para Raspberry Pi en PCB. Este LCD Hat consta de un módulo LCD de 16x2, cinco interruptores y tres LED NeoPixel. Aquí se utilizan interruptores para cambiar el texto en pantalla y los LED de NeoPixel se utilizan como indicadores. Estos interruptores y Neo Pixels se pueden programar de acuerdo con los requisitos, como los interruptores se pueden usar para mostrar valores del sensor como temperatura, humedad, etc. y los píxeles Neo se pueden usar para mostrar el estado como el rojo para indicar algún error y el verde mientras se reciben algunos datos.
Aquí utilizaremos el software en línea EasyEDA para diseñar el circuito y la PCB para este Pi HAT, y JLCPCB para pedir las PCB.
Componentes requeridos
- Frambuesa pi 4
- Módulo de pantalla LCD 16 * 2
- LED de neopíxeles (3)
- Condensadores
- Interruptores (5)
Diagrama de circuito
El diagrama de circuito completo para Raspberry Pi RGB LCD HAT se muestra a continuación. El esquema se dibujó con EasyEDA. Como puede ver, estamos interconectando un módulo LCD de 16x2, 3 LED NeoPixel y 5 interruptores con Raspberry Pi. También se utiliza un conector para habilitar o deshabilitar los LED de NeoPixel.
Fabricación de PCB para Raspberry Pi RGB LCD HAT usando EasyEDA
Al diseñar la PCB para Raspberry Pi RGB LCD HAT, la parte más desafiante fue conseguir el espacio adecuado. Si las dimensiones son incorrectas, los componentes no encajarán en la PCB. Pero, afortunadamente, EasyEDA proporciona huellas para casi todos los componentes del mercado. Esto se debe a su vasta comunidad de usuarios donde los usuarios crean huellas y las ponen a disposición del público para que las utilicen en sus proyectos.
EasyEDA es una herramienta de EDA en línea que he usado muchas veces anteriormente y me pareció muy conveniente de usar ya que tiene una buena colección de huellas y es de código abierto. Después de diseñar la PCB, podemos solicitar las muestras de PCB mediante sus servicios de fabricación de PCB de bajo costo: JLCPCB. También ofrecen servicios de abastecimiento de componentes donde tienen un gran stock de componentes electrónicos, y los usuarios pueden solicitar los componentes necesarios junto con el pedido de PCB.
Mientras diseña los circuitos y PCB, también puede hacer públicos sus diseños de circuitos y PCB para que otros usuarios puedan copiarlos o editarlos y puedan beneficiarse de su trabajo, también hemos hecho público este diseño Pi RGB LCD Hat, verifique lo siguiente enlace:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Puede ver cualquier capa (superior, inferior, seda superior, seda inferior, etc.) del PCB seleccionando la capa en la ventana 'Capas'. Aparte de esto, también proporcionan una vista de modelo 3D de la PCB sobre cómo se vería después de la fabricación. La instantánea de la capa superior y la capa inferior del LCD HAT se vería así:
Cálculo y pedido de muestras de PCB en línea con EasyEDA
Después de completar el diseño de este SOMBRERO LCD PI RGB, puede solicitar el PCB a través de JLCPCB.com. Para pedir el PCB de JLCPCB, necesita Gerber File. Puede descargar el archivo Gerber desde el siguiente enlace:
- Archivo Gerber para sombrero LCD Raspberry Pi RGB
Para generar los archivos Gerber de la PCB, simplemente haga clic en el botón Generar archivo de fabricación en la página del editor EasyEDA, luego descargue el archivo Gerber desde allí, o haga clic en Solicitar en JLCPCB como se muestra en la imagen de abajo. Esto lo redireccionará a JLCPCB.com, donde puede seleccionar la cantidad de PCB que desea ordenar, cuántas capas de cobre necesita, grosor de PCB, peso del cobre, color de PCB y otros parámetros de PCB, como la instantánea que se muestra a continuación:
Después de hacer clic en el botón ' Solicitar en JLCPCB' , lo llevará al sitio web de JLCPCB, donde puede solicitar la PCB a una tarifa muy baja, que es de $ 2. Su tiempo de construcción también es muy inferior, que es de 48 horas con entrega DHL de 3-5 días. Recibirá sus PCB dentro de una semana después de realizar el pedido.
Después de pedir la PCB, puede verificar el progreso de producción de su PCB con fecha y hora. Puede verificarlo yendo a la página de Cuenta y haciendo clic en el enlace "Progreso de producción" debajo del PCB como se muestra en la imagen de abajo.
Después de unos días de ordenar PCB, obtuve las muestras de PCB en un empaque excelente, como se muestra en las imágenes a continuación.
Después de asegurarse de que las huellas y las huellas fueran correctas. Procedí a ensamblar la PCB. La placa completamente soldada se parece a la siguiente:
Configuración de Raspberry Pi para LCD Hat
Antes de comenzar a programar, la Raspberry Pi, primero actualice la Raspberry Pi e instale algunas bibliotecas necesarias. Ejecute los siguientes comandos para actualizar y actualizar Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
Ahora instale la biblioteca Adafruit_Blinka para LED NeoPixel. La biblioteca Adafruit_Blinka proporciona el soporte de CircuitPython en Python.
sudo pip3 instalar adafruit-circuitpython-neopixel
Después de eso, instale la biblioteca Adafruit_CharLCD para el módulo LCD. Esta biblioteca es para placas LCD Adafruit, pero también funciona con placas LCD de otras marcas.
sudo pip3 instalar Adafruit-CharLCD
Código Python para el SOMBRERO LCD Raspberry Pi
Aquí estamos demostrando el sombrero LCD RGB para Raspberry Pi usando algunos interruptores para mostrar algunos valores particulares en el módulo LCD y LED RGB como indicadores. Entonces tenemos que programar la Raspberry Pi de manera que cuando presionamos un interruptor, debería mostrar algunos valores de sensor u otros valores.
El código completo de Python se proporciona al final de la página. Aquí te explicamos el código paso a paso.
Inicie el código importando todas las bibliotecas necesarias.
importar RPi.GPIO como GPIO importar neopixel importar tiempo importar tablero importar Adafruit_CharLCD como LCD
Después de eso, defina todos los pines GPIO donde están conectados la pantalla LCD y otros interruptores.
lcd_rs = 7 lcd_en = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_backlight = 2 sw0 = 5 sw2 = 13 sw3 = 19 sw4 = 26
Ahora, defina el modo GPIO usando el modo BCM. También puede cambiarlo a TABLERO. Luego defina todos los pines del interruptor como Entradas.
GPIO.setmode (GPIO.BCM) # Use BCM GPIO números GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.EN)
Después de eso, defina el pin GPIO donde están conectados los LED Neo Pixel. Luego defina el número de LEDs Neo Pixel. Aquí se utilizan tres LED, puede cambiarlo según sus necesidades.
píxel_pin = tablero.D21 num_pixels = 3
Ahora, dentro de la función lcddisplay () , asigne una tarea particular a cada conmutador. Por ejemplo, aquí, cuando se presiona el primer interruptor, Raspberry Pi debe mostrar 'ARRIBA' en la pantalla LCD, y cuando se presiona el segundo interruptor, debe mostrar 'ABAJO' en la pantalla LCD y así sucesivamente para los otros dos botones.
En lugar de imprimir algo en una pantalla LCD, puede usar estos interruptores para realizar una tarea diferente. Por ejemplo, puede usar el interruptor 1 para mostrar el valor de temperatura, el interruptor 2 para mostrar los valores de humedad y el interruptor 3 para mostrar los valores de presión, etc.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') if (GPIO.input (sw2) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('DOWN') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEFT') if (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Ahora, dentro del bucle while true , la función pixels.fill se usa para iluminar los Neo Pixels en diferentes colores. Entonces, el Pi está programado para iluminar los Neo Pixels con color rojo, verde y azul durante un segundo cada uno.
También puede utilizar estos Neo Pixels como indicadores. Por ejemplo, puede iluminar un Neo Pixel con color rojo para indicar que el Pi está conectado a la fuente de alimentación o puede usar otros LED para indicar que el Pi está recibiendo o enviando los datos, etc.
pixels.fill ((255, 0, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 255, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 0, 255)) píxeles.show () tiempo.sueño (1) ciclo_arco iris (0,001)
Prueba del SOMBRERO LCD RGB Raspberry Pi
Después de ensamblar la pantalla LCD y conectarla con Raspberry Pi, estamos listos para usar este SOMBRERO LCD PI RGB. Para eso, ejecute el código Python usando el siguiente comando.
python code_filename.py
Ahora presione los interruptores. Cuando presione el interruptor SW0, debería imprimir 'ARRIBA' en la pantalla LCD. Para el interruptor SW2, debería imprimir 'Abajo' y lo mismo para el resto de los interruptores.
A continuación, se muestra un video de trabajo completo junto con el código Python.