Taula de continguts:
- Pas 1: components
- Pas 2: primers prototips
- Pas 3: disseny de PCB
- Pas 4: Programació
- Pas 5: proves
- Pas 6: Conclusió i passos següents
Vídeo: Mòdul de pantalla LED múltiple: 6 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Hola a tots, M'agrada treballar amb pantalles LED amb 7 segments o amb matriu de punts i ja vaig fer molts projectes diferents amb ells.
Sempre que són interessants perquè hi ha alguna mena de màgia en com poden funcionar perquè el que veieu és una il·lusió òptica.
Les pantalles tenen molts pins per a la connexió amb un Arduino (o un altre microcontrolador) i la millor solució és aplicar les tècniques de multiplexació de dades per minimitzar l’ús dels seus ports.
Quan feu això, cada segment o cada LED s’encendran durant uns quants instants (mil·lisegons o menys), però la seva repetició en tantes vegades per segon crea la il·lusió de la imatge que voleu que es mostri.
Per a mi, el més interessant és desenvolupar la lògica, el programa per esbrinar com poden mostrar la informació correcta segons el vostre projecte.
En un sol projecte, utilitzar pantalles requereix molt de temps per muntar tots els components en una placa amb molts cables per a connexions.
Sé que hi ha moltes pantalles diferents que funcionen amb I2C al mercat, amb formes simplificades (o no) de programar-les i també les he fet servir, però prefereixo treballar amb components estàndard com 74HC595 (multiplexor IC) i ULN2803 (controladors) perquè us donen més control al vostre programa i també més robustesa i fiabilitat en la vostra utilització.
Per simplificar el procés de muntatge, he desenvolupat un mòdul LED Dipslay per a múltiples propòsits utilitzant components simples i comuns al món d'Arduino.
Amb aquest mòdul podeu treballar amb matriu de punts amb LEDs de doble color en dues mides estàndard (més grans i més petites) i també podeu controlar la pantalla de 7 x 4 dígits que són molt habituals i fàcils de trobar al mercat.
I també podeu treballar amb aquests mòduls en cascada de manera sèrie (diferents dades en pantalles) o en paral·lel (les mateixes dades en pantalles).
Vegem, doncs, com pot funcionar aquest mòdul i ajudar-lo en els seus desenvolupaments.
Vídeo (mòdul de visualització LED)
Vídeo (prova de matriu de punts)
Salutacions, LAGSILVA
Pas 1: components
PCB (placa de circuit imprès)
- 74HC595 (03 x)
- ULN2803 (02 x)
- Transistor PNP - BC327 (08 x)
Resistència de 150 ohms (16 x)
Resistència de 470 ohms (08 x)
Condensador 100 nF (03 x)
Socket IC 16 pins (03 x)
Socket IC 18 pins (02 x)
- Connector de pin femella - 6 pins (8 x)
- Capçaleres de pin 90º (01 x)
- Capçaleres de pin 180º (01 x)
Conector Borne KRE 02 pins (02 x)
- PCB (01 x) - Fabricat
Altres
- Arduino Uno R3 / Nano / similar
- Pantalla LED 04 dígits x 7 segments - (ànode comú)
- Matriu de punts LED de doble color (verd i vermell) - (ànode comú)
Observacions importants:
- He posat el full de dades de tots els components més importants només com a referència, però heu de comprovar el full de dades dels vostres propis components abans d’utilitzar-los.
- Aquest tauler va ser dissenyat per utilitzar només pantalles d'ÀNODE COMUN.
Pas 2: primers prototips
El meu primer prototip es va fer en una taula de proves per provar el circuit.
Després vaig fer un altre prototip amb un tauler universal, tal com es pot veure a les imatges.
Aquest tipus de tauler és interessant per produir un prototip ràpid, però t’adones que encara es conserven molts cables.
És una solució funcional però no tan elegant en comparació amb un PCB fabricat final (el blau).
No sóc bo amb la soldadura perquè no tinc prou experiència amb aquest procés, però fins i tot he obtingut bons resultats amb les dues experiències i més important: no he cremat cap component ni les mans.
Probablement, els resultats del meu proper tauler seran millors a causa de la pràctica.
Per això, us animo a provar aquest tipus d’experiència perquè serà excel·lent per a vosaltres.
Només cal tenir en compte tenir cura amb la planxa calenta i intentar no passar més de pocs segons en un component per evitar cremar-lo !!
I, finalment, a Youtube podeu trobar molts vídeos sobre soldadura que podeu aprendre abans d’anar al món real.
Pas 3: disseny de PCB
Vaig dissenyar aquest PCB usant un programari dedicat per produir una placa de doble capa i es va desenvolupar diverses versions diferents abans d'aquesta última.
Al principi, tenia una versió per a cada tipus de pantalla i, al cap i a la fi, vaig decidir combinar-ho tot en una sola versió.
Objectius de disseny:
- Senzill i útil per a prototips.
- Configuració fàcil i expansible.
- Capaç d'utilitzar 3 tipus diferents de pantalles.
- Amplada màxima de la gran matriu de punts del LED.
- Llargada màxima a 100 mm per minimitzar els costos de producció del tauler.
- Apliqueu components tradicionals en lloc de SMD per evitar més dificultats durant el procés de soldadura manual.
- La placa ha de ser modular per poder connectar-la amb altres plaques en cascada.
- Sortida en sèrie o paral·lel per a altres plaques.
- Només un Arduino ha de controlar diverses taules.
- Només hi ha 3 cables de dades per a la connexió d'Arduino.
- Connexió d'alimentació externa de 5V.
- Augmenteu la robustesa elèctrica aplicant transistors i controladors (ULN2803) per controlar els LEDS.
Observació:
Relacionat amb aquest darrer ítem, us recomano que llegiu altres instruccions sobre aquests components:
Mitjançant Shift Register 74HC595 amb ULN2803, UDN2981 i BC327
Fabricació de PCB:
Després d'acabar el disseny, el vaig enviar a un fabricant de PCB a la Xina després de fer moltes cerques amb diferents proveïdors locals i en diferents països.
El problema principal estava relacionat amb la quantitat de taulers i el cost, ja que només en necessito alguns.
Finalment, vaig decidir fer una comanda regular (no una comanda expressa a causa de costos més elevats) de només 10 taules amb una empresa de la Xina.
Després de només 3 dies, les taules es van fabricar i em van enviar creuant el món en més de 4 dies.
Els resultats van ser excel·lents !!
En una setmana després de la comanda de compra, les taules eren a les meves mans i em va impressionar molt l’alta qualitat i la rapidesa.
Pas 4: Programació
Per a la programació heu de tenir en compte alguns conceptes importants sobre el disseny del maquinari i sobre el registre de desplaçament 74HC595.
La funció principal de 74HC595 és transformar 8-Bit Serial-In en 8 Parallel-Out Shift.
Totes les dades de sèrie van al pin núm. 14 i a cada senyal de rellotge els bits van als seus corresponents pins paral·lels (Qa a Qh).
Si continueu enviant més dades, els bits es mouran un per un al Pin # 9 (Qh ') com a sortida serial de nou i degut a aquesta funcionalitat podeu posar altres xips connectats en cascada.
Important:
En aquest projecte tenim tres CI de 74HC595. Els dos primers treballen per controlar les columnes (amb lògica POSITIVA) i l'últim per controlar les línies (amb lògica NEGATIVA a causa del funcionament dels transistors PNP).
La lògica positiva significa que heu d’enviar un senyal de nivell ALT (+ 5V) des d’Arduino i la lògica negativa voleu enviar un senyal de nivell BAIX (0V).
Matriu de punts de LEDs
- El primer és per a les sortides dels càtodes dels LED vermells (8 x) >> COLUMN RED (1 a 8).
- El segon és per a la sortida L dels càtodes de LEDs verds (8 x) >> COLUMN GREEN (1 a 8).
- L'últim és per a la sortida d'ànodes de tots els LED (08 x vermell i verd) >> LÍNIES (1 a 8).
Per exemple, si voleu activar només el LED verd de la columna 1 i la línia 1, heu d'enviar la següent seqüència de dades en sèrie:
1º) LÍNIES
~ 10000000 (només la primera línia està activada): el símbol ~ és invertir tots els bits de 1 a 0 i viceversa.
2º) COLUMNA Verda
10000000 (només la primera columna de LED verd està activada)
3º) COLUMNA VERMELL
00000000 (totes les columnes dels LED vermells estan apagats)
Afirmacions Arduino:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000); // Lògica negativa per a les línies
shiftOut (dataPin, clockPin, LSBFIRST, B10000000); // Lògica positiva per a les columnes Verdes
shiftOut (dataPin, clockPin, LSBFIRST, B00000000); // Lògica positiva per a les columnes vermelles
Observació:
També podeu combinar els dos LED (verd i vermell) per produir el color GROC de la següent manera:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
shiftOut (dataPin, clockPin, LSBFIRST, B10000000);
Visualització de 7 segments
Per a aquest tipus de pantalles, la seqüència és la mateixa. L'única diferència és que no cal utilitzar els LED verds.
1º) DIGIT (1 a 4 d'esquerra a dreta) ~ 10000000 (dígit # 1)
~ 01000000 (dígit definit # 2)
~ 00100000 (dígit definit # 3)
~ 00010000 (dígit definit # 4)
2º) NO ÚS
00000000 (tots els bits es posen a zero)
3º) SEGMENTS (A a F i DP: comproveu el full de dades de la pantalla)
10000000 (segment del segment A)
01000000 (segment del segment B)
00100000 (segment del segment C)
00010000 (fixa el segment D)
00001000 (segment del segment E)
00000100 (segment del segment F)
00000010 (segment del segment G)
00000001 (conjunt DP)
Exemple d'Arduino per configurar la pantalla # 2 amb el número 3:
shiftOut (dataPin, clockPin, LSBFIRST, ~ B01000000); // Estableix DISPLAY 2 (lògica negativa)
shiftOut (dataPin, clockPin, LSBFIRST, 0); // Estableix les dades a zero (no s’utilitza)
shiftOut (dataPin, clockPin, LSBFIRST, B11110010); // Estableix els segments A, B, C, D, G)
Finalment, aplicant aquest procés, podeu controlar qualsevol LED de la pantalla i també podeu crear els caràcters especials que necessiteu.
Pas 5: proves
Aquí hi ha dos programes com a exemple de funcionalitat del mòdul de visualització.
1) Visualització del compte enrere (de 999,9 segons a zero)
2) Matriu de punts (dígits 0 a 9 i alfabet A a Z)
3) Rellotge digital RTC en pantalla LED de 4 dígits i 7 segments
Aquesta última és una actualització de la meva primera versió de Digital Clock.
Pas 6: Conclusió i passos següents
Aquest mòdul serà útil en tots els futurs projectes que requereixin una pantalla LED.
Com a passos següents, reuniré més taulers per treballar amb ells en mode cascada i desenvoluparé també una biblioteca per simplificar encara més la programació.
Espero que us hagi agradat aquest projecte.
Si us plau, envieu-me els vostres comentaris perquè això és important per millorar el projecte i la informació d’aquest Instructible.
Salutacions, LAGSILVA
26 de maig de 2016
Recomanat:
Pantalla tàctil Macintosh - Mac clàssic amb un iPad Mini per a la pantalla: 5 passos (amb imatges)
Pantalla tàctil Macintosh | Mac clàssic amb un iPad Mini per a la pantalla: Aquesta és la meva actualització i disseny revisat sobre com substituir la pantalla d'un Macintosh vintage per un iPad mini. Aquest és el sisè d'aquests que he fet al llarg dels anys i estic bastant content de l'evolució i el disseny d'aquest! El 2013, quan vaig fer
Pantalla LCD I2C / IIC - Utilitzeu un LCD SPI a la pantalla LCD I2C mitjançant el mòdul SPI a IIC amb Arduino: 5 passos
Pantalla LCD I2C / IIC | Utilitzeu un LCD SPI a la pantalla LCD I2C Utilitzant el mòdul SPI a IIC amb Arduino: Hola, ja que un SPI LCD 1602 normal té massa cables per connectar-se, de manera que és molt difícil connectar-lo amb arduino, però hi ha un mòdul disponible al mercat. converteix la pantalla SPI en pantalla IIC, de manera que només heu de connectar 4 cables
Com fer un rellotge en temps real amb la pantalla Arduino i TFT - Arduino Mega RTC amb pantalla TFT de 3,5 polzades: 4 passos
Com fer un rellotge en temps real amb pantalla Arduino i TFT | Arduino Mega RTC amb pantalla TFT de 3,5 polzades: visiteu el meu canal de Youtube. Introducció: - En aquest post vaig a fer "Rellotge en temps real" amb LCD TFT tàctil de 3,5 polzades, Arduino Mega Mòdul RTC 2560 i DS3231 … Abans de començar … comproveu el vídeo del meu canal de YouTube … Nota: - Si utilitzeu Arduin
Arduino Uno: Animació de mapa de bits en pantalla de pantalla tàctil ILI9341 TFT amb visuino: 12 passos (amb imatges)
Arduino Uno: Animació de mapa de bits a la pantalla tàctil ILI9341 amb pantalla tàctil TFT amb Visuino: els pantalles tàctils TFT basats en ILI9341 són pantalles de pantalla molt populars per a Arduino. Visuino els ha donat suport des de fa força temps, però mai no vaig tenir l'oportunitat d'escriure un tutorial sobre com utilitzar-los. Recentment, però, poca gent va preguntar
SUPORT MULTIPLE DE BATERIES: per a experiments elèctrics: 5 passos (amb imatges)
SUPORT MULTIPLE DE BATERIES: per a experiments elèctrics: aquest suport per a bateries gestionarà 1, 2 o 3 bateries AAA. Es pot fer més llarg per manejar-ne més. De la mateixa manera que una molla de pinça de roba força a tancar la punta de la pinça de roba, fa que l'extrem del mànec es separi. Aquesta pressió exterior s’utilitza per mantenir