Obsah:

Moduly LED Arduino a TM1638 LED: 11 krokov
Moduly LED Arduino a TM1638 LED: 11 krokov

Video: Moduly LED Arduino a TM1638 LED: 11 krokov

Video: Moduly LED Arduino a TM1638 LED: 11 krokov
Video: Цифровой модуль Led&Key (TM1638) подключаем к Arduino Pro Micro 2024, November
Anonim
Moduly LED Arduino a TM1638 LED
Moduly LED Arduino a TM1638 LED

Ak potrebujete rýchly a ľahký spôsob, ako do projektu pridať vstup a výstup, tieto moduly sú zaujímavé a zábavné.

Obsahujú osem 7-segmentových červených číslic LED, osem červených/zelených diód LED a tiež osem tlačidiel na zadanie používateľom. Jednotky je možné tiež reťaziť, čo umožňuje až päť naraz, a ku každému modulu je pribalený krátky kábel, ako aj niekoľko krátkych rozperiek a skrutiek, ako je znázornené na obrázku.

Krok 1:

Obrázok
Obrázok

Rozpery sú dostatočne dlhé na to, aby zdvihli DPS nad povrch, avšak na pripevnenie dosiek kdekoľvek užitočných by ste potrebovali dlhšie. Možno budete tiež chcieť odstrániť zásuvky IDC, ak chcete modul namontovať blízko povrchu panelu. Bola by to jednoduchá úloha pri odpájaní, pretože ide o zásuvky s otvorom.

Krok 2:

Obrázok
Obrázok

Doska je ovládaná integrovaným obvodom TM1638.

Toto je integrovaný obvod LED a ovládača rozhrania od spoločnosti „Titan Micro Electronics“. Tieto integrované obvody si môžete kúpiť aj od spoločnosti PMD Way. Môžete si tiež stiahnuť technický list, kde nájdete ďalšie podrobnosti.

Krok 3: Začíname - hardvér

Začíname - hardvér
Začíname - hardvér

Hardvér-Pripojenie k doske kompatibilnej s Arduino (alebo inému MCU) je pomerne jednoduché. Vývody sú zobrazené na zadnej strane dosky plošných spojov a zodpovedajú tvarovke na plochom kábli. Ak sa pozriete na koniec kábla ako taký.

Pravý horný otvor je kolík jeden, pričom vľavo hore sú kolíky dva, vpravo dole kolík deväť a vľavo dole desať. Preto sú pinouty:

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

Na použitie Arduina sú piny 1 ~ 4 nevyhnutné na použitie jedného modulu. Každý ďalší modul bude vyžadovať ďalší digitálny pin pripojený k STB2, STB3 atď. Viac o tom neskôr. Upozorňujeme, že každý modul nastavený na plný jas s každou zapnutou diódou LED spotrebuje 127 mA, takže by bolo múdre použiť externé napájanie s viac ako jedným modulom a ďalšie prepojenia s doskami Arduino.

Krok 4: Začíname - softvér

Softvér - odtiaľ si stiahnite a nainštalujte knižnicu T1638. Vďaka a chvála rjbatistovi v gmail dot com pre knižnicu. Inicializácia modulov v skici je jednoduchá. Zahrnúť knižnicu s:

#zahrnúť

potom pre každý modul použite jednu z nasledujúcich možností:

Modul TM1638 (x, y, z);

x je digitálny kolík Arduino pripojený ku kolíku 4 kábla kábla modulu, y je digitálny kolík Arduino pripojený ku kolíku 3 kábla kábla modulu a z je kolíkový blesk. Ak by ste teda mali jeden modul s údajmi, hodinami a bleskom pripojený k pinom 8, 7 a 6, použili by ste:

Modul TM1638 (8, 7, 6);

Ak by ste mali dva moduly, s bleskom modulu jeden pripojeným k Arduino digital 6 a bleskom modulu dva s digitálnym 5, použili by ste:

Modul TM1638 (8, 7, 6); modul TM1638 (8, 7, 5);

a tak ďalej pre ďalšie moduly. Teraz na ovládanie displeja …

Krok 5: Dvojfarebné diódy LED

Dvojfarebné LED diódy
Dvojfarebné LED diódy

Ovládanie červenej/zelenej diódy LED je jednoduché. Pre informáciu sú očíslované od nuly do sedem zľava doprava. Na zapnutie alebo vypnutie jednej diódy LED použite nasledujúci postup:

module.setLED (TM1638_COLOR_RED, x); // nastavenie čísla LED x na redmodule.setLED (TM1638_COLOR_GREEN, x); // nastavenie čísla LED x na zelený modul.setLED (TM1638_COLOR_RED+TM1638_COLOR_GREEN, 0); // nastavte číslo LED x na červenú a zelenú

Použitie vyššie uvedenej metódy môže byť jednoduché, je trochu neúčinné. Lepším spôsobom je osloviť všetky LED diódy v jednom vyhlásení. Za týmto účelom pošleme na displej dva bajty údajov v hexadecimálnom formáte. MSB (najvýznamnejší bajt) pozostáva z ôsmich bitov, z ktorých každý predstavuje jednu zelenú diódu LED zapnutú (1) alebo vypnutú (0). LSB (najmenej významný bajt) predstavuje červené diódy LED.

