Arduino Digit Shield je rozšiřovací modul pro desky formátu Arduino Uno. Tento shield obsahuje čtyřznakový sedmisegmentový displej s řadičem pro jednoduché zobrazování. Každý ze čtyř znaků obsahuje kromě sedmi segmentů také desetinnou tečku, díky čemuž můžeme zobrazovat nejen celá, ale i desetinná čísla. Na shieldu se pak nachází ještě resetovací tlačítko pro reset Arduina.
Co se týká obsazení datových pinů Arduina, tak tento Shield zabírá pouze čtyři datové piny a energii získává z 5V Arduina.

Arduino Digit Shield

Pro úspěšné zapojení Digit Shieldu ho stačí zapojit do desky Arduino UNO či jiné kompatibilní.
Pokud byste ale chtěli využít společně s tímto shieldem ještě nějaký jiný, tak počítejte s tím, že tento shield zabírá digitální piny D2-D5 a displej je napájen z 5V větve. Zmíněné tlačítko reset je pak připojeno na pin RESET Arduina.

Arduino Digit Shield zapojení

Pro úspěšné nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu DigitShield, návod, jak na to, je uveden zde.
Ukázkový kód obsahuje na svém začátku připojení potřebné knihovny a vytvoření proměnné s prodlevou použitou mezi ukázkami.
V podprogramu setup v prvním kroku zahájíme komunikaci s Digit Shieldem a následně zapneme doplnění nul při tisku číslic (díky tomu se číslo „1“ zobrazí jako „0001“).
Nekonečná smyčka loop obsahuje celkem pět ukázek práce s displejem, přičemž v každé z nich je použitá pauza s prodlevou nastavenou v proměnné. První ukázka nám postupně vypisuje na displej čísla s přírůstkem 1111, výsledkem je tedy číslo 0-9 vytištěné na všech znacích najednou. Druhá ukázka pak obsahuje ukázku práce s jednotlivými znaky, kdy na každý znak vypíšeme jeho hodnotu o jedna vyšší (na první znak 2, na druhý 3 atd.). Ve třetí a čtvrté ukázce můžete vidět práci s desetinnou tečkou, kdy nejprve pro všechny znaky tečku zapneme a poté ji opět vypneme.
Pátá ukázka pak postupně na všech znacích vypne všechny segmenty díky zápisu hodnoty 0xF.

// Arduino Digit Shield

// připojení potřebné knihovny
#include <DigitShield.h>
// vytvoření proměnných
int prodleva = 500;

void setup() {
  // zahájení komunikace s Digit Shieldem
  DigitShield.begin();
  // zapnutí funkce doplnění nul při tisku
  DigitShield.setLeadingZeros(true);
}

void loop() {
  // smyčka pro výpis všech čísel s přírůstkem 1111
  // a nastavenou pauzou mezi výpisy
  for (int i = 0; i <= 9999; i += 1111) {
    DigitShield.setValue(i);
    delay(prodleva);
  }
  // nastavení hodnoty 2-5 postupně na všechny znaky
  // s pauzou mezi výpisy
  for (int i = 1; i <= 4; i++) {
    DigitShield.setDigit(i, i+1);
    delay(prodleva);
  }
  // nastavení desetinné tečky postupně pro všechny znaky
  // s pauzou mezi výpisy
  for (int i = 1; i <= 4; i++) {
    DigitShield.setDecimalPoint(i, true);
    delay(prodleva);
  }
  // vypnutí desetinné tečky postupně pro všechny znaky
  // s pauzou mezi výpisy
  for (int i = 1; i <= 4; i++) {
    DigitShield.setDecimalPoint(i, false);
    delay(prodleva);
  }
  // nastavení hodnoty F (prázdný znak) postupně na všechny znaky
  // s pauzou mezi výpisy
  for (int i = 1; i <= 4; i++) {
    DigitShield.setDigit(i, 0xF);
    delay(prodleva);
  }
}

Po nahrání ukázkového kódu do Arduino desky s připojeným Digit Shieldem můžeme pozorovat například tento výsledek:

Arduino Digit Shield ukázka

Arduino Digit Shield je šikovný shield vhodný i pro začátečníky díky své jednoduchosti. A díky tomu, že na Arduinu zabírá pouze čtyři datové piny, tak ho lze poměrně snadno použít i s dalšími externími moduly či shieldy. Tento Digit Shield se může hodit do různých projektů, kde potřebujeme zobrazit různé číselné hodnoty pro okolí bez použití výpisu do počítače. Může se tedy hodit pro zobrazování času, teploty a dalších číselných údajů. A díky možnosti používat i desetinnou tečku můžeme Shield použít i pro desetinná čísla.

Seznam použitých komponent:
https://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
https://dratek.cz/arduino/1350-arduino-digit-shield-0-56-cervene-podsviceni-1466632068.html

FB tw

Další podobné články