Sisukord:
- Tarvikud
- Samm: kontrollige pakendit
- 2. samm: natuke sellest konkreetsest punktmaatriksist
- Samm: draiver MAX7219
- 4. samm: vooluring
- Samm: kood
- 6. samm: väljund
Video: MAX7219 LED -punktmaatriksi kokkupanek ja testimine: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Punktmaatriksekraan on kuvaseade, mis sisaldab maatriksi kujul joondatud valgusdioode. Seda punktmaatriksi kuvarit kasutatakse rakendustes, kus sümbolid, graafilised, tähemärgid, tähestikud ja numbrid tuleb kuvada koos nii staatiliselt kui ka Keriv liikumine. Punktmaatriksekraani toodetakse erinevates mõõtmetes, näiteks 5x7, 8x8, 16x8, 128x16, 128x32 ja 128x64, kus numbrid tähistavad ridade ja veergude LED -e. Samuti on need kuvarid erinevates värvides, näiteks punane, roheline, kollane, sinine, Oranž, valge.
Selles juhendis tutvun 8x8 punktmaatriksiga, millel on MAX7219 draiver, liides Arduino Unoga. Alustame.
Tarvikud
MAX7219
Samm: kontrollige pakendit
Nagu näete, on mul draiveriplaadi smt -versioon, on väga oluline kontrollida kõiki vajalikke komponente, kuna smd -komponendid on väga väikesed ja saate need hõlpsalt kaotada. Internetis on saadaval ka dip -versioon, kuid ma kasutasin seda smt versioon oma suuruse järgi.
2. samm: natuke sellest konkreetsest punktmaatriksist
üks moodul võib juhtida 8x8 punktmaatriksi ühist katoodi.
Tööpinge: 5 v
Mõõdud: pikkus 3,2 cm X 3,2 cm lai X 1,3 cm kõrge, nelja kruviga augud, läbimõõt 3 mm
Sisend- ja väljundliidestega moodulid, mitme mooduli kaskaadimise tugi.
Data IN ja OUT terminalid on moodulil määratud.
Samm: draiver MAX7219
MAX7219 on 8x8 LED -MATRIX -i juhtimiseks mõeldud IC. IC on jadasisendiga ühise katoodiga (ühine negatiivne) kuvaridraiver, mis ühendab mikroprotsessorid (või mikrokontrollerid) kuni 7-kohaliste kuni 8-kohaliste numbriliste LED-ekraanide, tulpdiagrammide või 64 üksikute LED-idega.
Omadused ja spetsifikatsioonid
Tööpinge vahemik: +4,0 kuni +5,5V
Soovitatav tööpinge: +5V
Maksimaalne toitepinge: 6V
Maksimaalne vool, mis on lubatud tõmmata läbi iga segmendi tihvti: 100 mA
Maksimaalne lubatud vool läbi iga DIGIT maanduspistiku: 500 mA
Madal energiatarve
Andmete segmendi viivitusaeg: 2,2 mSek
Töötemperatuur: 0 ° C kuni +70 ° C
Säilitustemperatuur: -65 ° C kuni +150 ° C
4. samm: vooluring
Vooluahel on üsna lihtne ja seda saab ehitada isaste ja naissoost hüppajate juhtmete abil. Lihtsalt järgige pinouti ja looge vooluring. Saate selle hiljem PCB -le kokku panna, kui teete maatriksi jaoks alalist rakendust.
Pin -i konfiguratsioon on järgmine:
- Vcc kuni 5V pinniga Arduino.
- Gnd kuni Gnd Pin Arduino.
- DIN Arduino digitaalsele tihvtile 12.
- CS Arduino digitaalsele tihvtile 11
- CLK kuni Arduino digitaalse pin 10 -ni.
Samm: kood
Siin selles juhendis pakun teile kahte erinevat koodi. Üks loob maatriksil mõned inglise tähestikud ja emotikonid. Teine aga süttib kõik 64 LED -i ükshaaval. Töötamiseks peate kasutama teeki lledcontrol.
See on inglise tähestike ja naeratuste kood
#include int DIN = 12; int CS = 11; int CLK = 10; bait e [8] = {0x7C, 0x7C, 0x60, 0x7C, 0x7C, 0x60, 0x7C, 0x7C}; bait d [8] = {0x78, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x78}; bait u [8] = {0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bait c [8] = {0x7E, 0x7E, 0x60, 0x60, 0x60, 0x60, 0x7E, 0x7E}; kaheksa bait [8] = {0x7E, 0x7E, 0x66, 0x7E, 0x7E, 0x66, 0x7E, 0x7E}; bait s [8] = {0x7E, 0x7C, 0x60, 0x7C, 0x3E, 0x06, 0x3E, 0x7E}; baitpunkt [8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18}; bait o [8] = {0x7E, 0x7E, 0x66, 0x66, 0x66, 0x66, 0x7E, 0x7E}; bait m [8] = {0xE7, 0xFF, 0xFF, 0xDB, 0xDB, 0xDB, 0xC3, 0xC3}; LedControl lc = LedControl (DIN, CLK, CS, 0); void setup () {lc.shutdown (0, false); // MAX72XX on käivitamisel energiasäästurežiimis lc.setIntensity (0, 15); // Seadke heledus maksimaalsele väärtusele lc.clearDisplay (0); // ja kustuta ekraan} void loop () {bait naeratus [8] = {0x3C, 0x42, 0xA5, 0x81, 0xA5, 0x99, 0x42, 0x3C}; baitne neutraalne [8] = {0x3C, 0x42, 0xA5, 0x81, 0xBD, 0x81, 0x42, 0x3C}; bait kortsutab kulmu [8] = {0x3C, 0x42, 0xA5, 0x81, 0x99, 0xA5, 0x42, 0x3C}; printByte (naeratus); viivitus (1000); printByte (neutraalne); viivitus (1000); printByte (kortsutab kulmu); viivitus (1000); printEduc8s (); lc.clearDisplay (0); viivitus (1000); } tühine printEduc8s () {printByte (e); viivitus (1000); printByte (d); viivitus (1000); printByte (u); viivitus (1000); printByte (c); viivitus (1000); printByte (kaheksa); viivitus (1000); printByte (s); viivitus (1000); printByte (punkt); viivitus (1000); printByte (c); viivitus (1000); printByte (o); viivitus (1000); printByte (m); viivitus (1000); } void printByte (baitmärk ) {int i = 0; jaoks (i = 0; i <8; i ++) {lc.setRow (0, i, märk ); }}
ja kõigi 64 LED -i testimise kood
// Peame alati kaasama raamatukogu#include "LedControl.h"
/*
Nüüd vajame töötamiseks LedControli. ***** Need pin -numbrid teie riistvaraga tõenäoliselt ei tööta ***** pin 12 on ühendatud DataIn -i tihvtiga 10 on ühendatud CLK -ga tihvt 11 on ühendatud LOADiga Meil on ainult üks MAX72XX. */ LedControl lc = LedControl (12, 11, 10, 1);
/ * ootame alati ekraani värskenduste vahel natuke * */
allkirjastamata pikk viivitusaeg = 100;
tühine seadistus () {
/ * MAX72XX on käivitamisel energiasäästurežiimis, peame tegema äratuskõne */ lc.shutdown (0, false); / * Seadke heledus keskmisele väärtusele */ lc.setIntensity (0, 8); / * ja tühjendage ekraan */ lc.clearDisplay (0); }
/*
See meetod kuvab maatriksil sõna "Arduino" tähemärgid üksteise järel. (tähemärkide nägemiseks vajate vähemalt 5x7 LED -i) */ void writeArduinoOnMatrix () {/ *siin on märgid */ bait a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110}; bait r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; bait d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; bait u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; bait i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; bait n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; bait o [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};
/ * kuva neid nüüd ükshaaval väikese viivitusega */
lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); viivitus (viivitusaeg); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); viivitus (viivitusaeg); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); viivitus (viivitusaeg); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); viivitus (viivitusaeg); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); viivitus (viivitusaeg); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); viivitus (viivitusaeg); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); viivitus (viivitusaeg); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); viivitus (viivitusaeg); }
/*
See funktsioon süttib mõnda LED -i järjest. Mustrit korratakse igal real. Muster vilgub koos rea numbriga. rea number 4 (indeks == 3) vilgub 4 korda jne. */ void rids () {for (int rida = 0; rida <8; rida ++) {delay (delaytime); lc.setRow (0, rida, B10100000); viivitus (viivitusaeg); lc.setRow (0, rida, (bait) 0); jaoks (int i = 0; i
/*
See funktsioon süttib veerus mõnda LED -i. Mustrit korratakse igas veerus. Muster vilgub koos veeru numbriga. veeru number 4 (indeks == 3) vilgub 4 korda jne. */ void column () {for (int col = 0; col <8; col ++) {delay (delaytime); lc.setColumn (0, kol, B10100000); viivitus (viivitusaeg); lc.setColumn (0, kol, (bait) 0); jaoks (int i = 0; i
/*
See funktsioon süttib maatriksil iga LED -i. LED vilgub koos rea numbriga. rea number 4 (indeks == 3) vilgub 4 korda jne */ void single () {for (int rida = 0; rida <8; rida ++) {jaoks (int col = 0; col <8; col ++) { viivitus (viivitusaeg); lc.setLed (0, rida, kollane, tõene); viivitus (viivitusaeg); jaoks (int i = 0; i
void loop () {
writeArduinoOnMatrix (); read (); veerud (); vallaline (); }
6. samm: väljund
Vaata täispikka videot siit: -MAX7219 8x8 LED MATRIX KOKKUVÕTMINE JA TESTIMINE ARDUINO abil
Kogu see raske töö tasub kindlasti tulemust nähes päris hästi ära. See on seda väärt !!
Telli minu youtube kanal: -Creative Stuff
Soovitan:
BBU Dropboxi testimine: 16 sammu
BBU Dropboxi testimine: see on väike arvuti aku tagavaraseade, mis on muudetud enesekindlaks dropboxiks. See on mõeldud arvuti või mõne väikese võrguseadme taha seadistamiseks ja jääb märkamatuks, samal ajal kui pentesteril on selle kaudu võrku kaugjuurdepääs. Eesmärk
Interneti -kiiruse testimine Raspberry Pi + Ubidotide abil: 9 sammu
Testige oma Interneti kiirust Raspberry Pi + Ubidotide abil: Raspberry Pi on muutunud laialdaselt kasutatavaks seadmeks mitte ainult prototüüpide koostamisel ja hariduslikel eesmärkidel, vaid ka ettevõtetesiseste tööstuslike tootmisprojektide jaoks. Lisaks Pi suurusele, madalale hinnale ja täielikult toimivale Linuxi operatsioonisüsteemile saab see ka suhelda
Temperatuuri andurite testimine - milline neist minu jaoks?: 15 sammu (piltidega)
Temperatuuri andurite testimine - milline neist minu jaoks?: Üks esimesi andureid, mida füüsilise andmetöötluse uustulnukad soovivad proovida, on midagi temperatuuri mõõtmiseks. Neli kõige populaarsemat andurit on TMP36, millel on analoogväljund ja mis vajab analoog -digitaalmuundurit DS18B20
Brainwave arvutiliidese prototüüp TGAM stardikomplekt Jootmine ja testimine: 7 sammu (piltidega)
Brainwave'i arvutiliidese prototüüp TGAM stardikomplekt Jootmine ja testimine: Viimase sajandi neuroteaduse uuringud on oluliselt suurendanud meie teadmisi ajust ja eriti ajus vallandavate neuronite elektrilistest signaalidest. Nende elektrisignaalide mustreid ja sagedusi saab mõõta
Epee kehajuhtme testimine ja parandamine: 9 sammu (piltidega)
Epee keha nööri testimine ja parandamine: kaasaegse, olümpia stiilis vehklemise spordialal tehakse punktiarvestus elektriliselt. Et elektriline signaal liiguks teie relvast punktiarvutisse, peab signaal liikuma: läbi relva juhtme (välja arvatud mõõk) varrukast üles ja alla