{"id":792,"date":"2014-01-18T09:52:14","date_gmt":"2014-01-18T08:52:14","guid":{"rendered":"http:\/\/telefab.fr\/?p=792"},"modified":"2026-04-30T16:39:11","modified_gmt":"2026-04-30T14:39:11","slug":"programmer-un-atmega","status":"publish","type":"tutoriel","link":"https:\/\/hub.imt-atlantique.fr\/fablab\/tutoriel\/programmer-un-atmega\/","title":{"rendered":"Programmer un ATMega"},"content":{"rendered":"<p>Au T\u00e9l\u00e9fab, nous utilisons beaucoup d&rsquo;Arduino pour prototyper simplement les projets qui sont d\u00e9velopp\u00e9s. C&rsquo;est un outil int\u00e9ressant, mais qui devrait rester d\u00e9di\u00e9 au prototypage, pour plusieurs raisons. Dans mon cas, je dispose de deux Arduino, et quand je commence un projet, je suis oblig\u00e9 de d\u00e9monter le projet pr\u00e9c\u00e9dent.<\/p>\n<p>Arduino est un projet d&rsquo;\u00e9lectronique Open Source, et nous avons donc acc\u00e8s au sch\u00e9ma de la carte. Il est donc possible de cr\u00e9er une nouvelle carte, similaire \u00e0 une Arduino, mais d\u00e9di\u00e9e \u00e0 l&rsquo;application qui nous int\u00e9resse. Ce n&rsquo;est pas forc\u00e9ment moins cher qu&rsquo;une Arduino, \u00e0 cause du co\u00fbt de gravure d&rsquo;un prototype de circuit imprim\u00e9. Mais \u00e7a permet de finaliser un projet.<\/p>\n<p>Le composant principal des cartes Arduino Uno est l&rsquo;ATMega328P. C&rsquo;est un microprocesseur RISC \u00e0 faible consommation \u00e9nerg\u00e9tique, bas\u00e9 sur l&rsquo;architecture AVR d\u00e9velopp\u00e9e par Atmel. Il rentre dans la m\u00eame cat\u00e9gorie que les c\u00e9l\u00e9bres PIC de MicroChip. Pour plus d&rsquo;information sur l&rsquo;architecture ATMega, vous pouvez consulter la page d&rsquo;Atmel (http:\/\/www.atmel.com\/products\/microcontrollers\/avr\/default.aspx). D&rsquo;une mani\u00e8re simplifi\u00e9e, l&rsquo;architecutre AVR inclut une EEPROM (dont la taille d\u00e9pend du mod\u00e8le de processeur), qui permet de stocker le code qui sera ex\u00e9cut\u00e9. Il contient \u00e9galement ce qu&rsquo;on appelle les \u00ab\u00a0fuses\u00a0\u00bb en anglais (les fusibles), qui permettent de configurer le processeur.<\/p>\n<p>Pour programmer un ATMega, on utilise un programmateur ISP (In-System Programming), qui utilise un protocole de type SPI (non, il n&rsquo;y a pas de coquilles, l&rsquo;ordre des lettres est important !). Ce type de programmateur peut se r\u00e9v\u00e9ler relativement cher, mais comme on dispose d&rsquo;une carte Arduino qui est \u00e9quip\u00e9e pour \u00eatre programm\u00e9e en ISP via l&rsquo;USB, c&rsquo;est une d\u00e9pense inutile !<\/p>\n<p>Le programme qui implante le programmateur est disponible dans les exemples de code fournis avec le logiciel Arduino, il s&rsquo;appelle ArduinoISP.<\/p>\n","protected":false},"featured_media":0,"parent":0,"template":"","meta":{"_acf_changed":false},"class_list":["post-792","tutoriel","type-tutoriel","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tutoriel\/792","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/tutoriel"}],"about":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/types\/tutoriel"}],"wp:attachment":[{"href":"https:\/\/hub.imt-atlantique.fr\/fablab\/wp-json\/wp\/v2\/media?parent=792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}