- Components necessaris
- Esquema de connexions
- Fabricació de PCB per a Raspberry Pi RGB LCD HAT mitjançant EasyEDA
- Càlcul i ordenació de mostres de PCB en línia mitjançant EasyEDA
- Configuració de Raspberry Pi per a barret LCD
- Codi Python per a Raspberry Pi LCD HAT
- Prova del Raspberry Pi RGB LCD HAT
Els barrets Raspberry Pi són els mateixos que els escuts d’Arduino, poden cabre directament a la part superior de Raspberry Pi i no necessiten cap connexió addicional. Aquí construirem un barret LCD RGB per a Raspberry Pi al PCB. Aquest barret LCD consta d’un mòdul LCD de 16x2, cinc commutadors i tres LED NeoPixel. Aquí s’utilitzen commutadors per canviar el text que es mostra i els LEDs NeoPixel s’utilitzen com a indicadors. Aquests commutadors i píxels Neo es poden programar segons requisits, com ara els commutadors que es poden utilitzar per mostrar valors del sensor com la temperatura, la humitat, etc.
Aquí utilitzarem el programari en línia EasyEDA per dissenyar el circuit i la PCB per a aquest Pi HAT i JLCPCB per demanar els PCB.
Components necessaris
- Raspberry Pi 4
- Mòdul de pantalla LCD de 16 * 2
- LED de neopíxels (3)
- Condensadors
- Interruptors (5)
Esquema de connexions
A continuació es mostra el diagrama complet del circuit per a Raspberry Pi RGB LCD HAT. L’esquema es va dibuixar amb EasyEDA. Com podeu veure, estem relacionant un mòdul LCD de 16x2, 3 LEDs NeoPixel i 5 commutadors amb Raspberry Pi. També s’utilitza un connector per habilitar o desactivar els LED NeoPixel.

Fabricació de PCB per a Raspberry Pi RGB LCD HAT mitjançant EasyEDA
Durant el disseny del PCB per a Raspberry Pi RGB LCD HAT, la part més difícil va ser aconseguir la petjada correcta. Si les dimensions van malament, els components no cabran al PCB. Però, per sort, EasyEDA proporciona petjades per a gairebé tots els components del mercat. Això es deu a la seva àmplia comunitat d'usuaris, on els usuaris creen petjades i la fan disponible per al públic per utilitzar-la en els seus projectes.
EasyEDA és una eina EDA en línia que he utilitzat anteriorment moltes vegades i que em va semblar molt convenient, ja que té una bona col·lecció d’empremtes i és de codi obert. Després de dissenyar el PCB, podem demanar les mostres de PCB mitjançant els seus serveis de fabricació de PCB de baix cost: JLCPCB. També ofereixen serveis d’aprovisionament de components on tenen un gran estoc de components electrònics i els usuaris poden demanar els components necessaris juntament amb la comanda de PCB.
Mentre dissenyeu els circuits i els PCB, també podeu fer públics els vostres circuits i els dissenys de PCB perquè altres usuaris puguin copiar-los o editar-los i aprofitar-se del vostre treball, també hem fet públic aquest disseny de barret LCD Pi RGB. Consulteu el següent enllaç:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Podeu veure qualsevol capa (superior, inferior, de seda superior, seda inferior, etc.) del PCB seleccionant la capa de la finestra "Capes". A part d'això, també proporcionen una vista del model 3D del PCB sobre com apareixeria després de la fabricació. La instantània de la capa superior i inferior de la pantalla LCD HAT seria semblant a aquesta:

Càlcul i ordenació de mostres de PCB en línia mitjançant EasyEDA
Després de completar el disseny d’aquest HAT LCD PI RGB, podeu demanar el PCB a través de JLCPCB.com. Per demanar el PCB a JLCPCB, necessiteu Gerber File. Podeu descarregar el fitxer Gerber des de l’enllaç següent:
- Fitxer Gerber per a barret LCD RGB de Raspberry Pi
Per generar els fitxers Gerber del PCB, només cal que feu clic al botó Genera un fitxer de fabricació de la pàgina de l'editor EasyEDA i, a continuació, descarregueu el fitxer Gerber des d'allà o feu clic a Comanda a JLCPCB com es mostra a la imatge següent. Això us redirigirà a JLCPCB.com, on podeu seleccionar el nombre de PCB que voleu demanar, quantes capes de coure necessiteu, el gruix del PCB, el pes del coure, el color de la PCB i altres paràmetres de PCB, com ara la instantània que es mostra a continuació:

Després de fer clic al botó " Comanda a JLCPCB ", us portarà al lloc web de JLCPCB, on podreu demanar el PCB a un preu molt baix, que és de 2 $. El seu temps de construcció també és molt inferior, que és de 48 hores amb un lliurament DHL de 3-5 dies. Rebreu els vostres PCB en una setmana després de fer la comanda.

Després de demanar el PCB, podeu comprovar el progrés de producció del PCB amb la data i l'hora. Podeu comprovar-ho accedint a la pàgina del compte i fent clic a l’enllaç "Progrés de producció" que hi ha a sota del PCB, tal com es mostra a la imatge següent.


Després d’uns dies de demanar PCB, vaig obtenir les mostres de PCB en un excel·lent embalatge, tal com es mostra a les imatges següents.


Després d'assegurar-se que les petjades i les petjades eren correctes. Vaig procedir al muntatge del PCB. El tauler completament soldat té l’aspecte següent:

Configuració de Raspberry Pi per a barret LCD
Abans de començar a programar, el Raspberry Pi actualitza primer el Raspberry Pi i instal·la algunes biblioteques necessàries. Executeu les ordres següents per actualitzar i actualitzar Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
Ara instal·leu la biblioteca Adafruit_Blinka per a LEDs NeoPixel. La biblioteca Adafruit_Blinka proporciona el suport de CircuitPython a Python.
sudo pip3 instal·la adafruit-circuitpython-neopixel
Després, instal·leu la biblioteca Adafruit_CharLCD per al mòdul LCD. Aquesta biblioteca és per a plaques LCD Adafruit, però també funciona amb altres plaques LCD de marca.
sudo pip3 instal·la Adafruit-CharLCD
Codi Python per a Raspberry Pi LCD HAT
Aquí demostrem el barret LCD RGB per a Raspberry Pi mitjançant l'ús de pocs commutadors per mostrar alguns valors particulars al mòdul LCD i als LED RGB com a indicadors. Per tant, hem de programar el Raspberry Pi de manera que, quan premem un commutador, mostri alguns valors del sensor o altres.
Es dóna un codi python complet al final de la pàgina. Aquí expliquem el codi pas a pas.
Inicieu el codi important totes les biblioteques necessàries.
importar RPi.GPIO com GPIO importar neopixel importar temps importar tauler importar Adafruit_CharLCD com a LCD
Després, definiu tots els pins GPIO on estiguin connectats el LCD i altres commutadors.
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
Ara, definiu el mode GPIO mitjançant el mode BCM. També podeu canviar-lo per BOARD. A continuació, definiu tots els pins de commutació com a entrades.
GPIO.setmode (GPIO.BCM) # Utilitza els números GPIO de BCM GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.IN)
Després, definiu el pin GPIO on estan connectats els LED de Neo Pixel. A continuació, definiu el número de LEDs de Neo Pixel. Aquí s’utilitzen tres LEDs, que podeu canviar segons les vostres necessitats.
pixel_pin = board.D21 num_pixels = 3
Ara dins de la funció lcddisplay () , assigneu una tasca particular a cada commutador. Per exemple, aquí quan es prem el primer commutador, Raspberry Pi ha de mostrar "UP" a la pantalla LCD i, quan es prem el segon commutador, ha de mostrar "DOWN" a la pantalla LCD i així successivament per als altres dos botons.
En lloc d'imprimir alguna cosa en una pantalla LCD, podeu utilitzar aquests commutadors per realitzar una tasca diferent. Per exemple, podeu utilitzar l'interruptor 1 per mostrar el valor de la temperatura, l'interruptor 2 per mostrar els valors d'humitat i el commutador 3 per mostrar els valors de pressió, 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')
Ara dins del bucle true mentre que , la funció pixels.fill s’utilitza per il·luminar els Neo Pixels en diferents colors. Per tant, el Pi està programat per il·luminar els Neo Pixels amb color vermell verd i blau durant un segon cadascun.
També podeu utilitzar aquests Neo Pixels com a indicadors. Per exemple, podeu il·luminar un Neo Pixel amb color vermell per indicar que el Pi està connectat a la font d'alimentació o podeu utilitzar altres LED per indicar que el Pi està rebent o enviant les dades, 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)) pixels.show () time.sleep (1) rainbow_cycle (0,001)
Prova del Raspberry Pi RGB LCD HAT
Després de muntar el LCD i d’interfocar-lo amb Raspberry Pi, estem preparats per utilitzar aquest HAT LCD PI RGB. Per a això, executeu el codi python mitjançant l'ordre següent.
python code_filename.py
Ara premeu els interruptors. Quan premeu el commutador SW0, hauria d'imprimir "UP" a la pantalla LCD. Per al commutador SW2, hauria d'imprimir "Avall" i el mateix per a la resta d'interruptors.

A continuació es mostra un vídeo de treball complet juntament amb el codi Python.
