Différences entre versions de « Ressources:Arduino »
(18 versions intermédiaires par 4 utilisateurs non affichées) | |||
Ligne 4 : | Ligne 4 : | ||
== Installer le logiciel Arduino pour communiquer avec la carte contrôleur== | == Installer le logiciel Arduino pour communiquer avec la carte contrôleur== | ||
https://www.arduino.cc/ | https://www.arduino.cc/ | ||
+ | |||
+ | === 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 : | ||
+ | |||
+ | <code> | ||
+ | $ sudo usermod -a -G tty Nom_Utilisateur | ||
+ | |||
+ | $ sudo usermod -a -G dialout Nom_Utilisateur | ||
+ | </code> | ||
== Tutoriels en ligne== | == Tutoriels en ligne== | ||
Ligne 35 : | Ligne 45 : | ||
1) [https://zestedesavoir.com/tutoriels/757/la-fabrication-numerique/1079_arduino/4452_semaine-1-introduction/[Video de Baptiste Gaultier : présentation de la plateforme arduino]] | 1) [https://zestedesavoir.com/tutoriels/757/la-fabrication-numerique/1079_arduino/4452_semaine-1-introduction/[Video de Baptiste Gaultier : présentation de la plateforme arduino]] | ||
− | 2) Installation du logiciel/vérification de la possibilité de brancher les cartes | + | 2) [https://www.arduino.cc/en/Guide/Windows[Installation du logiciel]]/vérification de la possibilité de brancher les cartes. Notion de Compilation. |
3) Présentation de [http://static.wixstatic.com/media/f840a8_e5ea77dfb0614ffcb14f46ed6e7208a8~mv2.png_srz_705_445_85_22_0.50_1.20_0.00_png_srz[la carte arduino]] breadboard et des composants | 3) Présentation de [http://static.wixstatic.com/media/f840a8_e5ea77dfb0614ffcb14f46ed6e7208a8~mv2.png_srz_705_445_85_22_0.50_1.20_0.00_png_srz[la carte arduino]] breadboard et des composants | ||
+ | |||
+ | [https://www.arduino.cc/en/Main/Products[Les cartes Arduino de différents types.]] | ||
4) Ouverture du logiciel, [https://fr.flossmanuals.net/arduino/prise-en-main-rapide/[menus de base]] et [https://fr.flossmanuals.net/arduino/programmer-arduino/[décomposition de la structure de code]] variables/setup()/loop() | 4) Ouverture du logiciel, [https://fr.flossmanuals.net/arduino/prise-en-main-rapide/[menus de base]] et [https://fr.flossmanuals.net/arduino/programmer-arduino/[décomposition de la structure de code]] variables/setup()/loop() | ||
Ligne 45 : | Ligne 57 : | ||
[http://rain.aa.washington.edu/@api/deki/files/44/=BlinkLED.png[Schéma de montage]] | [http://rain.aa.washington.edu/@api/deki/files/44/=BlinkLED.png[Schéma de montage]] | ||
− | 6) Modification du code pour changer le comportement du blink | + | 6) Modification du code pour changer le comportement du blink. Ajout d'une autre LED et clignotements alternés (exercice). |
7) Le moniteur serie. [http://www.positron-libre.com/robotique/robots/boe-shield-bot/notice/premier-programme.php[Utilisation de la fonction Serial.println()]]. | 7) Le moniteur serie. [http://www.positron-libre.com/robotique/robots/boe-shield-bot/notice/premier-programme.php[Utilisation de la fonction Serial.println()]]. | ||
Ligne 53 : | Ligne 65 : | ||
8) Push button et contrôle de led / inversion du comportement du dispositif physique dans le code arduino | 8) Push button et contrôle de led / inversion du comportement du dispositif physique dans le code arduino | ||
− | + | [https://www.arduino.cc/en/Tutorial/Button[Schema de montage basique et code d'exemple avec bouton pression.]] | |
− | [https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/743_gestion-des-entrees-sorties/3423_un-simple-bouton/#1-10762_quest-ce-quun-bouton[Montage avec bouton pression | + | [https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/743_gestion-des-entrees-sorties/3423_un-simple-bouton/#1-10762_quest-ce-quun-bouton[Montage avec bouton pression[Documentation avec condensateur (debounce).]] |
9) Capteur analogique à résistance variable et/ou potentiomètre. | 9) Capteur analogique à résistance variable et/ou potentiomètre. | ||
Ligne 68 : | Ligne 80 : | ||
+ | |||
+ | ==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) | ||
+ | |||
+ | [[File:Support formation Arduino.odt]] | ||
+ | Le support de travaux pratiques : | ||
+ | [[File:Support formation Arduino - TP.odt]] | ||
+ | Télécharger les dossiers suivants : | ||
+ | http://wikilab.myhumankit.org/images/a/af/Cours_arduinov4.pdf | ||
+ | [[File:Montages.zip|Montages]] | ||
+ | [[File:Sketchs.zip|Sketchs]] | ||
+ | |||
+ | Fichier source du cours : [[File:Cours arduinov4.odt|cours]] | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===Interrupteur pull_up=== | ||
+ | |||
+ | <code> | ||
+ | <pre> | ||
+ | /* | ||
+ | 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_PULLUP); | ||
+ | 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); | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | </code> | ||
Ligne 90 : | Ligne 197 : | ||
[[Category:Microcontrôleurs]] | [[Category:Microcontrôleurs]] | ||
+ | |||
+ | [[Category:Tutoriels]] |
Version actuelle datée du 30 juin 2022 à 09:13
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_up
/*
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_PULLUP);
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);
}