{"id":3377,"date":"2023-03-11T22:06:06","date_gmt":"2023-03-11T21:06:06","guid":{"rendered":"https:\/\/cbrell.de\/blog\/?p=3377"},"modified":"2023-03-11T23:34:07","modified_gmt":"2023-03-11T22:34:07","slug":"atmega168-mit-der-arduino-ide-programmieren","status":"publish","type":"post","link":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/","title":{"rendered":"ATMEGA168 mit der Arduino IDE programmieren"},"content":{"rendered":"<p><em>Den ATMEGA168 mit der Arduino IDE programmieren kann eine Ausweg sein, um Arduino-basierte Projekt umsetzen zu k\u00f6nnen. Mit der Corona Krise wurde es f\u00fcr Projekte, die auf den Microcontroller ATMEGA328P (das ist der aus dem Arduino Uno) setzten, schwer. Der ATMREGA328P ist quasi seit zwei Jahren nicht lieferbar. Viele Anwendungen kommen mit etwas weniger Ressourcen aus, so dass der ATMEGA168 eine Alternative darstellt. Die Programmierung hat jedoch ein paar H\u00fcrden. Der Beitrag zeigt, wie man den Microcontroller ATMEGA168 mit der Arduino IDE programmieren kann.<\/em><\/p>\n<p>Siehe auch:<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/raspberry-pico-w-im-wlan-mit-python-eine-einfuehrung\/\">Raspberry Pico W im WLAN mit Python \u2013 eine Einf\u00fchrung<\/a><\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/bodenfeuchtesensor-webbasiert-mit-dem-esp8266\/\">Bodenfeuchtesensor webbasiert mit dem ESP8266<\/a><\/p>\n<p>11.03.2023<\/p>\n<h2>Motivation<\/h2>\n<p>In manchen Projekten f\u00fchrt kein Weg an den AVR-Prozessoren vorbei, sei es, wenn ein augekl\u00fcgeltes Energiemanagment erforderlich ist, oder es schlicht nut Bibliotheken f\u00fcr bestimmte Anwendungsf\u00e4lle gibt. Soll z. B. wie im <a href=\"http:\/\/bieneviernull.de\" target=\"_blank\" rel=\"noopener\">Projekt Biene40<\/a> ein Gateway f\u00fcr 433 MHz aufgebaut werden, das Daten \u00fcber SofwareSerial oder Manchester Code entgegennimmt, ist man auf AVR-Prozessoren angewiesen. Au\u00dferdem weist keine andere Prozessorfamilie eine so beachtlich Stabilit\u00e4t im Feld auf. Das hatte zur Folge, dass insbesondere Automobilhersteller zu Beginn der Coriona-Krise alle diese Microcontroller aufgekauft hatten. Viele Projekte sind z,B. mit ESP8266 umsetzbar, in manchen F\u00e4llen ist ein\u00a0 ATMEGA328P praktischer.<\/p>\n<p>Der Microcontroller ATMEGA168P kann in vielen Projekten eine Alternative sein. Sein gro\u00dfer Vorteil: Man kann ihn kaufen (z.B. bei Reichelt, 5,90\u20ac Ende Februar 2023)<\/p>\n<h2>Rahmenbedingungen<\/h2>\n<p>Rahmenbedingungen sind:<\/p>\n<ul>\n<li>Bereits entwickelte Programme f\u00fcr den ATMEGA328P sollen m\u00f6glichst ohne \u00c4nderung verwendet werden<\/li>\n<li>Zum Programmieren wird die Arduoino IDE eingesetzt.<\/li>\n<li>Vorbereitete Platinen sollen genutzt werden (es ist also eine Pinkompatibilit\u00e4t zum ATMEGA328P erforderlich)<\/li>\n<li>Als Programmierger\u00e4t soll ein Arduino Nano eingesetzt werden<\/li>\n<\/ul>\n<h2>Vorgehen<\/h2>\n<p>Im weiteren ist das Vorgehen beschrieben, wie ein ATMEGA168 mit der Arduino IDE programmiert werden kann. Dabei werden auch Fehlschl\u00e4ge und Aspekte, die (noch) nicht funktionieren genannt werden, um bei eigenen Arbeiten Hilfestellung zunleisten.<\/p>\n<h3>Materialien<\/h3>\n<p>Es werden folgende Materialien ben\u00f6tigt:<\/p>\n<ul>\n<li>ATMEGA168PA-PU (1)<\/li>\n<li>Arduino Nano (2)<\/li>\n<li>10 muF Elektrolytkondensator\u00a0 (3)<\/li>\n<li>Ein gro\u00dfes Breadboard<\/li>\n<li>Kabelst\u00fccke oder Jumper-Kabel<\/li>\n<li>Widerstand 1kOhm und eine LED (4)<\/li>\n<\/ul>\n<p>Anmerkungen:<\/p>\n<p>zu (1): Das &#8222;P&#8220; hinter 168 ist wichtig, weil dieser Microcontroler Energiesparmodi unterst\u00fctzt und die gefundenen Bibliotheken diesen Typ voraussetzen.<\/p>\n<p>zu (2): Es fuktioniert genauso gut mit einem Arduino Uno. Der Nano ist praktischer, da er ein Standard Mini-USB-Kabel verwendet und er auf das Breadboard passt.<\/p>\n<p>zu (3): Der Kondensator ist f\u00fcr den automatischen Reset erforderlich<\/p>\n<p>zu (4): Das Beispiel- und Testprogramm dient dazu herauszubekommen, ob der Microcontroller mit der richtigen Taktfrequenz l\u00e4uft. Das gelingt, wenn eine LED im Sekundentakt blinkt.<\/p>\n<h3>Aufbau der Programmier-Schaltung<\/h3>\n<p>F\u00fcr die Programmierung wird der Arduino Nano als Programmierer verwendet. Er versorgt den ATMEGA168 auch mit Spannung. Im Grundsatz sind folgende Verbindungen erforderlich:<\/p>\n<pre class=\"p1\">Arduino Pin\u00a0 \u00a0 \u00a0ATMega Pin\r\n\r\nD10\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0Reset (Pin 1)\r\n\r\nD11             MOSI (Pin 17\r\n\r\nD12             MISO (Pin 18)\r\n\r\nD13             SCK <span class=\"Apple-converted-space\">\u00a0 <\/span>(Pin 19)\r\n\r\nGND             GND\r\n\r\n+               VCC , AVCC<\/pre>\n<p>Der Aufbau ist identisch zur Programmierung des ATMEGA328P-PU. Hierzu gibt es gute Tutorials, z.B.<\/p>\n<p><a href=\"https:\/\/wolles-elektronikkiste.de\/atmega328p-standalone-betreiben\">https:\/\/wolles-elektronikkiste.de\/atmega328p-standalone-betreiben<\/a><\/p>\n<p>Die LED wird \u00fcber Vorwiderstand an Pin 14 \/ D10 \/ PB0 angeschlossen.<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-3384\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png\" alt=\"Bild Anschl\u00fcsse des ATmega168. Sie sind gleich zum ATmega328P-PU\" width=\"1344\" height=\"926\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png 1344w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout-300x207.png 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout-1024x706.png 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout-768x529.png 768w\" sizes=\"(max-width: 1344px) 100vw, 1344px\" \/><\/a><\/p>\n<p>Abb. 1 Pinout des ATmega168P (identisch mit ATmega328P)<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-programmieren-mit-Arduino-Nano-230311.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-3382\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-programmieren-mit-Arduino-Nano-230311.jpg\" alt=\"Bild Schaltung auf dem Breadboard ATmega168 und Ardunio Nano\" width=\"1024\" height=\"475\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-programmieren-mit-Arduino-Nano-230311.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-programmieren-mit-Arduino-Nano-230311-300x139.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-programmieren-mit-Arduino-Nano-230311-768x356.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Abb. 2: Aufbau auf dem Bradboard. Die Verkabelung ist so vorbereitet, dass ATmega8xx und ATtiny-Microcontroller programmiert werden k\u00f6nnen.<\/p>\n<p>Es hat sich als praktisch herausgestellt, die Pinbezeichnungen auf den ATmega zu kleben (UHU). Eine Vorlage gibt es hier:<\/p>\n<h3>Verwendung der Arduino IDE<\/h3>\n<h4>Die richtige Version<\/h4>\n<p>Die Versuche, die neue Version 2.0.4 eizusetzen, sind bislang gescheitert. Hier wird die &#8222;legacy&#8220; Version 1.8.19 eingesetzt. Die Software kann man sich herunterladen unter <a href=\"https:\/\/www.arduino.cc\/en\/software\">https:\/\/www.arduino.cc\/en\/software<\/a>. Die Version 1.8.19 hat ein kreisrundes Icon, die neue Version 2.0.4 hat ein rechteckiges Icon.<\/p>\n<h4>Vorbereitungen \/ Bibliotheken<\/h4>\n<p>Es werden zus\u00e4tzliche Boardverwalter ben\u00f6tigt. Wie so oft sind es engagierte Einzelpersonen, die diese zur Verf\u00fcgung stellen.<\/p>\n<p>Unter &#8222;Arduino | Preferences&#8220; findet sich der Punkt &#8222;zus\u00e4tzliche Boardverwalter Urls&#8220;.\u00a0 Mit Kluck auf das Ordner-Symbol erscheint die M\u00f6glichkeit, eigene Zeilen hinzuzuf\u00fcgen. Hier ist einzutragen<\/p>\n<pre>https:\/\/raw.githubusercontent.com\/sleemanj\/optiboot\/master\/dists\/package_gogo_diy_atmega8_series_index.json<\/pre>\n<p>Unter &#8222;Werkzeuge | Board | Boardverwalter&#8220; kann die Installation von &#8222;DIY ATmega8, ATmega46, ATmega88, ATmega168,ATmega328&#8220; installiert werden.<\/p>\n<p>Nach Abschlluss der Installation stehen unter &#8222;Werkzeuge | Board&#8220; die neuen &#8222;DIY&#8230;&#8220; Boards zur Auswahl zur Verf\u00fcgung.<\/p>\n<h4>Einstellungen<\/h4>\n<p>Mit den folgenden Einstellungen hat das Flashen des Programms funktioniert. Zu beachten ist, das die Arduino IDE nicht direkt auf den ATmega168 schreibt, sondern den Arduino Nano als Programmierger\u00e4t nutzt (Arduino as ISP, nicht Arduino ISP)<\/p>\n<p><a href=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/AtMega168-proramieren-Arduino-Einstellungen-230311.jpg\"><img decoding=\"async\" class=\"alignnone size-full wp-image-3383\" src=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/AtMega168-proramieren-Arduino-Einstellungen-230311.jpg\" alt=\"Screenshot Einstellungen Arduino IDE, um ATmega168 zu programmieren\" width=\"1024\" height=\"769\" srcset=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/AtMega168-proramieren-Arduino-Einstellungen-230311.jpg 1024w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/AtMega168-proramieren-Arduino-Einstellungen-230311-300x225.jpg 300w, https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/AtMega168-proramieren-Arduino-Einstellungen-230311-768x577.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Abb. 3 Einstellungen zum Flashen<\/p>\n<h3>Testprogramm<\/h3>\n<p>Das Testprogramm l\u00e4sst die LED im einer Endlosschleife zeimal kurz Blitzen und dann eine Sekunde lan leuchten.<\/p>\n<pre>\/*\r\n* LedBlitza\r\n* Testprogramm f\u00fcr ATMega328p-PU\r\n* Claus Brell 12.12.2021\r\n* angepasst f\u00fcr ATMEGA168PA 10.03.2023\r\n* \r\n* Loop:\r\n* kurzer Doppelblitz,\r\n* 1 Sekunde Pause,\r\n* LED an\r\n* 1 Sekunde Pause\r\n* \r\n* \r\n*\/\r\n\r\n\/\/ Pin 14, D8 , PB0 als Ausgang\r\n\/\/ mit LED \u00fcber 1k Ohm\r\nint led = 8;\r\nvoid setup(){\r\npinMode(led, OUTPUT);\r\n}\r\nvoid loop(){\r\n\/\/ kurzer Doppel-Blitz gen\u00fcgt\r\ndigitalWrite(led, HIGH);\r\ndelay(32);\r\ndigitalWrite(led,LOW);\r\ndelay(128);\r\ndigitalWrite(led, HIGH);\r\ndelay(32);\r\ndigitalWrite(led,LOW);\r\ndelay(1000);\r\n\/\/ es folgt 1 Sekunde, damit wird getestet, ob der Controller auf der richtigen Frequenz l\u00e4uft\r\ndigitalWrite(led, HIGH);\r\ndelay(1000);\r\ndigitalWrite(led,LOW);\r\ndelay(1000);\r\n}<\/pre>\n<h4>Flashen des Testtprogramms<\/h4>\n<p>Es ist zum Kompilieren und flashen auszuw\u00e4hlen:<\/p>\n<p>&#8222;Sketch | Hochladen mit Programmer&#8220;.<\/p>\n<h3>Bootloader brennen<\/h3>\n<p>Das ist insgesamt nicht gelungen.<\/p>\n<p>Bequem ist es, den Arduino Bootloader zu brennen und dann den ATmega mit einem Seriellen Adapter FTDI 232 direkt zu programmieren. Man hat so quasi einen &#8222;Ein-Chip-Arduino&#8220; auf dem Breadboard.<\/p>\n<p>Mit dem ATmega328P-PU funktioniert das hervorrragend einfach. Beim ATmega168 nicht.<\/p>\n<p>Es hat funktioniert, den Bootloader auf den ATmega168 zu brennen, zumindest war die Arduino IDE der Meinung, dass das erfolgreich war.<\/p>\n<p>Allerdings ist es dann mit zwei unterschiedlichen FTDI 232 Adaptern nicht gelungen, den Blink-Sketch hochzuladen. Alle Versuche, dem Fehler (SYNC&#8230;) auf die Spur zu kommen, waren bislang nicht erfolgreich.<\/p>\n<h2>Noch zu pr\u00fcfen<\/h2>\n<p>Es ist zu pr\u00fcfen, ob die Programmierung mit einer neueren Version der Arduino IDE gelingen wird (ab 2.1&#8230;)<\/p>\n<h2>Glossar<\/h2>\n<h3>Der &#8222;gro\u00dfe Bruder&#8220; ATmega328P-PU<\/h3>\n<p>Der ATmega328P-PU ist ein sogenannter Mikrocontroller, der von der Firma Microchip Technology hergestellt wird. Ein Mikrocontroller ist im Wesentlichen ein kleiner Computer, der speziell f\u00fcr die Steuerung elektronischer Ger\u00e4te und Systeme entwickelt wurde.<\/p>\n<p>Der ATmega328P-PU ist einer der beliebtesten Mikrocontroller auf dem Markt und wird in vielen verschiedenen Anwendungen eingesetzt. Er hat eine 8-Bit-Architektur und eine Taktfrequenz von bis zu 20 MHz. Der Mikrocontroller verf\u00fcgt \u00fcber 32KB Flash-Speicher f\u00fcr Programmcode, 2KB SRAM f\u00fcr Daten und 1KB EEPROM f\u00fcr nichtfl\u00fcchtige Daten.<\/p>\n<p>Der ATmega328P-PU bietet viele integrierte Funktionen, die es Entwicklern erm\u00f6glichen, komplexe Anwendungen zu erstellen. Dazu geh\u00f6ren verschiedene Timer, ein Analog-Digital-Wandler, serielle Schnittstellen wie UART, SPI und I2C sowie verschiedene GPIO-Pins f\u00fcr die Ein- und Ausgabe von Signalen.<\/p>\n<p>Ein weiterer Vorteil des ATmega328P-PU ist, dass er auf der Arduino-Plattform weit verbreitet ist und daher einfach mit der Arduino-Entwicklungsumgebung programmiert werden kann. Dies macht ihn besonders attraktiv f\u00fcr Hobbyprojekte und schnelle Prototypen.<\/p>\n<h3>ATmega168P &#8211; der Unterschied<\/h3>\n<p>Der ATmega168P ist ein Mikrocontroller, der auch von Microchip Technology hergestellt wird und in der gleichen Familie wie der ATmega328P-PU liegt. Im Vergleich zum ATmega328P-PU verf\u00fcgt der ATmega168P \u00fcber eine etwas geringere Speicherkapazit\u00e4t und weniger Peripheriefunktionen.<\/p>\n<p>Konkret hat der ATmega168P einen Flash-Speicher von 16KB, 1KB SRAM und 512 Bytes EEPROM. Im Vergleich dazu hat der ATmega328P-PU 32KB Flash-Speicher, 2KB SRAM und 1KB EEPROM. Der ATmega168P ist Pinkompatibel zum ATmega328P-PU mit insgesamt 28 Pins.<\/p>\n<p>Allerdings bietet der ATmega168P auch einige Vorteile gegen\u00fcber dem ATmega328P-PU. Er hat eine geringere Stromaufnahme und ist dadurch besonders f\u00fcr batteriebetriebene Anwendungen geeignet. Auch ist der ATmega168P in der Regel etwas g\u00fcnstiger als der ATmega328P-PU.<\/p>\n<p>In der Arduino-Welt ist der ATmega168P vor allem als der Mikrocontroller des \u00e4lteren Arduino-Boards &#8222;Diecimila&#8220; bekannt, w\u00e4hrend der ATmega328P-PU auf den &#8211; im vergleich &#8211; neueren &#8222;Uno&#8220;-Boards eingesetzt wird.<\/p>\n<h3>Arduino IDE<\/h3>\n<p>Es gibt verschiedene M\u00f6glichkeiten, die ATmegas zu programmieren. Hier sind drei der gebr\u00e4uchlichsten Methoden:<\/p>\n<ol>\n<li>Arduino-Entwicklungsumgebung: Die Arduino-Plattform unterst\u00fctzt die AVR-Prozessoren und es gibt viele Tutorials und Beispiele, die die Verwendung des ATmega328P-PU mit der Arduino-Entwicklungsumgebung zeigen. Sie k\u00f6nnen ein Arduino-Board mit einem ATmega328P-PU verwenden, um Ihr Programm zu entwickeln und zu testen, bevor Sie den Mikrocontroller in Ihre eigene Schaltung einbauen.<\/li>\n<li>ISP-Programmer: ISP steht f\u00fcr &#8222;In-System-Programming&#8220; und ist eine Methode, Mikrocontroller direkt in der Schaltung zu programmieren. Dazu ben\u00f6tigt man einen ISP-Programmer wie z.B. den USBasp oder den AVRISP mkII und eine Software wie z.B. AVR Studio oder die Arduino-IDE. Der ISP-Programmer wird mit den entsprechenden Pins des ATmega328P-PU verbunden, um das Programm zu \u00fcbertragen. Auch einen Arduino k\u00f6nnen Sie als ISP verwenden.<\/li>\n<li>Bootloader: Der ATmega328P-PU kann auch \u00fcber einen Bootloader programmiert werden, der es erm\u00f6glicht, das Programm \u00fcber eine serielle Verbindung (UART) hochzuladen, anstatt einen ISP-Programmer zu verwenden. Eine M\u00f6glichkeit, den Bootloader auf den ATmega328P-PU zu laden, ist die Verwendung der Arduino-Entwicklungsumgebung und eines Arduino-Boards als ISP.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/cbrell.de\/zaehler?x=3379\" \/><\/p>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook\" data-url=\"https%3A%2F%2Fcbrell.de%2Fblog%2Fatmega168-mit-der-arduino-ide-programmieren%2F\" data-timestamp=\"1678577647\" data-backendurl=\"https:\/\/cbrell.de\/blog\/wp-json\/shariff\/v1\/share_counts?\"><div class=\"ShariffHeadline\">Teile diesen Beitrag.<\/div><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#32bbf5\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fatmega168-mit-der-arduino-ide-programmieren%2F&text=ATMEGA168%20mit%20der%20Arduino%20IDE%20programmieren\" title=\"Bei Twitter teilen\" aria-label=\"Bei Twitter teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#55acee; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#55acee\" d=\"M29.7 6.8q-1.2 1.8-3 3.1 0 0.3 0 0.8 0 2.5-0.7 4.9t-2.2 4.7-3.5 4-4.9 2.8-6.1 1q-5.1 0-9.3-2.7 0.6 0.1 1.5 0.1 4.3 0 7.6-2.6-2-0.1-3.5-1.2t-2.2-3q0.6 0.1 1.1 0.1 0.8 0 1.6-0.2-2.1-0.4-3.5-2.1t-1.4-3.9v-0.1q1.3 0.7 2.8 0.8-1.2-0.8-2-2.2t-0.7-2.9q0-1.7 0.8-3.1 2.3 2.8 5.5 4.5t7 1.9q-0.2-0.7-0.2-1.4 0-2.5 1.8-4.3t4.3-1.8q2.7 0 4.5 1.9 2.1-0.4 3.9-1.5-0.7 2.2-2.7 3.4 1.8-0.2 3.5-0.9z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fcbrell.de%2Fblog%2Fatmega168-mit-der-arduino-ide-programmieren%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fcbrell.de%2Fblog%2Fatmega168-mit-der-arduino-ide-programmieren%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>Den ATMEGA168 mit der Arduino IDE programmieren kann eine Ausweg sein, um Arduino-basierte Projekt umsetzen zu k\u00f6nnen. Mit der Corona Krise wurde es f\u00fcr Projekte, die auf den Microcontroller ATMEGA328P &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[583,850,851,852,709],"class_list":["post-3377","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-arduino","tag-atmega","tag-flashen","tag-hochladen","tag-programmieren"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ATMEGA168 mit der Arduino IDE programmieren<\/title>\n<meta name=\"description\" content=\"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den &quot;Arduino-Prozessor&quot; ATMEGA328P.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ATMEGA168 mit der Arduino IDE programmieren\" \/>\n<meta property=\"og:description\" content=\"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den &quot;Arduino-Prozessor&quot; ATMEGA328P.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/\" \/>\n<meta property=\"og:site_name\" content=\"Bienen, Natur und Internet of Things\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-11T21:06:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-11T22:34:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png\" \/>\n<meta name=\"author\" content=\"Claus Brell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@clausbrell5859\" \/>\n<meta name=\"twitter:site\" content=\"@clausbrell\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Claus Brell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/\"},\"author\":{\"name\":\"Claus Brell\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"headline\":\"ATMEGA168 mit der Arduino IDE programmieren\",\"datePublished\":\"2023-03-11T21:06:06+00:00\",\"dateModified\":\"2023-03-11T22:34:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/\"},\"wordCount\":1384,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/ATmega168-Pinout.png\",\"keywords\":[\"Arduino\",\"ATmega\",\"flashen\",\"hochladen\",\"programmieren\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/\",\"name\":\"ATMEGA168 mit der Arduino IDE programmieren\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/ATmega168-Pinout.png\",\"datePublished\":\"2023-03-11T21:06:06+00:00\",\"dateModified\":\"2023-03-11T22:34:07+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\"},\"description\":\"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den \\\"Arduino-Prozessor\\\" ATMEGA328P.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/ATmega168-Pinout.png\",\"contentUrl\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/ATmega168-Pinout.png\",\"width\":1344,\"height\":926,\"caption\":\"Bild Anschl\u00fcsse des ATmega168. Sie sind gleich zum ATmega328P-PU\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/atmega168-mit-der-arduino-ide-programmieren\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ATMEGA168 mit der Arduino IDE programmieren\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/\",\"name\":\"Bienen, Natur und Internet of Things\",\"description\":\"Alles, was einfach ist. Von Claus Brell\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/#\\\/schema\\\/person\\\/7cf529e46faf1fd7b2b6942fec254c58\",\"name\":\"Claus Brell\",\"description\":\"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}\",\"sameAs\":[\"http:\\\/\\\/claus-brell.de\",\"https:\\\/\\\/x.com\\\/clausbrell5859\",\"https:\\\/\\\/www.youtube.com\\\/@clausbrell5859\"],\"url\":\"https:\\\/\\\/cbrell.de\\\/blog\\\/author\\\/clausb\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ATMEGA168 mit der Arduino IDE programmieren","description":"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den \"Arduino-Prozessor\" ATMEGA328P.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/","og_locale":"de_DE","og_type":"article","og_title":"ATMEGA168 mit der Arduino IDE programmieren","og_description":"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den \"Arduino-Prozessor\" ATMEGA328P.","og_url":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/","og_site_name":"Bienen, Natur und Internet of Things","article_published_time":"2023-03-11T21:06:06+00:00","article_modified_time":"2023-03-11T22:34:07+00:00","og_image":[{"url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png","type":"","width":"","height":""}],"author":"Claus Brell","twitter_card":"summary_large_image","twitter_creator":"@clausbrell5859","twitter_site":"@clausbrell","twitter_misc":{"Verfasst von":"Claus Brell","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#article","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/"},"author":{"name":"Claus Brell","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"headline":"ATMEGA168 mit der Arduino IDE programmieren","datePublished":"2023-03-11T21:06:06+00:00","dateModified":"2023-03-11T22:34:07+00:00","mainEntityOfPage":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/"},"wordCount":1384,"commentCount":0,"image":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png","keywords":["Arduino","ATmega","flashen","hochladen","programmieren"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/","url":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/","name":"ATMEGA168 mit der Arduino IDE programmieren","isPartOf":{"@id":"https:\/\/cbrell.de\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#primaryimage"},"image":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#primaryimage"},"thumbnailUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png","datePublished":"2023-03-11T21:06:06+00:00","dateModified":"2023-03-11T22:34:07+00:00","author":{"@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58"},"description":"Den ATMEGA168 mit der Arduino IDE programmieren ist eine Alternative f\u00fcr den \"Arduino-Prozessor\" ATMEGA328P.","breadcrumb":{"@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#primaryimage","url":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png","contentUrl":"https:\/\/cbrell.de\/blog\/wp-content\/uploads\/2023\/03\/ATmega168-Pinout.png","width":1344,"height":926,"caption":"Bild Anschl\u00fcsse des ATmega168. Sie sind gleich zum ATmega328P-PU"},{"@type":"BreadcrumbList","@id":"https:\/\/cbrell.de\/blog\/atmega168-mit-der-arduino-ide-programmieren\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/cbrell.de\/blog\/"},{"@type":"ListItem","position":2,"name":"ATMEGA168 mit der Arduino IDE programmieren"}]},{"@type":"WebSite","@id":"https:\/\/cbrell.de\/blog\/#website","url":"https:\/\/cbrell.de\/blog\/","name":"Bienen, Natur und Internet of Things","description":"Alles, was einfach ist. Von Claus Brell","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cbrell.de\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/cbrell.de\/blog\/#\/schema\/person\/7cf529e46faf1fd7b2b6942fec254c58","name":"Claus Brell","description":"Seit 2021 forsche ich an und mit Bienen (Digitalisierung der Imkerei) Seit 2012 Professur f\u00fcr Wirtschaftsinformatik an der Hochschue Niederrhein. Seit 1981 treibt mich die Frage um: Was haben Physik, Heavy Metal und Spiele miteinander zu tun? Drei m\u00f6gliche Antworten: {nichts | 42 | gleiche Hirnareale werden aktiviert}","sameAs":["http:\/\/claus-brell.de","https:\/\/x.com\/clausbrell5859","https:\/\/www.youtube.com\/@clausbrell5859"],"url":"https:\/\/cbrell.de\/blog\/author\/clausb\/"}]}},"_links":{"self":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/3377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/comments?post=3377"}],"version-history":[{"count":9,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/3377\/revisions"}],"predecessor-version":[{"id":3389,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/posts\/3377\/revisions\/3389"}],"wp:attachment":[{"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/media?parent=3377"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/categories?post=3377"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cbrell.de\/blog\/wp-json\/wp\/v2\/tags?post=3377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}