ATtiny85 programmieren (mit Arduino Uno oder USB-Programmer)

ATtiny85 programmieren (mit Arduino Uno oder USB-Programmer)

Tags:

Kategorien: Arduino

 

Ausdrucken Ausdrucken

attiny85Heute wollen wir einen ATtiny85 programmieren.

Hierzu ist es wichtig, dass Eure Arduino-IDE ATtiny-Prozessoren unterstützt. Wie Ihr das einstellt, könnt Ihr hier nachlesen.

 

Entscheidet Ihr Euch dazu, Euren Prozessor mit einem USB-Programmer zu programmieren (finde ich am elegantesten, zumal man sich bei häufiger Nutzung ein spezielles Breadboard vorbereiten kann und nicht jedesmal seinen Arduino anschließen muss), so kann ich Euch wärmstens den USB-Programmer aus dem Guloshop ans Herz legen.
Das Teil kostet nicht mal 5 Euro und Ihr könnt gleich noch ein wenig löten üben, da Ihr einen Wannenstecker, so wie das USB-Kabel anlöten müsst.
Bestellt am besten gleich noch ein 10-poliges-Breadboard-Programmierkabel mit, wenn Ihr so ein Kabel wie unten abgebildet nicht habt. Das erleichtert Euch die Arbeit.
Alternativ macht es so wie ich und vielleicht befindet sich in Eurer Restekiste vergangener PCs auch ein RS 232-Kabel (DSUB9). Man nutzt es für die COM-Ports.

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

Der Programmer ist super dokumentiert und selbst Anfänger (inklusive mir) sollten mit der Anleitung sehr gut zurechtkommen.
Ein vergleichbares fertiges Gerät gibts ab 15 Euro aufwärts im Handel und ich bezweifle mal, dass die mehr können. Mangels Selbstversuch kann ich das aber nicht wirklich beurteilen.

Folgende Prozessoren sind unter Anderem mit diesem Programmer programmierbar (und alle Mikroprozessoren die mit ISP und TPI umgehen können):
ATtiny 13, 13A, 13V, 25, 25V, 45, 45V, 85, 85V
ATtiny 10, 20, 40 (mit optionalem DIP-Adapter)
ATtiny 2313, 2313A, 4313
ATtiny 24, 24A, 44, 44A, 84, 84A
ATtiny 26, 26L, 261A, 261V, 461A, 461V, 861A, 861V
ATtiny 43U (mit optionalem DIP-Adapter)
ATtiny 48, 88
ATtiny 87, 167 (mit optionalem DIP-Adapter)
ATmega 8, 8L, 48, 48A, 48P, 48PA, 88, 88A, 88P, 88PA
ATmega 168, 168A, 168P, 168PA, 328, 328P
ATmega 16, 16A, 32, 32A, 164A, 164P, 164PA, 324A, 324P, 324PA, 644, 644A, 644P, 644PA, 1284, 1284P, 8535
ATmega 162, 8515
ATmega 32U2/DIP, 32U4/DIP

Und ratet mal, was auf der Programmer-Platine werkelt? Ein ATtiny85. 🙂

Ist diese Hürde überwunden und der USB-Programmer läuft fehlerfrei, dann kann es auch schon weitergehen.

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

Wir brauchen ein weiteres Kabel wie Oben erwähnt mit einer 10poligen Buchse, davon aber nur 9 Adern wovon 3 Ground sind. Das andere Ende am besten offen, so kann man es auf dem Breadboard einsetzen. Ich habe die 9 Adern einfach auf eine Stiftleiste gelötet und das Ganze im Anschluss mit einer Ladung Heißkleber isoliert.
Das gibt dem Stecker neben einer Isolierung zusätzlich noch eine gewisse Stabilität.

Achtet im weiteren Ablauf darauf, dass die Reihenfolge richtig ist, wenn es – wie in meinem Fall – kein verpolungssicherer Stecker ist, den man nur richtig herum in den Wannenstecker stecken kann.

DSUB9-Markierung Pin 1

Zum Vergrößern Bild anklicken

Das Flachbandkabel ist an einer Seite durchgängig rot markiert. Das ist Pin 1. Danach zählt Ihr einfach durch bis Pin 9. (Am Stecker selbst ist Pin 2 unterhalb von Pin 1, dann geht es mit Oben 3, Unten 4, … weiter.
Meist befindet sich auf dem Stecker selbst auch ein kleiner Pfeil am Pin 1 und ein weiterer Pfeil als Gegenstück auf dem Wannenstecker selbst.

Sicherheitshalber könnt Ihr das Ganze auch mit Eurem Multimeter noch einmal überprüfen, dass jede Leitung Eures Kabels auch einwandfrei funktioniert.

Messspitzen Multimeter

Zum Vergrößern Bild anklicken

Nehmt dazu Euer Multimeter und fertigt Euch am besten mit jeweils einem 2-3 cm langem Stück blanken Schaltdraht einen Aufsatz für Eure Messspitzen. Damit kommt Ihr problemlos in den Stecker und in das Breadboard.

Setzt nun Euer  angefertigtes Kabel auf einem Breadbord ein. So könnt Ihr leichter die 9 Leitungen testen.
Stellt Euer Multimeter auf Spannungsprüfung: VGleichstrom

 

Steckt nun die eine Messspitze in das Breadboard in Pin 1 (rote Seite). Im Stecker macht Ihr mit der anderen Messspitze dasselbe.

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

Habt Ihr beide Messspitzen in derselben Leitung und habt Ihr sauber gelötet, fällt die Spannung an Eurem Multimeter auf 0,0.
Ihr könnt es ja mal ausprobieren, in dem Ihr eine andere Leitung prüft aber die Messspitze im Stecker auf Pin 1 lasst. Das Multimeter kann den Stromkreis nicht schließen und zeigt so nie 0,0 an.

Testet nun alle 9 Leitungen und wenn alles funktioniert hat, wird es nun ernst. Wir holen den ATtiny aus seiner Verpackung und stecken ihn auf unser Breadboard.

 

 

Nun müssen wir erst einmal im Datenblatt nachsehen, wie die Pins des ATtiny85 belegt sind, damit wir die Leitungen unseres Programmers richtig anschließen können.

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

 

Programmieren mit dem USB-Programmer

Im Gegenzug schauen wir uns die Belegung unseres Programmers an.

Steckerbelegung

 

Somit ergibt sich folgende Belegung:

USBasp-Programmer ATtiny85
MOSI Pin 1 <-> Pin 5 PB0
RESET Pin 5 <-> Pin 1 PB5
SCK Pin 7 <-> Pin 7 PB2
MISO Pin 9 <-> Pin 6 PB1
VCC Pin 2 <-> Pin 8 VCC
GND Pin 4 <-> Pin 4 GND

 

Los gehts. Verkabeln wir nun unseren ATtiny nach der Pinbelegung. Pin 1 auf der IC-Fassung erkennt Ihr daran, dass er mit einem kleinen Punkt auf dem Rücken des Bausteins markiert ist.

Die weißen Kabel sind +5V und GND. Alle roten Kabel sind Datenleitungen.

Die weißen Kabel sind +5V und GND-Verbindungen. Alle roten Kabel sind Datenleitungen. Zum Vergrößern Bild anklicken.

So, nachdem wir nun noch einmal überprüft haben, dass alles korrekt verkabelt ist, starten wir unsere Arduino-IDE und klicken “Werkzeuge” an. Dort müssen wir zuerst das “Board” auswählen. Hier muss “ATtiny” eingetragen werden.
Als “Processor” wählen wir “ATtiny85” aus.
Als “Clock” wählen wir “1 Mhz (internal)“. Achtung, das ist sehr wichtig, sonst passiert ein gravierender Fehler (siehe Bootloader kaputt).
Als “Programmer” wählen wir “USBasp” aus, wenn Ihr den oben genannten Programmer aus dem Guloshop verwendet.

So, jetzt brauchen wir nur noch ein Testsketch. Wir nutzen einen kleinen Sketch “Hallo Welt auf der Platine”, sprich, das äquivalent zum Programmieren das ein “Hallo Welt” auf den Monitor zaubert. Bei uns wird am Ende eine LED blinken, wenn wir alles richtig gemacht haben.

 

 

Nun laden wir unseren Sketch hoch, verwenden dafür aber entweder unter “Sketch” den Menüpunkt “Hochladen mit Programmer“, oder halten unsere Großschreibtaste gedrückt und klicken den “Hochladen”-Pfeil an. Es erscheint dann auch nicht wie gewohnt der Text “Hochladen”, sondern “Hochladen mit einem Programmer”.

War das kompilieren und hochladen erfolgreich, testen wir gleich mal unseren Sketch.
Wir programmierten ja, das eine LED auf PB0, also auf dem physischen Pin 5 blinken soll.

Wir lösen zur Sicherheit die USB-Verbindung zu unserem Breadboard um den weiteren Aufbau vornehmen zu können.

Jetzt nehmen wir beispielsweise einen 220 Ohm-Widerstand und eine grüne LED und stecken das eine Ende des Widerstandes an den Pin 5 und die LED mit der Kathode (also dem Minuspol und somit dem kürzeren Beinchen) an das andere Ende des Widerstandes. An die Anode der LED (Pluspol, längeres Beinchen) stellen wir eine Verbindung zu +5V her.

Nun verbinden wir die USB-Verbindung wieder, damit wir Strom bekommen und wenn wir Widerstand und LED richtig eingebaut haben, sollte unsere LED blinken.

Wir verbinden eine LED mit Pin 5 um unsere Testschaltung in Aktion sehen zu können.

Wir verbinden eine LED mit Pin 5 um unsere Testschaltung in Aktion sehen zu können.

Wunderbar. Nun können wir problemlos eine ganze Armada an ATtinys auf diesem Wege programmieren.

Eine weitere Möglichkeit wäre die Verwendung eines Arduinos als Programmer. Da ich nur Unos in meinem Sortiment habe, zeige ich Euch, wie Ihr mit ihm Sketche auf Euren ATtiny hochladen könnt.

 

Programmieren mit dem Arduino Uno als Programmer

Vom Grundprinzip zum programmieren mit einem USB-Programmer ist das hier nicht viel anders. Als erstes müssen wir wissen, wo auf unserem Uno die entsprechenden Datenleitungen sind die wir benötigen. Das wären MOSI, RESET, SCK und MISO. So wie natürlich +5V und GND.

Arduino-Uno-R3-Pinbelegung

Zum Vergrößern Bild anklicken

 

Somit ergibt sich folgende Belegung:

Arduino Uno ATtiny85
MOSI Pin 11 <-> Pin 5 PB0
RESET Pin 10 <-> Pin 1 PB5
SCK Pin 13 <-> Pin 7 PB2
MISO Pin 12 <-> Pin 6 PB1
VCC <-> Pin 8 VCC
GND <-> Pin 4 GND

 

Wir können nun unser Breadboard mit dem ATtiny drauf verbinden. Ich habe aus dem vorherigen Beispiel mit dem Programmieren mit Programmer die Kabelanordnung auf dem Breadboard komplett gleich gelassen. Somit geht das erste linke Kabel vom Pin 11 des Unos zu Pin 5 des ATtinys, das letzte Kabel rechts geht von Pin 12 in Pin 6. Weiß sind +5V und GND.

Die weißen Kabel sind +5V und GND-Verbindungen. Alle roten Kabel sind Datenleitungen. Zum Vergrößern Bild anklicken.

Die weißen Kabel sind +5V und GND-Verbindungen. Alle roten Kabel sind Datenleitungen. Zum Vergrößern Bild anklicken.

Wie immer erfolgt noch einmal der Blick auf die Verkabelung und das alles richtig angeschlossen ist.
Nun verbindet Ihr Euren Uno mit dem Computer und öffnet die Arduino-IDE.

Achtung, jetzt kommt der große Unterschied: Ihr müsst Eurem Uno zuerst ein Sketch verpassen, damit er zum Programmer wird. Hierzu öffnen wir den Sketch unter “Datei” -> “Beispiele” ->”11.ArduinoISP” -> “ArduinoISP” und übertragen ihn wie gewohnt per USB auf unseren Uno.
Jetzt ist er bereit und kann weitere Chips programmieren.

Wir erstellen einen neuen Sketch und nehmen wie ich in unserem obigen Beispiel die “Hallo Welt”-LED. Gegebenenfalls tauscht Ihr hier die delays (Zeile 9 und 11) aus, damit Ihr auch einen Unterschied merkt, solltet Ihr zuvor das gleiche Sketch mit dem USBasp-Programmer hochgeladen haben. Je niedriger der Wert, desto schneller blinkt die LED. Ich habe in diesem Beispiel mal 100 ms statt der zuvor verwendeten 500ms eingestellt.

 

 

Nun laden wir unseren Sketch auf den ATtiny.
Wie in dem anderen Beispiel wählen wir nun in der Arduino-IDE “Werkzeuge” aus.
Dort müssen wir zuerst das “Board” auswählen. Hier muss “Tiny” eingetragen werden.
Als “Processor” wählen wir “ATtiny85” aus.
Als “Clock” wählen wir “1 Mhz (internal)“. Achtung, das ist sehr wichtig, sonst passiert ein gravierender Fehler (siehe Bootloader kaputt).
Als “Programmer” wählen wir “Arduino as ISP” aus. Hinweis: Es gibt einen weiteren Eintrag der vor diesem kommt mit der Bezeichnung “ArduinoISP“. Sehr unglücklich gewählt, denn mit dieser Auswahl wird es nicht funktionieren.

War auch in diesem Beispiel das kompilieren und hochladen erfolgreich, testen wir gleich mal unseren Sketch.
Es soll ja wieder die LED auf PB0, also auf dem physischen Pin 5 blinken.

Wir lösen zur Sicherheit die USB-Verbindung zu unserem Breadboard um den weiteren Aufbau vornehmen zu können.

Jetzt nehmen wir beispielsweise einen 220 Ohm-Widerstand und eine grüne LED und stecken das eine Ende des Widerstandes an den Pin 5 und die LED mit der Kathode (also dem Minuspol und somit dem kürzeren Beinchen) an das andere Ende des Widerstandes. An die Anode der LED (Pluspol, längeres Beinchen) stellen wir eine Verbindung zu +5V her.

Nun stellen wir die USB-Verbindung wieder her, damit wir Strom bekommen und wenn wir Widerstand und LED richtig eingebaut haben, sollte auch hier unsere LED wieder blinken.

Blinkende LED als Ergebnis des erfolgreichen Aufspielen des Sketches. Zum Vergrößern Bild anklcken.

Blinkende LED als Ergebnis des erfolgreichen Aufspielen des Sketches. Zum Vergrößern Bild anklcken.

Sollten bei der Programmierung mit dem Arduino als Programmer Probleme auftreten, dann versucht mal einen Elektrolyt-Kondensator mit einem Wert von rund 10 µF zwischen GND und dem Reset-Pin des Arduinos zu setzen. Unbedingt auf Polarität achten! GND = Minus, Reset = Plus.
Der Kondensator soll einen Reset beim Hochladen des Sketches verhindern. Allerdings habe ich es mit und ohne Kondensator versucht. Es funktioniert beides. Aber ich habs mal erwähnt, falls bei dem ein oder anderen ein Problem auftritt und das die Lösung dafür wäre.

Uno ATiny ELKO 10uf auf Reset

Zum Vergrößern Bild anklicken

 

So, das waren zwei der Wege wie man weitere Prozessoren programmieren kann. Man braucht immer einen Programmer, wenn man “nackte” Prozessoren programmieren will. Dabei ist es gleich, ob wir den Arduino verwenden und ihn mit einem Sketch zu einem Programmer umfunktionieren, oder beispielsweise den USBasp-Programmer verwenden, der ja ebenfalls auf seinem verbauten ATtiny ein Programm installiert hat, was ihn auch zu einem Programmer macht.

Etwas ganz Wichtiges noch am Ende:
Versucht nicht, dem ATtiny ein neues Programm hochzuladen, während beispielsweise die Testschaltung aktiv ist. Oder auch jede andere, denn wenn die Pins noch anderweitig belegt sind, kommt es zu unerwarteten Fehlermeldungen beim Hochladen.
Bei unserer Testschaltung reicht es beispielsweise schon, wenn wir den Draht von der LED zur +5V-Spannung abklemmen. Dann können wir auch ohne Fehlermeldungen einen neuen Sketch hochladen.


23 Comments

Franz Guggemos

20. April 2022 at 11:46 pm

Eine erstklassige Anleitung. Schon lange nicht mehr so Brauchbares gelesen.
Weiter so!

Yves

21. Juli 2019 at 7:51 am

Irgendwie funktioniert das Antworten hier nicht.

Was mir heute früh noch eingefallen ist: Ich würde auf jeden Fall eine Diode zwischen VCC(board) und µC setzen und VCC(prog) direkt an den µC verbinden (hinter der Diode), damit die Spannungsversorgung des Programmers nicht auch den Rest der Schaltung aufweckt. Vielleicht wäre sowas ja auch für andere IOs nützlich und erspart dir die unhandlichen Schalter.

Oder da eine Diode einen nicht unwesentlichen Spannungsabfall hat, vielleicht was mit einem MOSFET: https://www.elv.de/elektronikwissen/verpolungsschutz-mit-mosfet.html

Yves

20. Juli 2019 at 8:23 pm

Ach ja, danke für die Antwort. Habe mittlerweile rausgefunden, dass mich das gar nicht betrifft. Ich würde einen ATtiny 1-series (z.B. 414, 814, 1614) verwenden. Der lässt sich eh nur mit UPDI programmieren und das belegt nur einen einzelnen Pin, den man eh schlecht für was anderes verwenden kann (UPDI/RESET).

Yves

16. Juli 2019 at 9:57 pm

Was ist eigentlich, wenn ich den µC bereits auf ein Board gelötet habe, wie kann ich den dann umprogrammieren? Ich habe mal irgendwo irgendwas gelesen, dass man da überall Widerstände reinhängen soll, damit die SPI-Verbindung noch funktioniert. Weißt du da näheres zu? Welche Arten von Pinbeschaltung sind denn konkret problematisch?

Einen Sockel kann ich eher nicht verwenden, da es ja nur noch SMD-ICs gibt und die würde ich in kompakten Lösungen auch gleich auf die Platine löten.

    Ronin

    19. Juli 2019 at 7:56 am

    Hallo Yves,
    ja, das ist ein Problem. Beim umprogrammieren brauchst Du ja eine freie Leitung auf Pin 5,6 und 7. Sobald da irgendwas dazwischenfunkt (bspw. Sensoren) stoppt der Programmer.
    Für solche Fälle wo ich den IC nicht rausnehmen kann, mache ich das so, dass ich eine Art Switch auf der Platine mit einbaue: Einen/mehrere Jumperpins (auf 5,6,7), den/die man umsetzt, je nachdem, ob man den Controller programmieren oder ihn ganz normal laufen lassen will. Finde ich die schnellste und sicherste Methode, auch wenn man dafür maximal drei Drahtbrücken einbauen müsste.

    Viele Grüße, Michael

Klaus

14. April 2019 at 3:20 pm

Hallo,
Schönes Tutorial ,
ich Trau mich mal als purer Anfänger folgende Frage zu Stellen:
Wenn es mir gelungen ist mit dem Arduino UNO3 ein kleines Programm auf den Attiny85 hochzuladen, kann ich dann den Attiny an einer Fremden Stromquelle (3-5V-) anschließen und das Programm wird dann ausgeführt? Mir ist nämlich nicht ganz klar geworden ob und wie etwa noch ein Bootloader auf den Attiny aufgespielt werden muss (ob Überhaupt, wenn ja wie und wann, also z.B. erst Programm hochladen dann Bootloader). Möchte gerne einen Attiny 85 verwenden um kleinere Sachen zu Bewerkstelligen, um nicht einen Arduino verwenden zu müssen
. Gruss Klaus

    Ronin

    15. April 2019 at 9:32 am

    Hallo Klaus,

    vielen Dank. 🙂
    Zu Deiner Frage: Ja, das geht auf jeden Fall. Sobald Du einen Sketch auf Deinen Attiny übertragen hast, kann dieser mit einer eigenen Stromversorgung und losgelöst vom Arduino arbeiten.

    Einen Bootloader benötigst Du, wenn Du mit der Arduino IDE einen Sketch auf einen Attiny (oder einen Uno, Nano, usw.) übertragen willst.

    Vereinfacht gesagt ist der Boolader quasi das Betriebssystem. Würdest Du den Controller direkt mit einem Programmer programmieren, ist ein Bootloader nicht erforderlich. Es gibt übrigens auch andere Bootloader, als den “Arduino” (bspw. Optiboot, TinySafeBoot, …)

    Wenn Du ein Attiny-Modul kaufst (wie wir es auch beispielsweise im Shop anbieten), so ist auf diesem bereits ein Bootloader vorinstalliert. Baust Du Dir einen selbst aus dem Controller-IC und passender Beschaltung, so wirst Du zuerst einen Bootloader installieren müssen, damit Du ihn mit der Arduino IDE verwenden kannst.

    und wenn weitere Fragen sind … einfach stellen. 🙂

    Viele Grüße,
    Michael

Christian

17. Februar 2018 at 4:22 am

Sehr sehr toll das alles hier.
Da der nano ja auch über die notwenigen Anschlüsse verfügt, sollte man damit auch attiny programmieren können? Oder muss man im der Arduino ISP noch etwas zwecks der Pins ändern? Glaube schon..

    Ronin

    17. Februar 2018 at 1:27 pm

    Hallo Christian,

    nein, der Nano ist Pinkompatibel gegenüber dem Uno.
    Du musst also nichts ändern, wenn Du ihn als ISP einsetzen möchtest.

    Viele Grüße,
    Michael

      Christian

      18. Februar 2018 at 3:07 am

      Vielen dank für diese unfassbar schnelle Antwort.

      Christian

      18. Februar 2018 at 3:57 am

      Jetzt hab ich noch vergessen. Is es möglich in dieser Vorgehensweise auch einen ATTINY13-20SU  zu programmieren? Gewisse Einstellungen müssen nur angepasst sein. Oder?

        Ronin

        18. Februar 2018 at 2:10 pm

        Uhhh, ein 13er ist ja ne ziemliche Rarität. 🙂

        Machbar sollte das sein – ich hab das selbst noch nicht probiert – aber von der Vorgehensweise wie mit einem Uno(Nano) einen Attiny85 zu programmieren.

        Du benötigst lediglich für Deine Arduino-IDE das passende Attiny13-Board, besser gesagt die Einstellungen, die für diesen Controller gelten.
        Die auf meiner Seite verwendeten Attiny-Supports unterstützen diesen Typ nicht einfach so “out of the box”.

        Schau aber mal auf http://www.instructables.com/id/Programming-an-ATTiny13A-using-Arduino-servo-int/ vorbei. Der Punkt “Step 2: Setting Up the IDE” sollte Dir weiterhelfen einen Attiny13 programmieren zu können.

        Viel Erfolg und lass mal wissen, ob es funktioniert hat, ok?!

        Viele Grüße,
        Michael

          Christian

          18. Februar 2018 at 6:26 pm

          Vielen vielen Dank. Das hätte ich nie gefunden. Die Modifikationen sind leicht umzusetzen.

          Den Attiny13 will ich nur mal versuchen zu programmieren da er klein ist, weniger Energie verbraucht und die Anforderungen minimal sind.

          Der Attiny13A hat aber eine größere Bauart als den ich vorhabe zu programmieren. Der ATTINY13-20SU hat das SOIC-8 Gehäuse und der große hat PDIP-8.

          Jedenfalls freu ich mich schon es zu probieren.

          Christian

          22. Februar 2018 at 12:47 am

          Bei Schritt 2 habe ich den entsprechenden Ordner heruntergeladen und in den Hardware Ordner kopiert. So dass jetzt das Board attiny18 angezeigt wird. Allerdings sagt mir die Software dann dass aktuell ausgewählte Board den Kern Arduino:Arduino nicht installiert ist.

          Weiterhin habe ich die wrong.c verändert und wie beschrieben in Zeile 44 den AVR_ATtiny13 hinzugefügt.
          Aber irgendwie reicht das alles noch nicht.
          Das ausgleichen der Taktgeschwindigkeit in der Datei boards.txt um gewisse Fehler auszugleichen habe ich getan allerdings hat das mit dem Problem noch nichts zu tun.
          Ist es irgendwie möglich noch anderweitig mit dir in Kontakt zu kommen?

          Christian

          22. Februar 2018 at 11:49 am

          So jetzt ist Schluss mit dem zugespammmme.

          1. Diese Anleitung befolgen https://github.com/MCUdude/MicroCore#how-to-install
          2. Das der Link für den Boardverwalter https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
          3. Muss die board.txt angepasst werden. Die letzte Zeile von diesem Block muss von 960000L zu 1000000L geändert werden damit der Tackt stimmt.

          ### 9.6 MHz internal osc.
          attiny13.menu.clock.9M6=9.6 MHz internal osc.
          attiny13.menu.clock.9M6.bootloader.low_fuses=0x3A
          attiny13.menu.clock.9M6.build.f_cpu=1000000L

          Aber da gibts etwas was mich Stunden über Stunden gekostet hat.
          Ich habe keinen UNO und programmieren wollte ich den ATtiny mit dem Nano. So und nun steht bei dir:

          RESET Pin 10 Pin 1 PB5

          Ich dachte das der UNO an PIN 10 wirklich ein Reset hat. Und weil der Nano im PINOUT dort keins hat, habe ich den Pin1 des ATtiny an RESET geklemmt. Was dann natürlich nicht ging.
          Das “Reset” in deiner Auflistung wäre besser auf der Seite des des ATtinys aufgehoben. Das hatte mich verwirrt.

Kibarak

28. Januar 2017 at 8:00 am

Danke für die ausführliche Anleitung. Dasselbe für den Pi wäre klasse!
MfG

    Ronin

    28. Januar 2017 at 11:50 am

    Hi Kibarak,

    nun, die Vorgehensweise ist fast die gleiche, nur wird es schwierig, da nach der Programmierung ein Reset an den Arduino geschickt wird. Der Reset-Pin beim Pi ist ja der P6 (gegenüberliegend der Stiftleiste, in der Nähe von HDMI). Auf diesen müsstest Du, falls noch nicht vorhanden, zuerst noch eine Stiftleiste auflöten.

    Dann brauchst Du noch Pin 19 MOSI an Pin 11 (Pro Mini), Pin 21 MISO an Pin 12, Pin 23 CLK an Pin 13, VCC (3,3V) und GND.

    Die weitere Vorgehensweise zum Programmieren ist dann die gleiche wie hier beschrieben.

    Selbst habe ich es aber nicht getestet, denn ehrlich gesagt würde ich nicht empfehlen, mit einem Raspi einen Mikrocontroller zu programmieren, da er Raspi in Verbindung mit der Arduino-GUI sehr sehr träge ist. Das macht nicht wirklich Spaß.

    Man kann natürlich auch im Terminal programmieren, aber dann würde ich doch der Einfacheit halber lieber einen USB-Programmer nehmen, oder Attinys mit nem Uno programmieren. 🙂

    Solltest Du es aber ausprobieren wollen, dann würde ich mich über eine Rückmeldung Deiner Erfahrung freuen.

    Viele Grüße,
    Michael

Dani

9. Januar 2017 at 4:10 pm

Vielen vielen Dank für diese als Einsteiger sehr gut verständliche und trotzdem umfassende Anleitung. Bei mir hat das flashen via USBasp Programmer nicht geklappt, (defekt?), musste der RPi dran.

P.S. Wie wärs mit HTTPS z.B. via LetsEncrypt?

    Ronin

    9. Januar 2017 at 6:39 pm

    Dankeschön Dani,

    Lob liest man doch immer wieder gerne. 🙂
    Das Problem an sich kenne ich. Manchmal weigert sich der Programmer hartnäckig. 🙂
    Zu Deiner Frage: Was meinst Du? Wie Du ein SSL-Zertifikat auf Deinem Server (Raspi) installierst? Mit Bordmitteln und/oder Letsencrypt?

    Kein Problem, zumindest der erste Teil, denn eigene SSL-Zertifikate kann man ja recht einfach installieren. Mit Letsencrypt klingt interessant. Das wollte ich letzt aus Kostenersparnisgründen auf einem Live-Server im Internet einsetzen, allerdings hab ich mich noch nicht weiter mit beschäftigen könnnen.

    Aber wir fangen mal mit den Bordmitteln an. In den kommenden Tagen findest Du ein neues Tutorial zu dem Thema. Letsencrypt folgt dann.

    Viele Grüße,
    Michael

Yannick

26. November 2016 at 12:35 pm

Hallo,
ab welchem Zeitpunkt kann man die Kabel zu dem Arduino trennen.
Ich würde den Attiny gerne über eine 9V Batterie betreiben ?
Super Anleitung alles funktioniert perfekt.

    Ronin

    26. November 2016 at 6:53 pm

    Hallo Yannick,

    Vielen Dank, aber was genau meinst Du mit ab welchem Zeitpunkt?

    Wenn Du einen Sketch erfolgreich aufgespielt hast, erscheint doch in der Statusanzeige “avrdude done. Thank you.” Ab dann kannst Du das Kabel zum Arduino trennen.

    Und dran denken, dass Du einen Wandler benutzt, wenn Du den Attiny Standalone mit 9V betreiben willst.
    Siehe hier: Spannungsregler (einfach) 5V->3.3V Da kannst Du auch 9V als Eingangspannung anlegen und/oder den 3,3V Spannungswandler LP 2950-33 gegen einen 5V LP 2950-50 austauschen, sollte Deine restliche Schaltung mehr als 3,3V benötigen. Ansonsten läuft der Attiny ja auch wunderbar mit 3,3V.

    Viele Erfolg und viele Grüße,
    Michael

axel becker

28. Oktober 2016 at 12:12 pm

leider fehlen mir als blinder Anfänger z.B. die Programmversion (1.6.0 oä)
sonst kannich der Anleitung nicht folgen (processor ….).
Danke für eine Info

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.