Différences entre versions de « Ressources:Arduino »

De wikilab
 
(21 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==
  
https://www.flossmanualsfr.net/arduino/
+
https://fr.flossmanuals.net/arduino/historique-du-projet-arduino/
  
 
https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino
 
https://openclassrooms.com/courses/programmez-vos-premiers-montages-avec-arduino
Ligne 29 : Ligne 39 :
 
http://wiki.t-o-f.info/index.php?n=Arduino.Alimentation
 
http://wiki.t-o-f.info/index.php?n=Arduino.Alimentation
  
 +
== Exemple de conduite d'atelier et liens associés==
 +
 +
atelier 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) [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
 +
 +
[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()
  
 +
5) Le blink - [https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/743_gestion-des-entrees-sorties/3420_notre-premier-programme/[croquis/exemples]]
  
 +
[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. 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()]].
  
 +
[http://www.positron-libre.com/robotique/robots/boe-shield-bot/notice/images/copie-ecran-programme-bonjour.png[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
  
 +
[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[Documentation avec condensateur (debounce).]]
  
 +
9) Capteur analogique à résistance variable et/ou potentiomètre.
 +
 +
[https://www.arduino.cc/en/tutorial/potentiometer[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
 +
 +
[http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.Reference[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)
 +
 +
[[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 49 : 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

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 :

$ 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

https://tutoarduino.com/

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]

[Schéma de montage]

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:Montages.zip

Fichier:Sketchs.zip


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);
}