human
Comment coder en C pour la plateforme Arduino ?
gpt
La plateforme matérielle de contrôle Arduino est devenue omniprésente dans la communauté des loisirs technologiques et les non-techniciens en viennent aussi à la découvrir car elle est d'une utilisation excessivement simple. Les programmeurs expérimentés pourront se sentir frustrés par la rusticité de l'environnement de développement qui est intégré dans le logiciel Arduino, mais ils pourront toutefois tirer profit de ce microcontrôleur intégrant du code pré-fabriqué. Ce tutoriel va vous expliquer la manière de prendre le contrôle total de votre Arduino en vous montrant comment remanier le code C++ exposé par la plateforme au moyen de l'environnement de développement intégré (EDI) Eclipse, le compilateur AVR-GCC et le logiciel AVRDUDE pour télécharger les programmes de votre création vers votre matériel.

1. Téléchargez à partir d'Internet tous les fichiers et les logiciels nécessaires.

Cela inclut...

Le code source Arduino, disponible sur le site [1]. Vous pourrez télécharger en option les paquets de logiciels correspondant à votre système d'exploitation (Windows/Linux/Mac OSX) qui contiennent les librairies C++ pré-compilées permettant aux divers systèmes Arduino de fonctionner, de même que l'interface de développement simplifié construit avec Java et destiné aux non-programmeurs.
AVR-GCC, qui est le compilateur C/C++ de la série des micro contrôleurs Atmel AVR qui équipent les cartes Arduino 8 bits. Les utilisateurs de Windows devront télécharger WinAVR, disponible sur le site [2].
Les environnements d'exécution Java 32 et 64 bits (selon l'architecture de votre PC) sont nécessaires et sont disponibles sur le site Oracle.
L'environnement de développement intégré C/C++ Eclipse, disponible sur le site [3], C'est sous cet environnement que vous rédigerez votre code et l'enverrez vers votre Arduino. Chargez-le pour la même architecture que celle de votre environnement d'exécution Java (32 ou 64 bits).

2. Installez l'EDI Eclipse.

Dans un premier temps, installez WinAVR ou AVR-GCC puis décompressez l'environnement Eclipse dans son propre répertoire que vous conserverez en l'état sans le modifier.

Lancez Eclipse en choisissant l'espace de travail par défaut.
Cliquez Aide → Installer un nouveau programme.
Entrez http://avr-eclipse.sourceforge.net/updatesite dans le champ Travailler avec, puis cliquez sur.
Choisissez le greffon AVR Eclipse, puis sélectionnez  et ensuite.
Vous devrez relancer Eclipse lorsque l'installation sera terminée.

3. Créez ensuite un projet C++ en utilisant les paramètres suivants.

Le type de projet doit être « Compilation croisée AVR »
Lorsque vous configurez le type d'exécutable (build), assurez-vous que l'option Version de déboguage (Debug version) est DÉSÉLECTIONNÉE (et vérifiez que l'option Version finale (Release version) est en revanche bien SÉLECTIONNÉE).
Lorsque les détails de configuration matérielle vous seront proposés, vérifiez que la fréquence que vous choisissez est la bonne (normalement 16 MHz) et que le type de micro contrôleur correspond à celui de votre carte Arduino (ATmega328P pour l'Arduino Uno, Atmega2560 pour l'Arduino Mega etc.) [4]

4. Décompressez la dernière version du logiciel Arduino.

Copiez ensuite le répertoire complet « \hardware\arduino\cores\arduino » dans votre dossier de projets. Maintenant que l'environnement Eclipse est installé et que le greffon est configuré, c'est le seul dossier dont vous aurez besoin pour commencer à travailler sur de nouveaux projets Arduino à partir de zéro !

5. Créez un fichier d'entête main.h.

Vous y déclarerez void setup(), int main() et void loop(). Incluez aussi "WProgram.h" (avec les guillemets). Cette inclusion créera un lien vers tout le code Arduino. NOTE : À partir de la version 1.0 du logiciel Arduino, incluez "Arduino.h" au lieu de "WProgram.h". Et à partir de la version 1.0.1 de ce logiciel, Incluez également le fichier de définitions « pins_arduino.h » approprié, que vous pourrez trouver dans le répertoire « \hardware\arduino\variants ». La carte Arduino Uno utilise la variante « standard ».  Selon le fichier revisions.txt qui est installé avec l'EDI Arduino, ces changements ont été apportés le 30/11/2011, à partir de la version 1.0 du logiciel.

6. Éliminez les causes d'erreurs de compilation du logiciel Arduino.

À partir de sa version 0018, les modifications qui suivent doivent être effectuées.

Au début du fichier source « main.cpp » : effacez la ligne « #include <Wprogram.h> » et remplacez la par « #include <main.h> ».
Dans le fichier source « Tone.cpp », dans les deux dernières lignes d'inclusion de fichiers (qui commencent par #include) , remplacez les chevrons à gauche (<) et à droite (>) par des guillemets. Ainsi <wiring.h> et <pins_arduino.h> deviendront "wiring.h" et "pins_arduino.h".
Dans le fichier Print.h, la déclaration de fonction void function(int inputs) =0doit être remplacée par void function(int inputs) ou, en d'autres termes, supprimez-le =0 afin que cette déclaration cesse d'être interprétée comme une fonction virtuelle pure.