Sisällysluettelo:

Arduino- ja TM1638 -LED -näyttömoduulit: 11 vaihetta
Arduino- ja TM1638 -LED -näyttömoduulit: 11 vaihetta

Video: Arduino- ja TM1638 -LED -näyttömoduulit: 11 vaihetta

Video: Arduino- ja TM1638 -LED -näyttömoduulit: 11 vaihetta
Video: Дисплей TM1637 и Arduino в FLProg 2024, Marraskuu
Anonim
Arduino- ja TM1638 -LED -näyttömoduulit
Arduino- ja TM1638 -LED -näyttömoduulit

Jos tarvitset nopean ja helpon tavan lisätä käyttäjän syötteitä ja tuloksia projektiin, nämä näyttömoduulit ovat mielenkiintoisia ja hauskoja.

Ne sisältävät kahdeksan 7-segmentin punaista LED-numeroa, kahdeksan punaista/vihreää LEDiä ja myös kahdeksan painiketta käyttäjän syöttämiseksi. Yksiköt voidaan myös ketjuttaa, jolloin niitä voi olla jopa viisi kerrallaan, ja jokaisen moduulin mukana toimitetaan lyhyt kaapeli sekä muutamia lyhyitä välikappaleita ja ruuveja, kuten kuvassa.

Vaihe 1:

Kuva
Kuva

Välikappaleet ovat juuri niin pitkiä, että ne pystyvät nostamaan piirilevyn pinnan yläpuolelle, mutta levyjen asentamiseen mihin tahansa hyödylliseen tarvitset pidemmät. Voit myös poistaa IDC -liittimet, jos haluat asentaa moduulin lähelle paneelin pintaa. Tämä olisi yksinkertainen juottamisen poisto, koska ne ovat läpireikiä.

Vaihe 2:

Kuva
Kuva

Levyä ohjaa TM1638 IC.

Tämä on Titan Micro Electronicsin LED- ja liitäntäohjaimen IC. Voit myös ostaa nämä IC: t PMD Waylta. Voit myös ladata tietolomakkeen saadaksesi lisätietoja.

Vaihe 3: Aloittaminen - laitteisto

Aloittaminen - Laitteisto
Aloittaminen - Laitteisto

Laitteisto-Liittäminen Arduino-yhteensopivaan korttiin (tai muuhun MCU-korttiin) on melko yksinkertaista. Pihdit näkyvät piirilevyn takana ja vastaavat nauhakaapelin kiinnitystä. Jos katsot kaapelin päätä sellaisenaan.

Oikea ylhäällä oleva reikä on nasta yksi, vasen yläreuna on nasta kaksi, oikea oikea tappi yhdeksän ja vasen alareuna tappi kymmenen. Siksi pistokkeet ovat:

  1. Vcc (5V)
  2. GND
  3. CLK
  4. DIO
  5. STB1
  6. STB2
  7. STB3
  8. STB4
  9. STB5
  10. ei yhteyttä.

Arduino -käyttöä varten nastat 1 ~ 4 ovat vähintään yhden moduulin käyttämiseen tarvittavat. Jokainen lisämoduuli vaatii toisen digitaalisen nastan, joka on kytketty STB2: een, STB3: een jne. Lisätietoja tästä myöhemmin. Huomaa, että jokainen moduuli, joka on asetettu täyteen kirkkauteen, kun jokainen LED palaa, kuluttaa 127 mA, joten olisi järkevää käyttää ulkoista virtaa useamman kuin yhden moduulin kanssa ja muita liitoksia Arduino -levyillä.

Vaihe 4: Aloittaminen - Ohjelmisto

Ohjelmisto - lataa ja asenna T1638 -kirjasto täältä. Kiitos ja kiitos rjbatistalle gmail dot comissa kirjastosta. Moduulien alustaminen luonnoksessa on yksinkertaista. Sisällytä kirjastoon seuraavat:

#sisältää

käytä sitten jompaakumpaa seuraavista moduuleista:

TM1638 -moduuli (x, y, z);

x on Arduino -digitaalinen nasta, joka on kytketty moduulikaapelin nastaan 4, y on Arduino -digitaalinen nasta, joka on kytketty moduulikaapelin nastaan 3, ja z on stroboskooppi. Joten jos sinulla olisi yksi moduuli, jossa on data, kello ja välähdys kytketty nastoihin 8, 7 ja 6, käyttäisit:

TM1638 -moduuli (8, 7, 6);

Jos sinulla olisi kaksi moduulia, joiden ensimmäisen moduulin välähdys on kytketty Arduino digital 6: een ja moduulin toisen välähdys on kytketty digitaaliseen 5, käytät seuraavaa:

TM1638 -moduuli (8, 7, 6); TM1638 -moduuli (8, 7, 5);

ja niin edelleen lisää moduuleja varten. Nyt voit ohjata näyttöä…

Vaihe 5: Kaksiväriset LEDit

Kaksiväriset LEDit
Kaksiväriset LEDit

Punaisten/vihreiden merkkivalojen hallinta on helppoa. Vertailun vuoksi ne on numeroitu nollasta seitsemään vasemmalta oikealle. Voit kytkeä yhden LED -valon päälle tai pois päältä seuraavasti:

module.setLED (TM1638_COLOR_RED, x); // aseta LED -numeron x arvoksi redmodule.setLED (TM1638_COLOR_GREEN, x); // aseta LED -numero x vihreäksi moduuliksi.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // aseta LED -numero x punaiseksi ja vihreäksi