Jednoduchý spôsob, ako určiť hexadecimálnu hodnotu na ovládanie diód LED, je jednoduchý. Na obrázku máte jeden rad diód LED - prvých osem zelených a druhých osem červených. Nastavte každú číslicu na 1 pre zapnuté a 0 pre vypnuté. Konvertujte dve binárne čísla na hexadecimálne a použite túto funkciu:

module.setLEDs (0xgreenred);

Kde zelená je hexadecimálne číslo pre zelené diódy LED a červená je hexadecimálne číslo pre červené diódy LED. Ak napríklad chcete zapnúť prvé tri diódy LED ako červené a posledné tri ako zelené, binárne znázornenie bude:

00000111 11100000, ktorá je v šestnástkovej sústave E007.

Použili by sme teda:

module.setLEDs (0xE007);

ktorý vytvára obrázok, ako je uvedené vyššie.

Krok 6: 7-segmentový displej

Na vymazanie numerického displeja (nie však nižšie uvedených diód LED) jednoducho použite:

module.clearDisplay ();

alebo na zapnutie každého segmentu A všetkých LED diód použite nasledujúci postup

module.setupDisplay (true, 7); // kde 7 je intenzita (od 0 do 7)

Na zobrazenie desatinných čísel použite funkciu:

module.setDisplayToDecNumber (a, b, false);

kde a je celé číslo, b je poloha pre desatinnú čiarku (0 pre žiadnu, 1 pre číslicu 8, 2, pre číslicu 7, 4 pre číslicu 6, 8 pre číslicu 4 atď.) a posledný parameter (true/ false) zapína alebo vypína úvodné nuly. Nasledujúci náčrt ukazuje použitie tejto funkcie:

#include // definujte modul na dátovom pine 8, hodinovom pine 9 a stroboskopickom pine 7 modulu TM1638 (8, 9, 7); bez znamienka a = 1; void setup () {} void loop () {for (a = 10 000; a <11 000; a ++) {module.setDisplayToDecNumber (a, 4, false); oneskorenie (1); } pre (a = 10 000; a <11 000; a ++) {module.setDisplayToDecNumber (a, 0, true); oneskorenie (1); }}

… s výsledkami uvedenými vo videu.

Krok 7:

Image
Image

Jednou z najzaujímavejších funkcií je možnosť posúvania textu na jednom alebo viacerých displejoch. Na to nie je skutočne potrebné vysvetlenie, pretože priložený ukážkový náčrt:

tm_1638_rolling_modules_example.pde

súčasťou knižnice TM1638 je možné ľahko sledovať. Stačí vložiť text do konštantného reťazca a uistiť sa, že moduly sú zapojené podľa definície modulu na začiatku náčrtu a máte nastavené. Dostupné znaky nájdete na funkčnej stránke. Všimnite si toho, že displej je iba sedemsegmentový, takže niektoré znaky nemusia vyzerať perfektne, ale v kontexte vám poskytnú dobrú predstavu-pozrite si video v tomto kroku.

Krok 8:

Nakoniec môžete tiež individuálne adresovať každý segment každej číslice. Zvážte obsah tohto poľa:

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

každý prvok predstavuje číslice 1 ~ 8. Hodnota každého prvku určuje, ktorý segment číslice sa zapne. Pre segmenty a ~ f, dp sú hodnoty 1, 2, 4, 6, 16, 32, 64, 128. Takže výsledky použitia vyššie uvedeného poľa v nasledujúcej funkcii:

module.setDisplay (hodnoty);

bude podľa obrázku.

Krok 9:

Obrázok
Obrázok

Prirodzene, môžete kombinovať hodnoty pre každú číslicu a vytvárať si vlastné znaky, symboly atď. Napríklad pomocou nasledujúcich hodnôt:

bajtové hodnoty = {99, 99, 99, 99, 99, 99, 99, 99};

v tomto kroku sme vytvorili podľa obrázku.

Krok 10: Tlačidlá

Hodnoty tlačidiel sa vrátia ako bajtová hodnota z funkcie:

module.getButtons ();

Keďže tlačidiel je osem, každé predstavuje jeden bit binárneho čísla, ktorý sa vracia ako bajt. Tlačidlo vľavo vráti desatinné číslo a pravé 128. Môže tiež vrátiť súčasné stlačenia, takže stlačením tlačidiel jedna a osem sa vráti 129. Uvažujme o nasledujúcom náčrte, ktorý vracia hodnoty stlačení tlačidiel v desatinnej forme, potom zobrazí hodnota:

#include // definujte modul na dátovom pine 8, hodinovom pine 9 a strobo pine 7 module TM1638 (8, 9, 7); bajtové tlačidlá; neplatné nastavenie () {} prázdna slučka () {tlačidlá = modul.getButtons (); module.setDisplayToDecNumber (tlačidlá, 0, nepravda); }

a výsledky vo videu.

Tieto zobrazovacie dosky sú užitočné a dúfajme, že nájdu vo vašich projektoch domov. Tento príspevok vám priniesol web pmdway.com - ponúka všetko pre výrobcov a nadšencov elektroniky s bezplatným doručením do celého sveta.

Odporúča: