Indholdsfortegnelse:
![Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller: 7 trin Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller: 7 trin](https://i.howwhatproduce.com/images/002/image-3944-19-j.webp)
Video: Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller: 7 trin
![Video: Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller: 7 trin Video: Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller: 7 trin](https://i.ytimg.com/vi/499Cul9GG0s/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
![Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller Sådan tilsluttes en MAX7219 drevet LED -matrix 8x8 med ATtiny85 mikrokontroller](https://i.howwhatproduce.com/images/002/image-3944-20-j.webp)
MAX7219-controlleren er fremstillet af Maxim Integrated er en kompakt, seriel input/output fælles-katode-skærmdriver, der kan grænseflade mikrokontrollere til 64 individuelle lysdioder, 7-segment numeriske LED-displays på op til 8 cifre, søjlediagramdisplayer osv. Inkluderet på -chip er en BCD-kode-B-dekoder, multiplex-scanningskredsløb, segment- og cifferdrivere og en 8 × 8 statisk RAM, der gemmer hvert ciffer.
MAX7219 modulerne er meget bekvemme at bruge med mikrokontrollere som f.eks. ATtiny85, eller i vores tilfælde Tinusaur Board.
Trin 1: Hardware
![Hardwareen Hardwareen](https://i.howwhatproduce.com/images/002/image-3944-21-j.webp)
![Hardwareen Hardwareen](https://i.howwhatproduce.com/images/002/image-3944-22-j.webp)
MAX7219 modulerne ser normalt sådan ud. De har en inputbus på den ene side og outputbus på den anden. Dette giver dig mulighed for at kæde 2 eller flere moduler, dvs. efter hinanden, for at skabe mere komplicerede opsætninger.
De moduler, vi bruger, er i stand til at forbinde i en kæde ved hjælp af 5 små jumpere. Se billedet herunder.
Trin 2: Pinout og signaler
MAX7219 modul har 5 ben:
- VCC - effekt (+)
- GND-jord (-)
- DIN - Datainput
- CS - Chip select
- CLK - Ur
Det betyder, at vi har brug for 3 ben på ATtiny85 -mikrokontrollersiden for at styre modulet. Det vil være:
- PB0 - tilsluttet CLK
- PB1 - forbundet til CS
- PB2 - tilsluttet DIN
Dette er tilstrækkeligt til at oprette forbindelse til MAX7219 -modulet og programmere det.
Trin 3: Protokollen
![Protokollen Protokollen](https://i.howwhatproduce.com/images/002/image-3944-23-j.webp)
Kommunikation med MAX7219 er relativt let - den bruger en synkron protokol, hvilket betyder, at for hver databit, vi sender, er der en urcyklus, der angiver tilstedeværelsen af denne databit.
Med andre ord sender vi 2 parallelle sekvenser til bits - en for uret og en anden for dataene. Dette er hvad softwaren gør.
Trin 4: Softwaren
![Softwaren Softwaren](https://i.howwhatproduce.com/images/002/image-3944-24-j.webp)
Sådan fungerer dette MAX7219 -modul:
- Vi skriver bytes til dets interne register.
- MAX7219 fortolker dataene.
- MAX7219 styrer lysdioderne i matrixen.
Det betyder også, at vi ikke hele tiden behøver at cirkulere gennem lysdioderne for at tænde dem - MAX7219 -controlleren tager sig af det. Det kunne også styre intensiteten af lysdioderne.
Så for at bruge MAX7219 modulerne på en bekvem måde har vi brug for et bibliotek med funktioner til at tjene dette formål.
For det første har vi brug for nogle grundlæggende funktioner for at skrive til MAX7219 -registre.
- Skriver en byte til MAX7219.
- Skrivning af et ord (2 bytes) til MAX7219.
Funktionen, der skriver en byte til controlleren, ser sådan ud:
void max7219_byte (uint8_t data) {for (uint8_t i = 8; i> = 1; i--) {PORTB & = ~ (1 << MAX7219_CLK); // Indstil CLK til LAV hvis (data & 0x80) // Masker MSB for dataene PORTB | = (1 << MAX7219_DIN); // Indstil DIN til HIGH else PORTB & = ~ (1 << MAX7219_DIN); // Indstil DIN til LAV PORTB | = (1 << MAX7219_CLK); // Indstil CLK til HIGH data << = 1; // Skift til venstre}}
Nu hvor vi kan sende bytes til MAX7219, kan vi begynde at sende kommandoer. Dette gøres ved at sende 2 byes - 1. for adressen på det interne register og den anden for de data, vi gerne vil sende.
Der er mere end et dusin registre i MAX7219 -controlleren.
At sende en kommando eller et ord er stort set at sende 2 på hinanden følgende bytes. Funktionen, der implementerer, er meget enkel.
void max7219_word (uint8_t adresse, uint8_t data) {PORTB & = ~ (1 << MAX7219_CS); // Indstil CS til LOW max7219_byte (adresse); // Sender adressen max7219_byte (data); // Send data PORTB | = (1 << MAX7219_CS); // Indstil CS til HIGH PORTB & = ~ (1 << MAX7219_CLK); // Indstil CLK til LAV}
Det er vigtigt at notere linjen her, hvor vi bringer CS -signalet tilbage til HIGH - dette markerer afslutningen på sekvensen - i dette tilfælde slutningen på kommandoen. En lignende teknik bruges til at styre mere end en matrix forbundet i en kæde. Næste trin, før vi begynder at tænde og slukke LED'erne, er at initialisere MAX7219 -controlleren. Dette gøres ved at skrive bestemte værdier til bestemte registre. For nemheds skyld kunne vi, mens vi kodede det, sætte initialiseringssekvensen i et array.
uint8_t initseq = {0x09, 0x00, // Decode-Mode Register, 00 = No decode 0x0a, 0x01, // Intensity Register, 0x00.. 0x0f 0x0b, 0x07, // Scan-Limit Register, 0x07 for at vise alle linjer 0x0c, 0x01, // Shutdown Register, 0x01 = Normal Operation 0x0f, 0x00, // Display-Test Register, 0x00 = Normal Operation};
Vi skal bare sende de 5 kommandoer ovenfor i en rækkefølge som adresse/datapar. Næste trin - belysning af en række lysdioder.
Dette er meget enkelt - vi skriver bare en kommando, hvor 1. byte er adressen (fra 0 til 7) og 2. byte er de 8 bits, der repræsenterer de 8 lysdioder i rækken.
void max7219_row (uint8_t adresse, uint8_t data) {if (adresse> = 1 && adresse <= 8) max7219_word (adresse, data); }
Det er vigtigt at bemærke, at dette kun fungerer for 1 matrix. Hvis vi forbinder flere matricer i en kæde, viser de alle de samme data. Årsagen til dette er, at efter at vi har sendt kommandoen, bringer vi CS -signalet tilbage til HIGH, hvilket får alle MAX7219 -controllere i kæden til at låse og vise, hvad den sidste kommando var.
Anbefalede:
Sådan tilsluttes Li Ion -batteri i parallel og i serier. 5 trin (med billeder)
![Sådan tilsluttes Li Ion -batteri i parallel og i serier. 5 trin (med billeder) Sådan tilsluttes Li Ion -batteri i parallel og i serier. 5 trin (med billeder)](https://i.howwhatproduce.com/images/003/image-6542-j.webp)
Sådan tilsluttes Li Ion -batteri i parallel og i serier.: Har du problemer med at oplade 2x3.7v batteri tilsluttet i sereis. Her er den enkle løsning
Sådan tilsluttes en 4x3”TFT -skærm med en Arduino: 4 trin
![Sådan tilsluttes en 4x3”TFT -skærm med en Arduino: 4 trin Sådan tilsluttes en 4x3”TFT -skærm med en Arduino: 4 trin](https://i.howwhatproduce.com/images/002/image-4257-57-j.webp)
Sådan tilsluttes en 4x3”TFT-skærm med en Arduino: FocusLCDs.com sendte mig en gratis prøve af en 4x3” TFT LCD (P/N: E43RG34827LW2M300-R) for at prøve. Dette er en farve aktiv matrix TFT (Thin Film Transistor) LCD (liquid crystal display), der bruger amorft silicium TFT som en switch -enhed. Denne model er c
Sådan tilsluttes en 16x4 LCD med en Arduino: 6 trin
![Sådan tilsluttes en 16x4 LCD med en Arduino: 6 trin Sådan tilsluttes en 16x4 LCD med en Arduino: 6 trin](https://i.howwhatproduce.com/images/001/image-919-72-j.webp)
Sådan tilsluttes en 16x4 LCD med en Arduino: Introduktion Jeg har for nylig modtaget nogle gratis LCD -prøver fra mine venner på FocusLCDs.com. Den ene er en 16x4 LCD; P/N: C164AXBSYLY6WT. Den bruger en ST7066U -controller (se datablad her) i stedet for HD44780, der normalt findes i LCD -skærme. Jeg er ikke
Sådan tilsluttes I2C LCD -skærm til Arduino Uno: 5 trin (med billeder)
![Sådan tilsluttes I2C LCD -skærm til Arduino Uno: 5 trin (med billeder) Sådan tilsluttes I2C LCD -skærm til Arduino Uno: 5 trin (med billeder)](https://i.howwhatproduce.com/images/001/image-1305-48-j.webp)
Sådan tilsluttes I2C Lcd -skærm til Arduino Uno: Hej fyre, I denne instruktion vil du se, hvordan du tilslutter i2c lcd -skærm til arduino, og hvordan du udskriver på lcd -skærm. Inden du starter denne vejledning, skal du vide kort om i2c Hver I2C -bus består af to signaler
Sådan tilsluttes og opsættes et Mini HiFi -reolsystem (lydsystem) korrekt: 8 trin (med billeder)
![Sådan tilsluttes og opsættes et Mini HiFi -reolsystem (lydsystem) korrekt: 8 trin (med billeder) Sådan tilsluttes og opsættes et Mini HiFi -reolsystem (lydsystem) korrekt: 8 trin (med billeder)](https://i.howwhatproduce.com/images/004/image-9813-51-j.webp)
Sådan tilsluttes og opsættes et mini -HiFi -reolsystem (lydsystem) korrekt: Jeg er en person, der nyder at lære om elektroteknik. Jeg er en gymnasium på Ann Richards School for Young Women Leaders. Jeg gør dette instruerbart til at hjælpe alle, der ønsker at nyde deres musik fra en Mini LG HiFi Shelf Syste