ATtiny programmer

Leestijd: 3 Minuten

Een ATtiny microcontroller deze kleine en goedkopen chips kunnen simpele programma’s draaien. En deze microcontrollers kan je programmeren met een Arduino. Ikzelf heb 4 verschillende soorten. De ATtiny45 en de ATtiny85 hebben allebij 8 pins en zien hetzelfde eruit. De ATtiny85 heeft echter twee keer zoveel geheugen als de ATtiny45. Je hebt ook nog de ATtiny45 en de ATtiny85 deze hebben 14 pins en dus meer in en outputs. Maar hoe programmeer je deze microcontrollers nu ?

Maak onderstaande schema op een breadboard. Open het voorbeeld “ArduinoISP” in je Arduino software en upload deze naar je Arduino.

Om de ATtiny toe te voegen aan je Arduino software voeg je onderstaande url toe aan je board manager.

https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

Vervolgens kan je de ATtiny opzoeken in je board manager (Hulpmiddelen – board – bordenbeheer)

Wanneer je nu een simpele sketch (bijvoorbeeld blink) opent kan je hem oploaden naar je ATtiny. Het belangrijkste naast het juiste bord selecteren is de juiste programmerd selecteren. Standaard staat deze op “AVRISP mkII” en hij moet staan op “Arduino as ISP”.

Om een ATtiny op een andere snelheid te laten lopen kan je een andere bootloader erin branden. Standaard draait een ATtiny op 1MHZ en wanneer je 8MHZ selecteert en de boodloader brand zal je zien dat bijvoorbeeld een ledje sneller begint te knipperen. Echter, wanneer je twee dezelfde ATtiny naast elkaar zet zal je zien dat de snelheid gaat verschillen om dit op te lossen maak je onderstaande schema op een breadboard.

Het doel is om door middel van een kristal aan te geven hoe snel een ATtiny moet draaien. Ook heb ik een aantal ledjes erbij gezet zodat je ziet wat er gebeurt.

De volgende ledjes heb ik
pin 9: Heartbeat – Licht op wanneer de programmer aan staat
pin 8: Error – Licht op wanneer er iets mis is
pin 7: Programming – Licht op wanneer de programmer data naar de ATtiny schrijft

Op deze manier kan je een ATtiny op 16 of 20MHZ laten draaien, zolang je het juiste kristal maar gebruikt. Uiteindelijk heb ik twee versies gemaakt als shield voor een Arduino UNO.

Python
ATtiny