ATtiny85 vývojová deska na breadboardu

Zápisník experimentátora

Hierarchy: ATtiny85

Před nedávnem jsem představil na těchto stránkách SMD vývojovou desku pro mikrokontrolér ATtiny85. V dnešním článku bych ji chtěl ukázat v akci. Tato vývojová deska se včlenil mezi mé další desky, které používám na breadboardu. Navrhuji je proto, abych nemusel neustále zastrkávat do breadboardu velké množství drátěných vodičů. Jejich množství se zredukuje na minimum. Je to vidět i na ilustrační fotografii.

Použité součástky

V tomto článku si ukážeme fotografie vývojové desky, na kterých je programovaná pomocí Arduina. Na breadboardu mám následující desky:

  • Arduino Pro Mini (link) - V Arduine je program ArduinoISP. Program ArduinoISP používá k signalizaci 3 piny, pomocí kterých signalizuje programování cílového mikrokontroléru. Protože se nacházejí na pinech 7, 8 a 9, připojil jsem na ně následující desku s LED diodami.
  • SMD deska s osmi LED diodami žluté barvy (link) - Na desce je 8 LED diod. Z toho jsou využity 3 na signalizaci programování. Takto signalizuje program ArduinoISP svou činnost. Na obrázku svítí i čtvrtá LED, ale to jen proto, že s tím programem trochu experimentuji a upravuji ho na své potřeby. Všimněte si, že díky vhodné konstrukci desky je potřebný pouze jeden propojovací vodič, který je připojený na GND.
  • SMD deska s mikrokontrolérem ATtiny85 (link) - Postup pro výrobu desky najdete po kliknutí na hypertext. Deska má jednu řadu pinů. Je připojena k Arduinu pomocí čtyř propojovacích vodičů. Pod desku se nacházejí ještě dva propojovací vodiče, které jsou připojeny na VCC a GND na desce. Čtyři propojovací vodiče jsou propojeny na piny 10, 11, 12 a 13 na Arduinu. Schéma zapojení se nachází v článku Arduino jako ISP programátor. Na fotografii je vidět rozdíl. Pin 13 není propojen pomocí propojovacího vodiče, ale pomocí diody.
  • SMD deska s osmi LED diodami červené barvy (link) - Na piny desky ATtiny85 je připojena stejná deska s LED diodami. LED slouží pro rychlý vývoj na mikrokontroléru. Pouhým okem hned vidíte, zda jste výstup přepnuli do logické jednotky nebo logické nuly.
  • 1x dioda 1N4007 (link) - Pin 13 není propojen pomocí propojovacího vodiče, ale pomocí diody. To proto, že během experimentů jsem zjistil, že těsně po zapnutí Arduina je pin nastaven do nějakého logického stavu a není ve vysoké impedanci. Pokud je současně v ATtiny85 nahraný program, který manipuluje s pinem 2, poblikává LED dioda i na Arduinu. Propojení pinů pomocí diody nevadí programování (Dioda sníží napětí pouze o 0,7 V, což ATtiny85 stále čte jako logickou jednotku.) A současně ATtiny85 neovlivňuje Arduino. Je to zvláštní chování, které se upraví po prvním naprogramování ATtiny85 po zapnutí. Neměl jsem zatím čas zkontrolovat ArduinoISP a přesnou příčinu problému neznám.

Vzorový program

Na otestování zapojení je vhodný jednoduchý program. V tomto případě to je program, který postupně zapne LED diody na pinech 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 se nachází na serveru GitHub.


17.03.2018


Menu