INHOUDSOPGAWE:
- Stap 1:
- Stap 2:
- Stap 3: Aan die gang - hardeware
- Stap 4: Aan die gang - sagteware
- Stap 5: Die tweekleurige LED's
- Stap 6: Die 7-segment skerm
- Stap 7:
- Stap 8:
- Stap 9:
- Stap 10: Die knoppies
Video: Arduino en TM1638 LED -skermmodules: 11 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
As u 'n vinnige en maklike manier nodig het om gebruikersinvoer en -uitsette by 'n projek te voeg, is hierdie vertoonmodules interessant en lekker.
Dit bevat agt 7-segment rooi LED-syfers, agt rooi/groen LED's en ook agt knoppies vir gebruikersinvoer. Die eenhede kan ook daisy-vasgeketting wees, wat tot vyf gelyktydig toegelaat kan word, en 'n kort kabel is by elke module ingesluit, asook 'n paar afstandhouers en boute, soos in die prentjie getoon.
Stap 1:
Die afstandhouers is net lank genoeg om die PCB bo 'n oppervlak te lig, maar om die planke op enige nuttige plek te monteer, benodig u langer. U kan ook die IDC -voetstukke verwyder as u die module naby die oppervlak van 'n paneel wil monteer. Dit is 'n eenvoudige ontlontaak, aangesien dit voetstukke is.
Stap 2:
Die bord word beheer deur 'n TM1638 IC.
Dit is 'n LED- en koppelvlakbestuurder -IC van "Titan Micro Electronics". U kan hierdie IC's ook by PMD Way koop. U kan ook die datablad aflaai vir meer besonderhede.
Stap 3: Aan die gang - hardeware
Hardeware-Die verbinding met 'n Arduino-versoenbare bord (of ander MCU) is redelik eenvoudig. Die pinouts word aan die agterkant van die printplaat getoon en pas by die passtuk op die lintkabel. As u na die einde van die kabel as sodanig kyk.
Die gat regs bo is pen een, met die linker boonste pen twee, die onderste regter pen nege en onderste linker pen tien. Daarom is die pinouts:
- Vcc (5V)
- GND
- CLK
- DIO
- STB1
- STB2
- STB3
- STB4
- STB5
- Nie gekonnekteer nie.
Vir Arduino -gebruik is penne 1 ~ 4 die minimum wat nodig is om een module te gebruik. Elke bykomende module benodig 'n ander digitale pen wat gekoppel is aan STB2, STB3, ens. Meer hieroor later. Let daarop dat elke module wat op volle helderheid is met elke LED aan, 127 mA verbruik, dus dit sal verstandig wees om eksterne krag te gebruik met meer as een module en ander verbindings met Arduino -borde.
Stap 4: Aan die gang - sagteware
Sagteware - laai die T1638 -biblioteek af en installeer dit hier. Dankie en eer aan rjbatista by gmail dot com vir die biblioteek. Die inisiëring van modules in die skets is eenvoudig. Sluit die biblioteek in met:
#insluit
gebruik dan een van die volgende vir elke module:
TM1638 -module (x, y, z);
x is die Arduino digitale pen wat gekoppel is aan die module kabel pen 4, y is die Arduino digitale pen wat gekoppel is aan die module kabel pen 3, en z is die strofe pen. As u dus een module met data, horlosie en strobe aan penne 8, 7 en 6 gekoppel het, sou u die volgende gebruik:
TM1638 -module (8, 7, 6);
As u twee modules gehad het, met die module se strobe gekoppel aan Arduino digital 6 en module twee se strobe aan digitaal 5, sou u die volgende gebruik:
TM1638 module (8, 7, 6); TM1638 module (8, 7, 5);
en so meer vir meer modules. Nou om die skerm te beheer …
Stap 5: Die tweekleurige LED's
Dit is maklik om die rooi/groen LED's te beheer. Ter verwysing word hulle van nul tot sewe van links na regs genommer. Om 'n enkele LED aan of uit te skakel, gebruik die volgende:
module.setLED (TM1638_COLOR_RED, x); // stel LED nommer x in op redmodule.setLED (TM1638_COLOR_GREEN, x); // stel LED -nommer x in op groen module.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // stel LED nommer x op rooi en groen
Die gebruik van die bogenoemde metode is eenvoudig, maar dit is ietwat ondoeltreffend. 'N Beter manier is om al die LED's in een verklaring aan te spreek. Om dit te kan doen, stuur ons twee grepe data in heksadesimaal na die skerm. Die MSB (die belangrikste byte) bestaan uit agt bisse, wat elk 'n groen LED aandui (1) of af (0). Die LSB (minste beduidende byte) verteenwoordig die rooi LED's.
'N Maklike manier om die heksadesimale waarde vir die beheer van die LED's te bepaal, is eenvoudig; die prentjie het een ry LED's - die eerste agt is groen en die tweede agt rooi. Stel elke syfer op 1 vir aan en 0 vir af. Skakel die twee binêre getalle om na heksadesimaal en gebruik hierdie funksie:
module.setLEDs (0xgroenrooi);
Waar groen die heksadesimale getal vir die groen LED's is en rooi die heksadesimale getal vir die rooi LED's. Byvoorbeeld, om die eerste drie LED's as rooi en die laaste drie as groen aan te skakel, sal die binêre voorstelling wees:
00000111 11100000, wat in heksadesimaal E007 is.
Ons sou dus gebruik maak van:
module.setLEDs (0xE007);
wat die beeld produseer soos hierbo getoon.
Stap 6: Die 7-segment skerm
Om die numeriese skerm te verwyder (maar nie die LED's hieronder nie), gebruik eenvoudig:
module.clearDisplay ();
of om elke segment EN al die LED's aan te skakel, gebruik die volgende
module.setupDisplay (waar, 7); // waar 7 intensiteit is (van 0 ~ 7)
Gebruik die funksie om desimale getalle te vertoon:
module.setDisplayToDecNumber (a, b, false);
waar a die heelgetal is, b is die posisie vir die desimale punt (0 vir geen, 1 vir syfer 8, 2, vir syfer 7, 4 vir syfer 6, 8 vir syfer 4, ens) en die laaste parameter (waar/ vals) skakel voorste nulle in of uit. Die volgende skets toon die gebruik van hierdie funksie aan:
#include // definieer 'n module op data -pen 8, klokpen 9 en strobospen 7 TM1638 -module (8, 9, 7); ongetekend lank a = 1; leemte -opstelling () {} leegte -lus () {vir (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); vertraging (1); } vir (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); vertraging (1); }}
… met die resultate in die video.
Stap 7:
Een van die interessantste kenmerke is die moontlikheid om teks oor een of meer skerms te blaai. Om dit te kan doen, is nie regtig 'n verduideliking nodig nie, aangesien die meegaande demonstrasie -skets:
tm_1638_scrolling_modules_example.pde
wat by die TM1638 -biblioteek ingesluit is, word maklik gevolg. Voeg net u teks in die const char string in, sorg dat die module (s) aan die begin van die skets volgens die module definisie bedraad is en dat u gereed is. Besoek die funksiebladsy om die beskikbare karakters te sien. Let daarop dat die skerm slegs sewe segmente bevat, sodat sommige karakters miskien nie perfek lyk nie, maar in konteks 'n goeie idee sal gee-kyk na die video in hierdie stap.
Stap 8:
Uiteindelik kan u ook elke segment van elke syfer individueel aanspreek. Oorweeg die inhoud van hierdie skikking:
greepwaardes = {1, 2, 4, 8, 16, 32, 64, 128};
elke element verteenwoordig syfers 1 ~ 8. Die waarde van elke element bepaal watter segment van die syfer aangeskakel word. Vir segmente a ~ f, dp is die waardes 1, 2, 4, 6, 16, 32, 64, 128. Die resultate van die gebruik van die skikking hierbo in die volgende funksie:
module.setDisplay (waardes);
sal volgens die beeld wees.
Stap 9:
U kan natuurlik waardes vir elke syfer kombineer om u eie karakters, simbole, ens. Gebruik byvoorbeeld die volgende waardes:
greepwaardes = {99, 99, 99, 99, 99, 99, 99, 99};
ons het volgens die beeld in hierdie stap geskep.
Stap 10: Die knoppies
Die waardes van die knoppies word as 'n bytewaarde van die funksie teruggestuur:
module.getButtons ();
Aangesien daar agt knoppies is, verteenwoordig elkeen 'n bietjie van 'n binêre getal wat as byte teruggegee word. Die knoppie aan die linkerkant gee desimale een terug, en die regterkant gee 128. Dit kan ook gelyktydige druk gee, sodat druk op knoppies een en agt 129 gee. Beskou die volgende skets, wat die waardes van die druk van die knoppies in desimale vorm teruggee die waarde:
#include // definieer 'n module op data -pen 8, klokpen 9 en strobospen 7 TM1638 -module (8, 9, 7); grepe knoppies; leemte -opstelling () {} leemte -lus () {knoppies = module.getButtons (); module.setDisplayToDecNumber (knoppies, 0, vals); }
en die resultate in die video.
Hierdie vertoonborde is nuttig en vind hopelik 'n tuiste in u projekte. Hierdie pos word deur pmdway.com aan u gebring - bied alles vir vervaardigers en elektronika -liefhebbers, met gratis aflewering wêreldwyd.
Aanbeveel:
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Arduino Uno visvoerder in 6 goedkoop en maklike stappe !: 6 stappe
Arduino Uno Fish Feeder in 6 goedkoop en maklike stappe !: 'n Bietjie agtergrond kan dus nodig wees vir hierdie projek. Mense met troeteldiervisse het waarskynlik dieselfde probleem as ek gehad: vakansies en vergeetagtigheid. Ek het voortdurend vergeet om my vis te voer, en ek het altyd probeer om dit te doen voordat dit gebeur het
Hoe om Neopixel Ws2812 LED of LED STRIP of Led Ring met Arduino te gebruik: 4 stappe
Hoe om Neopixel Ws2812 LED of LED STRIP of Led Ring met Arduino te gebruik: Hallo ouens, aangesien Neopixel led Strip baie gewild is, en dit word ook genoem ws2812 led strip. Hulle is baie gewild, want in hierdie LED -strook kan ons elke LED afsonderlik aanspreek, wat beteken dat as u wil hê dat min LED's in een kleur moet gloei
ESP8266 RGB LED STRIP WIFI Control - NODEMCU As 'n IR -afstandsbediening vir LED -strook wat via wifi bestuur word - RGB LED STRIP -slimfoonbeheer: 4 stappe
ESP8266 RGB LED STRIP WIFI Control | NODEMCU As 'n IR -afstandsbediening vir LED -strook wat via wifi bestuur word | RGB LED STRIP -slimfoonbeheer: Hallo ouens, in hierdie tutoriaal leer ons hoe om nodemcu of esp8266 as 'n IR -afstandsbediening te gebruik om 'n RGB LED -strook te beheer, en Nodemcu word deur 'n slimfoon oor wifi beheer. U kan dus die RGB LED STRIP met u slimfoon beheer