AVECARDUINO
Le Arduino est un microcontrôleur open-source qui permet aux développeurs de créer des projets innovants et intéressants. Il est très populaire auprès des développeurs et des makers car il est facile à utiliser et à apprendre. Dans cet article, nous allons explorer comment coder avec Arduino et les différentes possibilités qu’il offre. Nous verrons comment configurer le matériel et le logiciel, comment écrire des programmes et comment déboguer et tester le code. Nous verrons également comment Arduino peut être utilisé pour créer des projets intéressants et innovants.

1. La programmation en général
- Une introduction générale à la programmation sur le site de wikiversité : http://fr.wikiversity.org/wiki/Introduction_g%C3%A9n%C3%A9rale_%C3%A0_la_programmation
2. HTML
- Quel éditeur choisir ?
- Petit mémo HTML
- Page HTML vide
- Tester une liste déroulante
- Tester une zone de texte
- Un bouton avec une zone de texte
3. Javascript
Gestion du DOM
- Exemple minimum de code Javascript dans une page HTML
- Ajouter des éléments à la page HTML
- Ajouter des éléments à la page HTML à l’aide d’une fonction print()
- Récupérer la valeur courante d’une liste déroulante – v1 event depuis HTML
- Récupérer la valeur courante d’une liste déroulante – v2 event depuis JS
Graphiques sans librairie Javascript externe
- Exemple d’affichage d’un canva par code Javascript intégré dans une page HTML
- Exemple d’affichage d’un vumètre graphique simple dans un canva
- Exemple d’animation d’un pixel dans un canva
- Tracé progressif d’une courbe dans un canva
Avec une librairie Javascript externe
Avec RGraph
- Exemple d’affichage d’un widget graphique fourni par une librairie Javascript (RGraph)
- Exemple d’affichage de 6 widgets graphiques fournis par une librairie Javascript (RGraph)
- Graphique Dygraphs simple
- Fixer la taille du graphique
- Graphique Dygraphs avec timeline
- Affichage des données de 24H avec timeline à l’aide de la librairie Javascript Dygraphs
- Affichage sur 24H multi-courbes avec timeline
- Affichage sur 24H multi-courbes avec timeline et choix des courbes à afficher
- Définir la plage de valeur des axes
- Fixer la couleur des courbes
- Paramétrer la légende
- Plusieurs graphiques sur la même page
- Récupérer une valeur voulue du graphique courant
- Afficher date à partir unixtime
- Affichage de plusieurs courbe : sélectionner la/les courbes à afficher.
Note : pour activer l’interactivité souris : interactionModel: Dygraph.defaultInteractionModel
4. jQuery
mettre jQuery et jQueryUI dans la même page !
Widgets HTML
- Page HTML
- Button
- Boite de message déclenchée sur un clic bouton
- Un clic bouton modifie zone texte (textarea)
- Utiliser un bouton en mode ON/OFF
- Modifier l’aspect d’un pushButton (couleur, texte) lors d’un clic souris
- Radio Button
- Utiliser un bouton radio (radioButton)
- Utiliser un groupe de boutons radio (radioButton) à choix unique
- Utiliser plusieurs groupes de boutons radio (radioButton) à choix unique dans chaque groupe
- LineEdit (champ texte)
- Utiliser un champ texte : modifier un champ texte par un clic souris sur un pushButton
- Régler/initialiser la valeur d’un champ texte à l’aide de 3 boutons simples
- TextEdit (Zone de texte)
- Un clic bouton modifie zone texte (textarea)
- Modifier / effacer une zone de texte à l’aide de deux boutons simples
- Liste déroulante
- Récupérer la valeur courante d’une liste déroulante – v1 event depuis HTML?
- Récupérer la valeur courante d’une liste déroulante – v2 event depuis JS?
- Apprendre à paramétrer et à utiliser une liste déroulante (ComboBox)
- Copier le choix courant d’une liste déroulante dans un champ texte par appui sur un bouton
- Mini-applications complètes
- Clavier numérique graphique 3×4
- Créer une simple calculatrice graphique.
Graphiques sans librairie Javascript externe
- Exemple d’affichage d’un canva par code jQuery intégré dans une page HTML?
- Exemple d’affichage d’un vumètre graphique simple dans un canva?
- Exemple d’animation d’un pixel dans un canva?
- Tracé progressif d’une courbe dans un canva?
Avec une librairie Javascript externe
Avec RGraph
- Exemple d’affichage d’un widget graphique fourni par une librairie Javascript (RGraph)?
- Exemple d’affichage de 6 widgets graphiques fournis par une librairie Javascript (RGraph)?
- Graphique Dygraphs simple?
- Fixer la taille du graphique?
- Graphique Dygraphs avec timeline?
- Affichage des données de 24H avec timeline à l’aide de la librairie Javascript Dygraphs?
- Affichage sur 24H multi-courbes avec timeline?
- Affichage sur 24H multi-courbes avec timeline et choix des courbes à afficher?
- Définir la plage de valeur des axes?
- Fixer la couleur des courbes
- Paramétrer la légende
- Plusieurs graphiques sur la même page
- Récupérer une valeur voulue du graphique courant
- Afficher date à partir unixtime?
- Affichage de plusieurs courbe : sélectionner la/les courbes à afficher.
Note : pour activer l’interactivité souris : interactionModel: Dygraph.defaultInteractionModel
5. jQUERY UI
Widgets UI
- Slider (curseur réglable)
- Utiliser un Slider (widget de réglage linéaire) et récupérer la valeur courante
- Afficher automatiquement la valeur courante d’un Slider dans un champ texte
- Afficher automatiquement la valeur courante d’un Slider dans un widget LCD
- Widgets de réglage
- Apprendre à utiliser un bouton graphique rotatif de réglage (widget dial)
- Afficher automatiquement la valeur courante d’un widget Dial (bouton réglable) dans un widget LCD (par une connexion Signal – Slot)
- Régler une valeur numérique à l’aide d’un widget spinBox et la copier dans un champ texte (Line Edit) par un clic souris sur un bouton simple (pushButton)
Affichages LCD
-
- Utiliser un widget LCD
- Régler/initialiser la valeur d’un widget LCD à l’aide de 3 boutons simples
- Afficher automatiquement la valeur courante d’un Slider dans un widget LCD (par une connexion Signal – Slot)
- Utiliser un Timer pour incrémenter un widget LCD à intervalle régulier
Widgets d’affichage
-
- Afficher automatiquement la valeur courante d’un widget Dial (bouton réglable) dans un widget LCD (par une connexion Signal – Slot)
6. Java
7. Langage Arduino
7.1 Le Langage Arduino :
7.2 L’environnement de développement
- Le logiciel Arduino
7.3 Apprendre le langage Arduino
- Apprendre à programmer en langage Arduino pas à pas
- Quelques règles à respecter pour les programmes Arduino
- Utiliser les variables
- Accès direct aux registres Hardware
- Utiliser les boucles
- Ecrire les fonctions avec Arduino
7.4 Programmes types en langage Arduino
7.5 Exemples de programmes :
- A voir sur le site Arduino.cc :
-
-
- If Statement (Conditional): how to use an if statement to change output conditions based on changing input conditions.
- For Loop: controlling multiple LEDs with a for loop and.
- Array: A variation on the For Loop example that demonstrates how to use an array.
- While Loop: how to use a while loop to calibrate a sensor while a button is being read.
- Switch Case: how to choose between a discrete number of values. Equivalent to multiple If statements. This example shows how to divide a sensor’s range into a set of four bands and to take four different actions depending on which band the result is in.
- Switch Case 2 A second switch-case example, showing how to take different actions based in characters received in the serial port.
-
-
7.6 Au coeur d’Arduino
- Comprendre comment Arduino est construit..
- Comprendre le contenu des instructions Arduino
- Les librairies Arduino
7.7 Contribuer :
- Créer une librairie
- Modifier librairie existante..
8. Langage C
(edit)

