Novinky: Pridal som novú sekciu na webe - Turistika
Sitepoint logo

Programujeme ATTINY pomocou Arduina

Na tento postup sa budem odkazovať častejšie, takže ho hodím na blog v rodnej reči, ako preklad a doplnenie pôvodného článku. Na úvod – stiahneme si definície nových mikroprocesorov. Rozbalíme do adresára \arduino\hardware\, aby to vyzeralo nasledovne.

1boards

Ak potom spustíme Arduino IDE, pribudnú nám položky v Boards.

1brds2A môžme pokračovať – otvoríme si program ArduinoISP a nahráme do Arduina (či už UNO alebo MiniPro). Teraz sa z neho stal ISP programátor (in-system programmer), ktorý slúži na nahratie programu do iného mikroprocesora cez SPI piny (MOSI, MISO, SCK), čo sa využíva napríklad na prvotné nahratie softvéru alebo jeho aktualizáciu v existujúcom zariadení, ktoré neobsahuje klasické „veľké“ Arduino, ale iba samotný mikroprocesor. Teraz zapojenie ATTINY85 (alebo iného):Tiny85_ISPAby nám to bolo jasnejšie, prečo práve takto – info z datasheetu a zvýraznené SPI piny…tiny85-pinout-spi

Na breadboarde:IMG_20141123_205432Vyberieme si teda Board (Internal 8 MHz) a v menu Tools spustíme Burn bootloader – reálne to zmení len „fuses“ na čipe (nastaví prevádzkové parametre) – viac info o „fuses“ a tu. No a konečne môžme otvoriť/napísať program, ktorý má byť nahraný do tohto drobca. Na úvod nám stačí Blink – blikanie LEDkou. Necháme nastavený COM port kde máme ArduinoISP a zvolíme správny Board, osobne používam len interný oscilátor a nie externý kryštál – a dáme Upload.

void setup() {                
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
}

void loop() {
  digitalWrite(3, HIGH);
  delay(50);
  digitalWrite(3, LOW);
  delay(300);
  digitalWrite(4, HIGH);
  delay(50);
  digitalWrite(4, LOW);
  delay(300);
}


K dispozícii máme 8 vývodov, 2 sú napájanie a jeden je štandartne RESET, ale aj ten sa dá v prípade potreby využiť. Z toho jednoduchou matematikou vychádza 5 pinov (2, 3, 5, 6 a 7 vývod), ich využitie viď na obrázku vyššie, alebo tu:

  1. RESET, digitálny vstup/výstup D5
  2. digitálny vstup/výstup D3, analógový vstup A3
  3. digitálny vstup/výstup D4, analógový vstup A2
  4. GND, zem
  5. D0, SPI-MOSI, I2C-SDA
  6. D1, SPI-MISO
  7. D2, SPI-SCK, I2C-SCL
  8. VCC, napájanie (max. 5.5V)

No a čo za príkazy by chceli fungovať?

Knižnice treba hľadať také, ktoré sú prispôsobené pre ATTINY, treba brať do úvahy aj veľkosť pamäte SRAM (iba 512 bajtov oproti 2 kB čo má MEGA 328) a skúšať, skúšať. Rozbehal som I2C zbernicu (OLED displej, PCF8574 port expander, externá EEPROM…), IR príjmač, sériový port… Viac nabudúce. Veľa štastia pri programovaní 🙂

BONUS:ATtiny45-85ATtiny44-84


Categories:

Tags:


Comments

3 odpovede na na “Programujeme ATTINY pomocou Arduina”

  1. tomXX Avatar

    Doplnil som info o „fuses“ a poznámku, že treba použiť Burn bootloader aby sa zmenili nastavenia mikroprocesoru.

  2. […] Tu je celý kód (na stiahnutie ZIP), vysvetlenie a návod pod ním + návod ako program nahrať do mikroprocesoru. […]

  3. […] spustení sa nám vytvorí súbor „tsb_tn85_b3b4_xxxxxxx.hex“, ktorý následne môžme nahrať do MCU pomocou ISP (ArduinoISP, usbasp…). Tú sú príkazy na nahratie bootloadera a nastavenie správnych […]

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *