Ressources:Arduino
Introduction
Arduino est le logiciel permettant de contrôler la carte électronique du même nom.
Installer le logiciel Arduino pour communiquer avec la carte contrôleur
Installation sur GNU/Linux
Sur les systèmes d'exploitation GNU/Linux, il est nécessaire d'avoir l'autorisation d'accéder aux ports série en vous ajoutant aux groupes "tty" et "dialout". Notez que vous devez vous déconnecter et vous reconnecter pour que les changements soient effectifs. Dans un terminal, entrez les commandes suivantes :
$ sudo usermod -a -G tty Nom_Utilisateur
$ sudo usermod -a -G dialout Nom_Utilisateur
Tutoriels en ligne
https://fr.flossmanuals.net/arduino/historique-du-projet-arduino/
https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino
https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/
http://eskimon.fr/ebook-tutoriel-arduino
http://www.craslab.org/interaction/files/LivretArduinoCRAS.pdf
http://numuscus.pascsaq.org/?p=447
http://www.ladyada.net/learn/arduino/ en anglais
http://wiki.t-o-f.info/index.php?n=Arduino.MoteurCC#toc2
http://wiki.t-o-f.info/index.php?n=Arduino.Opto-isolateur
http://wiki.t-o-f.info/index.php?n=Arduino.Alimentation
Exemple de conduite d'atelier et liens associés
atelier arduino
1) [Video de Baptiste Gaultier : présentation de la plateforme arduino]
2) [Installation du logiciel]/vérification de la possibilité de brancher les cartes. Notion de Compilation.
3) Présentation de [la carte arduino] breadboard et des composants
[Les cartes Arduino de différents types.]
4) Ouverture du logiciel, [menus de base] et [décomposition de la structure de code] variables/setup()/loop()
5) Le blink - [croquis/exemples]
6) Modification du code pour changer le comportement du blink. Ajout d'une autre LED et clignotements alternés (exercice).
7) Le moniteur serie. [Utilisation de la fonction Serial.println()].
[Vue de l'interface pour lancer le moniteur serie.]
8) Push button et contrôle de led / inversion du comportement du dispositif physique dans le code arduino
[Schema de montage basique et code d'exemple avec bouton pression.]
[Montage avec bouton pression[Documentation avec condensateur (debounce).]
9) Capteur analogique à résistance variable et/ou potentiomètre.
[Schéma de montage et code source.]
Visualisation dans le moniteur serie et utilisation de la syntaxe de commentaire pour le debug.
10) Conclusion / notions de carte additionnelle et de librairies
[Reference arduino en français de Xavier Hinault.]
Initiation Arduino
Le cours MHK :
En version pdf :
http://wikilab.myhumankit.org/images/5/52/Support_formation_Arduino.pdf
En version libre office (support modifiable)
Fichier:Support formation Arduino.odt
Le support de travaux pratiques :
Fichier:Support formation Arduino - TP.odt
Télécharger les dossiers suivants :
http://wikilab.myhumankit.org/images/a/af/Cours_arduinov4.pdf
Fichier source du cours : Fichier:Cours arduinov4.odt
Interrupteur pull_down
/*
le bouton poussoir est connecté au pin 2 pour un mode INPUT_PULLUP
la Led est connectée au pins 9 avec une résistance de 220Ω
*/
//déclaration des variables
//#define BROCHE_BOUTON 2
//#define BROCHE_LED 9
int BROCHE_BOUTON =2;
int BROCHE_LED=9;
boolean etatInterrupteur=0;
boolean etatPinBouton;
void setup()
{
//initialisation des variables
Serial.begin(9600);
// etatInterrupteur = 0;
//définition des modes
pinMode(BROCHE_BOUTON, INPUT);
pinMode(BROCHE_LED, OUTPUT);
}
void loop()
{
Serial.print(etatInterrupteur);
if (etatInterrupteur == 1) //on teste si etatInterrupteur est à 1
{
digitalWrite(BROCHE_LED, HIGH);//on allume la LED
}
else //sinon
{
digitalWrite(BROCHE_LED, LOW); //on éteint la LED
}
//lecture de l'état du bouton et stockage dans etatBouton
etatPinBouton = digitalRead(BROCHE_BOUTON);
Serial.println(etatPinBouton);
//test des conditions
if (etatPinBouton == 1) //si bouton appuyé (donc le pin indique 0 car il est en mode INPUT_PULLUP)
{
if (etatInterrupteur == 1) //si etatInterrupteur à 1
{
etatInterrupteur = 0; //on le passe à 0
}
else //sinon
{
etatInterrupteur = 1; //on le passe à 1
}
}
delay(200);
}