8.1 Le langage C :
- Présentation sur le site de wikipédia : http://fr.wikipedia.org/wiki/C_%28langage%29
- Référence Langage C :
- The C library Réference (en anglais) : http://www.acm.uiuc.edu/webmonkeys/book/c_guide/
8.2 Environnements de développement en langage C :
Il existe plusieurs IDE disponibles pour le langage C. Les principaux sont :
- Code::Blocks (IDE C/C++ opensource) : http://www.codeblocks.org/ (nécessite l’installation de MinGW)
8.3 Compilateur C :
- Une page d’information sur le compilateur GNU GCC : http://fr.wikipedia.org/wiki/GNU_Compiler_Collection
- GCC sous Windows avec MinGW :
- Une page de présentation de MinGW : http://fr.wikipedia.org/wiki/MinGW
- la page officiel de MinGW : http://www.mingw.org/
8.4 Apprendre le langage C
- Le site du Zéro : un excellent cours de C (je conseille ++ ) : http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html
- un cours sur wikiversité : http://fr.wikiversity.org/wiki/Langage_C
- un wikibook sur le C : http://fr.wikibooks.org/wiki/Programmation_C
9. Langage C++
9.1 Le langage C++
- une présentation du langage C++ : http://fr.wikipedia.org/wiki/C%2B%2B
9.2 Environnements de développement en langage C++ :
Il existe plusieurs IDE disponibles pour le langage C++. Les principaux sont :
- Code::Blocks (IDE C/C++ opensource) : http://www.codeblocks.org/
- Qt Creator : une platforme de développement d’applications graphiques en C++, opensource et libre : http://qt.nokia.com/
9.3 Apprendre le langage C++
- le cours de C++ sur le code du Zéro (+++) avec initiation à Qt : http://www.siteduzero.com/tutoriel-3-11406-apprenez-a-programmer-en-c.html
- un wikilivre consacré au langage C++ pour les débutants : http://fr.wikibooks.org/wiki/Programmation_C%2B%2B_%28d%C3%A9butant%29
- un autre wikilivre consacré au langage C++ : http://fr.wikibooks.org/wiki/Programmation_C_plus_plus
10. Langage C pour SDCC (orienté microcontrôleur, notamment les PIC):
-
-
- Concepts de base
- => Structure minimale d’un programme C pour PIC18F4520
- => Structure développée d’un programme en C pour PIC 18F4520
- Les types de variables numériques entières
- Les variables numériques en virgule flottante
- Les variables de caractères
- Les Opérateurs arithémtiques, logiques, etc..
- Les instructions déclaratives
- #include
- #define
- déclaration de variables
- déclaration de fonctions
- Les mots clés
- Condition if .. then.. else..
- Condition while
- do.. while..
- Concepts de base
-
11. Stratégies de programmation en C
-
-
-
- Les sauts
- Les conditions
- Les Fonctions
- Fonction qui ne reçoit aucun argument et ne renvoie aucune valeur
- Fonction qui ne reçoit aucun argument et renvoie une valeur
- Fonction qui reçoit un argument et ne renvoie aucun argument
- Fonction qui reçoit un argument et renvoie une valeur
- Les structures de données
- Opérations sur bits et registres
- Test de l’état d’un bit d’un registre
- Rotation, isolement bit poids fort, faible
- Modifier certains bits d’un registre
- Les opérations sur bits (rotations, mise à 0, à 1)
- Exemples de débogage
-
-
12. Stratégies de programmation orientées microcontrôleur
- Générer une impulsion à intervalles réguliers
- Moyenner la mesure d’un capteur
13. Programmation Shell (Linux)
Documentation sur la programmation shell
- Sur le site du zéro : http://www.siteduzero.com/tutoriel-3-12827-reprenez-le-controle-avec-linux.html#part_88347
Mes scripts shell
Articles Liés
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertLCDAlphanumLCDGraphiqueClavier
L'utilisation d'Arduino pour créer des projets électroniques est devenue très populaire ces dernières années. Cependant,…
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertMoteursPAP
L'utilisation des moteurs PAP (Pas à Pas) est un moyen très pratique pour contrôler des…
- http://web.archive.org/web/20210804223007/https://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSI3DModele
ur3D Le modélisme 3D est une forme de création artistique qui permet aux artistes de…