Nahrání firmware do EduShieldu

V EduShieldu je displej řízen pomocí ATtiny2313. V něm je firmware, napsaný ve Wiring. Tento firmware se dá jednoduše nahrát pomocí Arduina a Arduino IDE. Zde je step-by-step postup „jak na to“.

(Já vím, že vy ještě EduShield nemáte, ale až ho mít budete…)

  1. Aktualizujte Arduino IDE
  2. Stáhněte si aktuální software pro EduShield(Teď, 9.11., tam ještě není nic, já vím… Ale vy stejně nemáte EduShield, ne?)
  3. Ve složce _firmware naleznete podsložky „hardware“, „libraries“ a „tiny2313“. Obsah složek „hardware“ a „libraries“ zkopírujte do pracovního adresáře Arduina (nejčastěji v domovském adresáři, podsložka Arduino). Složka „libraries“ bude pravděpodobně existovat, „hardware“ možná ne, tak jej vytvořte.
  4. Spusťte Arduino IDE a připojte Arduino Uno, kterým budete programovat. Bez EduShieldu!
  5. Z menu „Soubor – příklady“ vyberte „Arduino ISP“ a běžným způsobem jej nahrajte do Arduina.
  6. Z EduShieldu sundejte displej
  7. Switch J6 nad displejem rozpojte, viz obrázek (to je to modré nahoře pod piny 12, 11, označené RTC PWR):
    20161109_141054
  8. Propojte pomocí šesti propojovacích vodičů EduShield (šestivývodový konektor označený J3 ISP) s Arduinem (+5V, GND, datové piny 10, 11, 12 a 13). Správné propojení je naznačeno na následujícím obrázku:
    datovy-zdroj-1
  9. Připojte elektrolytický kondenzátor cca 4.7uF či větší mezi piny RST a GND na Arduinu, jak je znázorněno na fotografii:
    20161109_141128
  10. Propojené komponenty by měly vypadat zhruba takto:
    20161109_141225
  11. Spusťte Arduino IDE a otevřete sketch Tiny2313 ze složky _firmware
  12. Vyberte jako desku „ATtiny2313 @ 1 MHz“ a jako programátor „Arduino as ISP“, viz screenshot:
    edushprog1
  13. Přeložte a spusťte nahrávání.
  14. Po úspěšném nahrání odpojte EduShield od Arduina
  15. Vraťte zpátky switch J6 (musí spojovat oba vývody) a nasaďte displej.

Pro zájemce: přiřazení pinů v ATtiny2313 k vývodům na konektoru pro displej (pin 1 je vlevo dole):

AVR

PB4 PB1 PB0 PB3 PB2 PD6
PA1 PA0 PD2 PD3 PD4 PD5

Arduino

D13 D10 D9 D12 D11 D8
D2 D3 D4 D5 D6 D7

LED (CA označují pozice, SEG jednotlivé segmenty)

CA1 SEGA SEGF CA2 CA3 SEGB
SEGE SEGD SEGH(DP) SEGC SEGG CA4

 

Líbil se vám článek? Podpořte autora na Patreonu
banner