Yllä olevan menetelmän käyttö voi olla yksinkertaista, mutta hieman tehotonta. Parempi tapa on käsitellä kaikki LEDit yhdessä lausunnossa. Tätä varten lähetämme näytölle kaksi tavua heksadesimaalisia tietoja. MSB (merkittävin tavu) koostuu kahdeksasta bitistä, joista kukin edustaa yhtä vihreää LEDiä, joka on päällä (1) tai pois päältä (0). LSB (vähiten merkitsevä tavu) edustaa punaisia LED -valoja.

Helppo tapa määrittää heksadesimaalinen arvo valvoa LED -valoja on yksinkertainen. Kuvassa on yksi LED -rivi - kahdeksan ensimmäistä vihreää ja toinen kahdeksan punaista. Aseta jokaisen numeron arvoksi 1 päälle ja 0 pois päältä. Muunna kaksi binäärilukua heksadesimaaliksi ja käytä tätä toimintoa:

module.setLEDs (0xvihreä);

Missä vihreä on vihreiden merkkivalojen heksadesimaaliluku ja punainen on punaisten merkkivalojen heksadesimaaliluku. Jos esimerkiksi haluat sytyttää kolme ensimmäistä LEDiä punaisena ja kolme viimeistä vihreänä, binäärinen esitys on:

00000111 11100000, joka heksadesimaalina on E007.

Joten käytämme:

module.setLEDs (0xE007);

joka tuottaa kuvan kuten yllä.

Vaihe 6: 7-segmenttinen näyttö

Voit tyhjentää numeerisen näytön (mutta ei alla olevia LED -valoja) yksinkertaisesti seuraavasti:

module.clearDisplay ();

tai kytkeäksesi kaikki segmentit JA kaikki LEDit päälle, käytä seuraavaa

module.setupDisplay (true, 7); // missä 7 on intensiteetti (0-7)

Käytä desimaalilukuja näyttääksesi toiminnon:

module.setDisplayToDecNumber (a, b, false);

jossa a on kokonaisluku, b on desimaalipiste (0 ei yhtään, 1 numero 8, 2, numero 7, 4 numero 6, 8 numero 4 jne.) ja viimeinen parametri (true/ false) ottaa käyttöön tai poistaa käytöstä nolla. Seuraava luonnos osoittaa tämän toiminnon käytön:

#include // määritä moduuli datanasta 8, kellotappi 9 ja välähdysnasta 7 TM1638 -moduuli (8, 9, 7); allekirjoittamaton pitkä a = 1; void setup () {} void loop () {for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 4, false); viive (1); } for (a = 10000; a <11000; a ++) {module.setDisplayToDecNumber (a, 0, true); viive (1); }}

… Videolla näkyvillä tuloksilla.

Vaihe 7:

Image
Image

Yksi mielenkiintoisimmista ominaisuuksista on mahdollisuus vierittää tekstiä yhden tai useamman näytön läpi. Tämä ei todellakaan tarvitse selitystä, koska mukana oleva esittelyluonnos:

tm_1638_scrolling_modules_example.pde

TM1638 -kirjastoon sisältyvää sisältöä on helppo seurata. Lisää vain tekstisi const char -merkkijonoon , varmista, että moduulit on kytketty luonnoksen alussa olevan moduulin määritelmän mukaisesti ja olet valmis. Näet käytettävissä olevat merkit käymällä toimintojen sivulla. Huomaa, että näyttö on vain seitsemän segmentin kokoinen, joten jotkin merkit eivät ehkä näytä täydellisiltä, mutta antavat sinulle hyvän käsityksen kontekstista-katso video tässä vaiheessa.

Vaihe 8:

Lopuksi voit myös käsitellä kunkin numeron jokaista segmenttiä erikseen. Harkitse tämän taulukon sisältöä:

tavuarvot = {1, 2, 4, 8, 16, 32, 64, 128};

jokainen elementti edustaa numeroita 1 ~ 8. Kunkin elementin arvo määrittää, mikä numeron segmentti käynnistyy. Segmenttien a ~ f, dp arvot ovat 1, 2, 4, 6, 16, 32, 64, 128. Joten tulokset yllä olevan taulukon käytöstä seuraavassa funktiossa:

module.setDisplay (arvot);

tulee kuvan mukaan.

Vaihe 9:

Kuva
Kuva

Luonnollisesti voit yhdistää arvot kullekin numerolle luodaksesi omia merkkejäsi, symboleitasi jne. Esimerkiksi käyttämällä seuraavia arvoja:

tavuarvot = {99, 99, 99, 99, 99, 99, 99, 99};

loimme kuvan mukaisesti tässä vaiheessa.

Vaihe 10: Painikkeet

Painikkeiden arvot palautetaan tavuarvoina funktiosta:

module.getButtons ();

Koska painikkeita on kahdeksan, jokainen niistä edustaa yhtä bittiä binaariluvusta, joka palautetaan tavuina. Vasemmanpuoleinen painike palauttaa desimaalin ja oikea palauttaa 128. Se voi myös palauttaa samanaikaisia painalluksia, joten painikkeiden yksi ja kahdeksan painaminen palauttaa 129. Harkitse seuraavaa luonnosta, joka palauttaa painikkeiden arvot desimaalimuodossa ja näyttää sitten arvo:

#include // määritä moduuli datanasta 8, kellotappi 9 ja välähdysnasta 7 TM1638 -moduuli (8, 9, 7); tavupainikkeet; void setup () {} void loop () {button = module.getButtons (); module.setDisplayToDecNumber (painikkeet, 0, false); }

ja tulokset videolla.

Nämä näyttötaulut ovat hyödyllisiä ja toivottavasti löytävät kodin projekteihisi. Tämän viestin toi sinulle pmdway.com - tarjoaa kaiken valmistajille ja elektroniikan harrastajille, ja ilmainen toimitus maailmanlaajuisesti.

Suositeltava: