Bonjour
Souvent le terme ARDUINO englobe de nombreux anspects aux frontières parfois mal connues.
L IDE Arduino (interface de programmation) est une interface simplifiant la réalisation du code puis son injection dans des microprocesseurs.
Il utilise le langage C++.
Il a permis de développer la communauté de pratiquants de l'électronique en passant de l'électronique discrète (à composants "standards" à l'électronique programmable.
A LOCODUINO comme ailleurs les domaine d'application sont nombreux.
ARDUINO doit une part de son succès à la réalisation de cartes mues par un CPU microcontrôleur offrant des performances redoutables pour un prix très compétitif.
Parmi les plus connus et souvent utilisés ici on retrouve dans la famille AVR:
les ARDUINO UNO et MICRO équipés de la puce ATMEGA328P
les AVR MEGA à base de CPU ATMEGA2560
les TINY à base de CPU ATTINYx5 comme les ATTINY85, 45, 25.[/li]
On voit ici que des chiffres apparaissent et il vont avoir un rôle pour identifier les générations de processeurs et ou leur ressources.
Sur le ATTINY85 on retrouve 8K de mémoire contre 4K seulement pour le 45 et seulement 2 pour le 25.
Le chiffre 5 étant l'indice de la série de ces processeurs.
Apparus il y a plus de 10 ans ces processeurs ont vu leur descendance s'étendre en apportant leur lot d'innovations et d'apports.
A titre d exemple de nouveaux processeurs sont aussi devenus "compatibles ARDUINO", c'est à dire programmables via l'interface IDE ARDUINO.
Les plus connus sont le LESP8266 et l'ESP32 (dans leur différentes déclinaisons)
Dans la lignée de leur ainés chez ATMEL MICROCHIP les AVR on vu la gamme complétée des AVRx:
On distingue 2 groupes de façon générale: (avec qq exceptions):
les TINY dont le nombre de broches est <=24
les "MEGA" qui ont dont un nombre de broches >24
Dans ces 2 groupes plusieurs générations se sont suivies: série 0, série 1, série 2.
On se reportera aux datasheets de chaque item pour leur caractéristiques propres.
Toutefois ces CPU disposent d'organes communs, souvent méconnus dont nous allons présenter quelques éléments utiles:
TIMER
EVENT
GLU LOGIC
COMPARATOR
Pour assurer la portabilité entre le code et le soft on a recours a des frameworks qui vont faire "en sous marin" des opérations complexes avec une mise en œuvre simplifiée.
Pour les AVRx on dispose de 3 framework selon les CPU:
AVRX MEGA série 0 : les célèbres ATMEGAx08 et X09 dont le ATMEGA4809 qui équipe les ARDUINO NANOEVERY ==>framework MEGACOREX
https://github.com/MCUdude/MegaCoreXAVRX "TINY" pour les "petits CPU" serie 0, 1 et 2: ==>framework MEGATINYCORE
https://github.com/SpenceKonde/megaTinyCoreAVRX "MEGA" serie 0, 1, 2 avec : ==>framework DXCORE
https://github.com/SpenceKonde/DxCoreLtr