Arduino NANO - LED shield

Seznam článků

Pro účel výuky programování "kdo si hraje nezlobí" lze použít tento shield za pár korun (Arduino NANO 60,- aukro, nebo Chiňan + shield za nula-nula prdlačky). Pomocí shieldu lze snímat 2 tlačítka a spínat 10 LED diod, případně využívat komunikaci s PC. Na rozšiřující konektor můžeme připojit další periferie - například LCD displej s převodníkem, joystick... (viz předchozí články na tomto webu).

Vlastnosti shieldu

Deska "Arduino NANO" v SMD provedení s procesorem ATmega328

  • Sériová linka (rx, tx) pro komunikaci s PC (nezapojeno - slouží pro komunikaci)
  • 2x tlačítko připojeno na piny D2, D3
  • 10x LED dioda připojeno na piny D4-D13
  • Konektor pro rozšíření (LCD na I2C, analogové vstupy) piny 0V, A0-A5, +5V

Schéma zapojení shieldu

schema

Deska spojů

deska

Foto hotového shieldu

POZORNĚ SI OBRÁZKY PROHLÉDNEME A DBÁME NA STEJNÉ OSAZENÍ SOUČÁSTEK PŘI PÁJENÍ NA DESTIČKU

DSC 0062

 

DSC 0064

DSC 0064 2

DSC 0065


Ze stránek https://www.arduino.cc/en/Main/Software stáhneme program pro Windows

1

2

 

Stažený program (Arduino) nainstalujeme do počítače.

Počítač restartujeme.

Připojíme naši desku s Arduino NANO do USB portu počítače.

Spustíme program Arduino IDE (ikonka na ploše PC).

V Arduino IDE nastavíme desku "Arduino Nano" a port USB (jiné číslo, které se nám ukáže než je port 1).

3


Ukázka programů pro shield

  • Příkaz pro nastavení pinů 2 a 3 jako vstup pro tlačítka (zadáváme v Setup)

pinMode(2, INPUT_PULLUP); // první tlačítko

pinMode(3, INPUT_PULLUP); // druhé tlačítko

  • Příkaz pro nastavení pinů 4 - 13 jako výstup pro LED diody (zadáváme v Setup)

pinMode(4,OUTPUT); // 1  LED dioda u tlačítek

pinMode(5,OUTPUT);  // opakujeme od 4 výstupu do 13 výstupu

pinMode(13,OUTPUT); // 10  LED dioda dále od tlačítek

  • Příkaz pro načtení stavu tlačítka v programu (zadáváme v Loop)

int tlacitko1 = digitalRead(2);  // načteme stav 1 tlačítka

int tlacitko2 = digitalRead(3);  // načteme stav 2 tlačítka

  • Pokud chceme provést nějakou opraci v závislosti na stavu tlačítka použijeme podmínku if

if (tlacitko1 == LOW) {  // když je tlačítko stisknuté

   // udělej toto - například zapni LED 1 a 2 tedy:

   digitalWrite(4,HIGH);

   digitalWrite(5,HIGH);

   } // konec if

    else  // jinak vykonej toto - vypni LED 1 a 2

        {

   digitalWrite(4,LOW);

   digitalWrite(5,LOW);

   } // konec else

Program test 1 (tlačítko vlevo spustí LED bod vlevo, tlačítko vpravo spustí LED bod vpravo)

V programu je použita funkce "for" pro zjednodušení programu (pokud se opakuje nějaká část stejného příkazu v programu je výhodné použít cyklus).

Příklad použití for

proměnná byte může být kladné číslo 0 - 255 pro náš příklad používáme rozsah od LED 1 (pin 4) do LED 10 (pin 13)  (byte v rozsahu 4 - 14 tedy vyhovuje)

for(byte c=4; c<14; c++) {

    // tady zopakuj cyklus 10x. Na začátku bylo c = 4 s každou smyčkou se c přičte o 1 tedy ++

   // pokud je c menší než 14 zopakuj smyčku

   // nastavíme piny 4 až 13 na výstup smyčkou namísto psaní pinMode(4,OUTPUT); pinMode(5,OUTPUT); atd pinMode(13,OUTPUT);

  pinMode(c,OUTPUT);

} // konec for

 test

Video - test 1 (efekt vlevo - vpravo)

Program test 2 (tlačítko vlevo spustí LED efekt knight rider)

test2

Video - test 2 (efekt knight rider)

FREE (v příloze program test 1 a test 2)

DONATE (v příloze navíc deska spojů Eagle, Gerber, CAM a knihovna pro Eagle Arduino NANO shield)

 

Attachments:
Download this file (DRIVER1_CH340.zip)Ovladač pro Windows (pro CH340)[převodník USB pro Čínské klony Arduina]132 kB270 Downloads2016-11-05 09:21
Download this file (DRIVER2_CH340.zip)Ovladač pro Windows (pro CH340)[převodník USB pro Čínské klony Arduina (jiná verze)]34 kB259 Downloads2016-11-05 09:22
Download this file (test.zip)Program test 1[vlevo, vpravo]0.7 kB361 Downloads2016-09-21 09:28
Download this file (test2.zip)Program test 2[knight rider]0.7 kB311 Downloads2016-09-21 09:29