Suunnittelemme tässä istunnossa 8x8 LED-näytön, jossa on 8x8 LED-matriisi ja ATmega8-mikrokontrolleri, joka voi näyttää aakkoset tai nimet. Tyypillinen 8x8 led-matriisi on esitetty alla:
8x8-LED-matriisi sisältää 64 LED-valoa (valoa emittoivat diodit), jotka on järjestetty matriisin muotoon, joten nimi on LED-matriisi. Nämä matriisit voidaan tehdä kiertämällä 64 lediä; prosessi on kuitenkin aikaa vievä. Nyt päivässä niitä on saatavana pienikokoisina, kuten kuvassa on esitetty. Näitä pienikokoisia moduuleja on saatavana erikokoisina ja monivärisinä. Voit valita ne mukavuuden mukaan.
Moduulin hinta on sama kuin 64 LED: n hinta, joten harrastajalle tämä on helpoin työskennellä. Moduulin PIN-kokoonpano on kuvan mukainen. PIN-koodien tulee olla täsmälleen kuvan mukaisia, jotta vältetään virheet. Keskustelemme moduulin sisäisen piirin kokoonpanosta yksityiskohtaisesti kuvauksessa.
Komponentit
Laitteisto: ATMEGA8, virtalähde (5v), AVR-ISP-OHJELMOINTI, 100 uF kondensaattori (kytketty virtalähteen poikki), 1KΩ vastus (8 kpl).
Ohjelmisto: Atmel studio 6.1, progisp tai flash magic.
Piirikaavio ja työskentely
ATMEGA8: n ja LED-matriisimoduulin väliset liitännät on esitetty alla olevassa kuvassa.
PORTD, PIN0 ------------------ LED-moduulin PIN13
PORTD, PIN1 ------------------ PIN03 LED-moduulista
PORTD, PIN2 ------------------ PIN04 LED-moduulista
PORTD, PIN3 ------------------ LED-moduulin PIN10
PORTD, PIN4 ------------------ PIN06 LED-moduulista
PORTD, PIN5 ------------------ LED-moduulin PIN11
PORTD, PIN6 ------------------ LED-moduulin PIN15
PORTD, PIN7 ------------------ PIN16 LED-moduulista
PORTB, PIN0 ------------------ LED-moduulin PIN09
PORTB, PIN1 ------------------ LED-moduulin PIN14
PORTB, PIN2 ------------------ LED-moduulin PIN08
PORTB, PIN3 ------------------ LED-moduulin PIN12
PORTC, PIN0 ------------------ LED-moduulin PIN01
PORTC, PIN1 ------------------ LED-moduulin PIN07
PORTC, PIN2 ------------------ LED-moduulin PIN02
PORTC, PIN3 ------------------ LED0-moduulin PIN05
Piirikaavio 8x8 LED matriisinäyttö on esitetty alla kuviossa.
Matriisimuodossa on 64 LED-valoa. Joten meillä on 8 saraketta ja 8 riviä kuvan osoittamalla tavalla. Näiden rivien ja sarakkeiden yli kaikki rivin positiiviset liittimet kootaan yhteen. Jokaiselle riville on yksi yhteinen positiivinen napa kaikille rivin 8 LEDille. Se on esitetty alla olevassa kuvassa,
Joten 8 rivillä meillä on 8 yhteistä positiivista päätettä, harkitse ensimmäinen rivi. Kuten kuvasta näkyy, LEDeillä D1 - D8 on yhteinen positiivinen napa ja ne tuodaan pois LED-MODUULISTA PIN9: nä.
Pitäisi nähdä, että kaikkia rivien yleisiä positiivisia ominaisuuksia ei tuoda LED-MODUULISTA ulos järjestyksekkäästi. Kaikissa tapauksissa yhteisissä päätelaitteissa on hyvin epäsäännöllisyyttä. Tämä on pidettävä mielessä, kun liität päätelaitteen.
Sano, jos haluamme, että jokin tai kaikki matriisin ensimmäisen rivin LEDit palavat, meidän pitäisi kytkeä virran LED-MATRIKSIMODUULIN PIN9: ään, ei PIN0: een.
Oletetaan, että haluamme jonkin tai kaikkien matriisin kolmannen rivin LEDien olevan päällä, meidän pitäisi kytkeä päälle LED-MATRIXIMODUULIN PIN8-koodi, ei PIN2-koodi.
Joten aina kun haluamme yhden tai kaikkien RIV: n LEDien olevan päällä, vastaava LED-moduulin nasta saa virran.
Tämä ei ole vielä ohi jättämällä vain tehon ROWS ei tuota mitään. Meidän on maadoitettava toinen pää. Keskustelemme siitä alla.
Nyt tässä tapauksessa jätämme huomiotta yhteiset positiiviset rivit ja keskitymme yhteisiin negatiivisiin sarakkeisiin.
Joten siinä moduulissa kaikki ensimmäisen sarakkeen negatiiviset liittimet yhdistetään PIN13: een. Tämä on esitetty alla olevassa kuvassa.
Tässäkin moduulin PIN OUTAGE -toiminnossa on epäsäännöllisyyttä. Ensimmäisen sarakkeen merkkivalot, yhteinen negatiivinen, tuodaan esiin PIN13: ssä. Toisen sarakkeen merkkivalot yhteinen negatiivinen tuodaan esiin PIN3: lla.
On kiinnitettävä huomiota nastoihin liitännän aikana. Jos jokin tai kaikki ensimmäisen sarakkeen LEDit on maadoitettava, MATRIX MODULE PIN13 on maadoitettava. Tällä tavalla menee kaikki muut seitsemän yleistä negatiivista saraketta. Kun molemmat tapaukset on koottu yhteen, kohtaamme piirin, kuten alla on esitetty,
Yllä oleva piiri on LED-moduulin täydellinen sisäinen kaavio. Oletetaan, että haluamme kytkeä LED D10: n päälle matriisissa, meidän on kytkettävä päälle moduulin PIN14 ja maadoitettava PIN3 moduulissa. Tällöin D10 käynnistyy. Tämä näkyy alla olevassa kuvassa. Tämän pitäisi ensin tarkistaa, että MATRIX tietää kaiken järjestyksessä.
Oletetaan, että haluamme käynnistää D1: n, meidän on kytkettävä päälle matriisin PIN9 ja maadoitettava PIN13. Tällöin LED D1 palaa. Tämän tapauksen nykyinen suunta on esitetty alla olevassa kuvassa.
Katsokaa nyt hankalasta osasta, että haluamme käynnistää sekä D1: n että D10: n kerrallaan. Joten virransaamme sekä PIN9, PIN14 että maadoitamme molemmat PIN13, PIN3. Tämän jälkeen meillä on D2 ja D9 PÄÄLLÄ sekä D1 ja D10. Se johtuu siitä, että niillä on yhteiset päätteet. Joten jos haluamme kytkeä LEDit diagonaaliin, meidän on pakko sytyttää kaikki LEDit matkan varrella. Tämä on esitetty alla olevassa kuvassa.
Joten tämän ongelman poistamiseksi käynnistämme vain yhden johtajan kerrallaan. Sano t = 0m SEC, LED D1 on viritetty PÄÄLLE. Kun t = 1m SEC, LED D1 viritetään pois päältä ja LED D2 kytketään päälle. Jälleen t = 2 m SEC: ssä LED D2 sammutetaan ja LED D1 kytketään päälle. Tämä jatkuu.
Nyt temppu on, että ihmissilmä ei voi kaapata yli 30 Hz: n taajuutta. Eli jos LED palaa ja sammuu jatkuvasti nopeudella 30 Hz tai enemmän. Silmä näkee LEDin jatkuvasti päällä. Näin ei kuitenkaan ole. LED palaa jatkuvasti ja sammuu. Tätä tekniikkaa kutsutaan multipleksoinniksi.
Käyttämällä multipleksointia käännämme vain yhden rivin kerrallaan, ja kahdeksan rivin ympäri pyöräillään jatkuvasti. Tämä visualisoitiin täysin käännetyksi ON-matriisiksi paljaalle silmälle.
Sano nyt, että haluamme näyttää "A" matriisissa.
Kuten kerrottiin, kytkemme yhden rivin PÄÄLLE hetkessä, Kun t = 0m SEC, PIN09 asetetaan HIGH (muut ROW-nastat ovat tällä hetkellä MATALA) tällä hetkellä, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 1m SEC, PIN14 asetetaan HIGH (muut ROW-nastat ovat LOW tällä hetkellä) tällä hetkellä, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAA tällä hetkellä)
Kun t = 2m SEC, PIN08 asetetaan HIGH (muut ROW-nastat ovat MATALA tällä hetkellä), PIN13, PIN3, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 3m SEC, PIN12 asetetaan HIGH-arvoksi (muut ROW-nastat ovat LOW tällä hetkellä), PIN13, PIN3, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 4m SEC, PIN01 asetetaan HIGH (muut ROW-nastat ovat tällä hetkellä MATALA) tällä hetkellä, PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 on maadoitettu (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 5m SEC, PIN07 asetetaan HIGH (muut ROW-nastat ovat MATALA tällä hetkellä), PIN13, PIN3, PIN4, PIN10, PIN6, PIN11, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 6m SEC, PIN02 asetetaan HIGH (muut ROW-nastat ovat MATALA tällä hetkellä), PIN13, PIN3, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Kun t = 7m SEC, PIN05 asetetaan HIGH (muut ROW-nastat ovat MATALA tällä hetkellä), PIN13, PIN3, PIN15, PIN16 maadoitetaan (muut COLUMN-nastat ovat KORKEAT tällä hetkellä)
Tällä nopeudella näyttö nähdään jatkuvasti osoittavan A-merkkiä. Se on esitetty kuvassa.
Näin kaikki merkit näytetään näytöllä. Kun piiri on kytketty oikein, kuten piirikaaviossa on esitetty. Voimme suoraan antaa ohjaimelle ohjeet multipleksoinnin suorittamiseksi järjestyksessä, jotta nimi näytetään.