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.
Ak potom spustíme Arduino IDE, pribudnú nám položky v Boards.
A 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):Aby nám to bolo jasnejšie, prečo práve takto – info z datasheetu a zvýraznené SPI piny…
Na breadboarde:Vyberieme 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:
- RESET, digitálny vstup/výstup D5
- digitálny vstup/výstup D3, analógový vstup A3
- digitálny vstup/výstup D4, analógový vstup A2
- GND, zem
- D0, SPI-MOSI, I2C-SDA
- D1, SPI-MISO
- D2, SPI-SCK, I2C-SCL
- VCC, napájanie (max. 5.5V)
No a čo za príkazy by chceli fungovať?
- pinMode()
- digitalWrite()
- digitalRead()
- analogRead()
- analogWrite()
- shiftOut()
- pulseIn()
- millis()
- micros()
- delay()
- delayMicroseconds()
- SoftwareSerial
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í 🙂
Pridaj komentár