{"id":115,"date":"2012-06-29T15:58:40","date_gmt":"2012-06-29T13:58:40","guid":{"rendered":"http:\/\/marko-seifert.de\/blog\/?p=115"},"modified":"2020-01-15T12:23:37","modified_gmt":"2020-01-15T10:23:37","slug":"attiny2313-mit-arduino-isp-programmieren","status":"publish","type":"post","link":"http:\/\/marko-seifert.de\/blog\/?p=115","title":{"rendered":"ATTiny2313 mit Arduino ISP programmieren"},"content":{"rendered":"<p>Zeitgleich zu meinem Arduino Board hatte ich mir auch einen ATTiny2313 und das <a href=\"http:\/\/www.pollin.de\/shop\/dt\/NTI5OTgxOTk-\/Bausaetze_Module\/Bausaetze\/ATMEL_Evaluations_Board_V2_0_1_Fertigmodul.htmlhttp:\/\/www.pollin.de\/shop\/dt\/NTI5OTgxOTk-\/Bausaetze_Module\/Bausaetze\/ATMEL_Evaluations_Board_V2_0_1_Fertigmodul.html\">Evaluations-Board von Pollin<\/a> gekauft. Leider funktioniert der ISP bei mir nicht, da der USB-Adapter Windows7 64 Bit nicht unterst\u00fctzt.<\/p>\n<p>Darum war es eines meiner ersten Ziele, die ich erreichen wollte, dass ich den ATTiny2313 mit meinem Arduino Board programmieren kann. \u00a0Nach langem Ausprobieren und Tutorials durcharbeiten habe ich es endlich geschafft. Es funktioniert \ud83d\ude42<\/p>\n<p><!--more--><\/p>\n<h2>Hardwareaufbau<\/h2>\n<p>Auf dem Arduino-Board sind folgende Ports f\u00fcr die Programmierung vorgesehen:<\/p>\n<ul>\n<li>13: SCK<\/li>\n<li>12: MISO<\/li>\n<li>11: MOSI<\/li>\n<li>10: RESET<\/li>\n<li>5V: VCC<\/li>\n<li>GND:GND<\/li>\n<\/ul>\n<p>Die Pin-Belegung f\u00fcr den ATTiny2312 finden man z.B. <a href=\"http:\/\/www.avrfreaks.net\/index.php?module=photoshare&amp;func=viewimage&amp;thumbnail=&amp;iid=538\">hier<\/a>.<\/p>\n<p><a href=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/attiny2313.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-122\" title=\"attiny2313\" src=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/attiny2313-300x146.png\" alt=\"\" width=\"300\" height=\"146\" srcset=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/attiny2313-300x146.png 300w, http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/attiny2313.png 498w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Angeschlossen habe ich den ATTiny \u00fcber ein BreadBoard.<\/p>\n<p><a href=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/AT_Tiny_ProgrammierungAufbau_Steckplatine.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-125\" title=\"AT_Tiny_ProgrammierungAufbau_Steckplatine\" src=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/AT_Tiny_ProgrammierungAufbau_Steckplatine-266x300.png\" alt=\"\" width=\"266\" height=\"300\" srcset=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/AT_Tiny_ProgrammierungAufbau_Steckplatine-266x300.png 266w, http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/AT_Tiny_ProgrammierungAufbau_Steckplatine.png 377w\" sizes=\"auto, (max-width: 266px) 100vw, 266px\" \/><\/a><\/p>\n<h2>Hardwarespezifischen Einstellung und Core-Modul<\/h2>\n<p>Um Arduino-Code und den Arduino ISP f\u00fcr ATTiny nutzen zu k\u00f6nnen, muss zum einen ein spezielles Core-Modul hinzugef\u00fcgt werden und die Bord-Konfiguration (boards.txt) erweitert werden. Dies passiert im Sketchbook-Verzeichnis (findet man im Men\u00fc Datei\/Einstellungen unter Sketchbook Speicherort). Bei mir ist das (D:\\Users\\[ICH]\\Documents\\Arduino\\)<\/p>\n<pre>\/[Sketchbook-Verzeichnis]\r\n  |--hardware\r\n  |   |--attiny\r\n      |   |--core\r\n          |--boards.txt<\/pre>\n<p>Die Daten (core und boards.txt) findet man in folgendem <a href=\"http:\/\/arduino-tiny.googlecode.com\/svn\/trunk\/\">SVN-Repository<\/a>.<\/p>\n<pre>cd \/[Sketchbook-Verzeichnis]\r\nsvn checkout http:\/\/arduino-tiny.googlecode.com\/svn\/trunk\/hardware\r\n\r\n# <strong>Hinweis:<\/strong>\r\n# Daf\u00fcr ben\u00f6tigt man allerdings ein SVN-Client.<\/pre>\n<p>Danach muss man die Arduino IDE neu starten.<br \/>\nIm Men\u00fc unter Tools\/Boards sieht man jetzt:<\/p>\n<p><a href=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/boards.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-130\" title=\"boards\" src=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/boards-105x300.png\" alt=\"\" width=\"105\" height=\"300\" srcset=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/boards-105x300.png 105w, http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/boards.png 315w\" sizes=\"auto, (max-width: 105px) 100vw, 105px\" \/><\/a><\/p>\n<h2>Blinkende LED<\/h2>\n<p>Jetzt kann es losgehen.<br \/>\nZuerst mus das Arduino-Board ein ISP (In-System-Programmierung) werden. Dazu l\u00e4d man das Sketch ArduinoISP in der IDE und \u00fcbertr\u00e4gt dieses auf das Arduino Board (die Einstellung unter Men\u00fc Tools\/Boards bleibt noch auf Arduino Uno!).<\/p>\n<p>Danach wechselt man das Boad auf z.B. ATTiny2313 @ 1MHz und l\u00e4d das Sketch 01Basics\/Blink. Jetzt kann der Code auf den ATTiny \u00fcbertragen werden. Wenn man jetzt noch einen Wiederstand (ca. 170 Ohm) und eine LED zur Hand hat, kann man den Erfolg \u00fcberpr\u00fcfen.<\/p>\n<p><a href=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/IMG_3225.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-160\" title=\"IMG_3225\" src=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/IMG_3225.jpg\" alt=\"\" width=\"336\" height=\"377\" srcset=\"http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/IMG_3225.jpg 336w, http:\/\/marko-seifert.de\/blog\/wp-content\/uploads\/2012\/06\/IMG_3225-267x300.jpg 267w\" sizes=\"auto, (max-width: 336px) 100vw, 336px\" \/><\/a><\/p>\n<pre>int led[] = {9,8,7,6};\r\n\r\n\/\/ the setup routine runs once when you press reset:\r\nvoid setup() {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0 \/\/ initialize the digital pin as an output.\r\n\u00a0 pinMode(led[0], OUTPUT);\r\n\u00a0 pinMode(led[1], OUTPUT);\r\n\u00a0 pinMode(led[2], OUTPUT);\r\n\u00a0 pinMode(led[3], OUTPUT);\r\n\u00a0digitalWrite(led[0], HIGH);\r\n\u00a0digitalWrite(led[1], HIGH); \r\n\u00a0digitalWrite(led[2], HIGH); \r\n\u00a0digitalWrite(led[3], HIGH); \r\n}\r\n\r\n\/\/ the loop routine runs over and over again forever:\r\nvoid loop() {\r\n\u00a0 digitalWrite(led[0], HIGH);\r\n\u00a0 delay(1000);\r\n\u00a0 digitalWrite(led[0], LOW);\r\n\u00a0 delay(1000);\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Zeitgleich zu meinem Arduino Board hatte ich mir auch einen ATTiny2313 und das Evaluations-Board von Pollin gekauft. Leider funktioniert der ISP bei mir nicht, da der USB-Adapter Windows7 64 Bit nicht unterst\u00fctzt. Darum war es eines meiner ersten Ziele, die ich erreichen wollte, dass ich den ATTiny2313 mit meinem Arduino Board programmieren kann. \u00a0Nach langem Ausprobieren und Tutorials durcharbeiten habe ich es endlich geschafft. Es funktioniert \ud83d\ude42<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,11,12],"tags":[42,161,41,47,43,44],"class_list":["post-115","post","type-post","status-publish","format-standard","hentry","category-arduino","category-development","category-microcontroller","tag-42","tag-arduino","tag-attiny","tag-attiny2313","tag-breadboad","tag-isp"],"_links":{"self":[{"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=115"}],"version-history":[{"count":25,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/115\/revisions"}],"predecessor-version":[{"id":169,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=\/wp\/v2\/posts\/115\/revisions\/169"}],"wp:attachment":[{"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/marko-seifert.de\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}