ATtiny85 vývojová doska na breadboarde

Zápisník experimentátora

Hierarchy: ATtiny85

Prednedávnom som predstavil na týchto stránkach SMD vývojovú dosku pre mikrokontrolér ATtiny85. V dnešnom článku by som ju chcel ukázať v akcii. Táto vývojová doska sa včlenila medzi moje ďalšie dosky, ktoré používam na breadboarde. Navrhujem ich preto, aby som nemusel neustále zastrkávať do breadboardu veľké množstvo drôtených vodičov. Ich množstvo sa zredukuje na minimum. Je to vidno aj na ilustračnej fotografii.

Použité súčiastky

V tomto článku si ukážeme fotografie vývojovej dosky, na ktorých je programovaná pomocou Arduina. Na breadboarde mám nasledovné dosky:

  • Arduino Pro Mini (link) - V Arduine je program ArduinoISP. Program ArduinoISP používa na signalizáciu 3 piny, pomocou ktorých signalizuje programovanie cieľového mikrokontroléra. Pretože sa nachádzajú na pinoch 7, 8 a 9, pripojil som na ne nasledovnú dosku s LED diódami.
  • SMD doska s ôsmimi LED diódami žltej farby (link) - Na doske je 8 LED diód. Z toho sú využité 3 na signalizáciu programovania. Takto signalizuje program ArduinoISP svoju činnosť. Na obrázku svieti aj štvrtá LED, ale to len preto, že s tým programom trochu experimentujem a upravujem ho na svoje potreby. Všimnite si, že vďaka vhodnej konštrukcii dosky je potrebný iba jeden prepojovací vodič, ktorý je pripojený na GND.
  • SMD doska s mikrokontrolérom ATtiny85 (link) - Postup na výrobu dosky nájdete po kliknutí na hypertext. Doska má jeden rad pinov. Je pripojená k Arduinu pomocou štyroch prepojovacích vodičov. Pod dosku sa nachádzajú ešte dva prepojovacie vodiče, ktoré sú pripojené na VCC a GND na doske. Štyri prepojovacie vodiče sú prepojené na piny 10, 11, 12 a 13 na Arduine. Schéma zapojenia sa nachádza v článku Arduino ako ISP programátor. Na fotografii je vidno rozdiel. Pin 13 nie je prepojený pomocou prepojovacieho vodiča, ale pomocou diódy.
  • SMD doska s ôsmimi LED diódami červenej farby (link) - Na piny dosky ATtiny85 je pripojená rovnaká doska s LED diódami. LED slúžia na rýchly vývoj na mikrokontroléri. Voľným okom hneď vidíte, či ste výstup prepli do logickej jednotky alebo logickej nuly.
  • 1x dióda 1N4007 (link) - Pin 13 nie je prepojený pomocou prepojovacieho vodiča, ale pomocou diódy. To preto, lebo počas experimentov som zistil, že tesne po zapnutí Arduina je pin nastavený do nejakého logického stavu a nie je vo vysokej impedancii. Ak je súčasne v ATtiny85 nahratý program, ktorý manipuluje s pinom 2, poblikáva LED dióda aj na Arduine. Prepojenie pinov pomocou diódy nevadí programovaniu (Dióda zníži napätie iba o 0,7 V, čo ATtiny85 stále číta ako logickú jednotku.) a súčasne ATtiny85 neovplyvňuje Arduino. Je to zvláštne správanie, ktoré sa upraví po prvom naprogramovaní ATtiny85 po zapnutí. Nemal som zatiaľ čas skontrolovať ArduinoISP a presnú príčinu problému nepoznám.

Vzorový program

Na otestovanie zapojenia je vhodný jednoduchý program. V tomto prípade to je program, ktorý postupne zapne LED díódy na pinoch 0 - 4.

const int leds[] = {0, 1, 2, 3, 4};
const int ledcount = sizeof(leds) / sizeof(int);
int step = 0;
const int sleep = 200;

// the setup routine runs once when you press reset:
void setup() {
  for (int i = 0; i < ledcount; i++)
    pinMode(leds[i], OUTPUT);
}

void loop() {
  for (int i = 0; i < ledcount; i++)
    digitalWrite(leds[i], i == step ? HIGH : LOW);
  step++;
  step %= ledcount - 1;
  delay(sleep);
}

Video

Zdrojový kód

Zdrojový kód sa nachádza na serveri GitHub.


13.03.2018


Menu