owned this note changed 5 months ago
Published Linked with GitHub

Conquérir le monde avec Arduino





Lien direct vers la présentation : hackmd.io/@creanum/arduino



CC-BY 4.0

Logo des bibliothèques


Plan

1. Présentation Arduino

2. Découverte du logiciel

3. Les circuits

4. Exercice

Note: Avez-vous de expérience avec Arduino? Avez-vous de l'expérience en code?


1 - C'est quoi un Arduino?

  • Marque déposée!
  • Carte électronique matériellement libre
  • Logiciel (Arduino IDE)
  • Communauté de pratique

Une carte Arduino est un cerveau qui permet de rendre intelligent des systèmes électroniques et d'animer des dispositifs mécaniques. Source


Le coeur de la carte : le microcontrôleur*

image du microcontrôleur ATmega328

*plus petit en vrai


Ça fait quoi?

  • Mesure et détection

    Capteur de gaz, présence, distance

  • Contrôle

    Drone, robot

  • Automatisation

    Arrosage de plante, alarme


Dessin explicatif sur l'entrée, le traitement et la sortie avec un Arduino

Capteurs / Microcontrôleur / Actionneurs


Exemple de schéma

Un exemple d'un branchement d'un Arduino, d'une DEL et d'une photorésistance

Anatomie d'un microcontrôleur Arduino


Et le Raspberry Pi?

Un exemple d'un branchement d'un Arduino, d'une DEL et d'une photorésistance

Source

Arduino VS Raspberry Pi

Arduino Uno Raspberry Pi
Équipé d'un microcontrôleur Équipé d'un microprocesseur
Pas d'OS Linux (Raspberry Pi OS)
Matériel libre Propriétaire (matériel), OS libre
Pas de sortie vidéo/audio* Deux HDMI 4K et sortie son
Pas de Wifi/Bluetooth* Équipé du Wifi/Bluetooth

*sauf si équipé d'une carte d'interface (Shield)





Alternatives à Arduino Uno

Arduino Nano
NodeMCU (ESP8266)
ESP32
Microbit


Photo : NASA

ESP8266 : 78 fois plus puissant que l'ordinateur de bord du module d'alunissage du programme Apollo.

Source

Notre projet

Faire réagir une lumière DEL en fonction de la luminosité de la pièce.


2 - Arduino IDE

  1. Connecter le microcontrôleur
  2. Lancer Arduino IDE

Télécharger Arduino IDE et le pilote CH340 (selon votre OS)


Sélectionner le bon port

Capture d'écran de l'interface d'Arduino IDE. Sélectionner Select Brand > COM x (x est le numéro du port USB)


Sélectionner le bon modèle

Capture d'écran de l'interface d'Arduino IDE. Sélectionner Boards Arduino Uno et Port COM x


Ouvrir un exemple

File > Examples > 01.Basics > Blink

// configuration initiale
void setup() {
  pinMode(13, OUTPUT); // Initialise la pin digital numéro 13 en Output
}

// Instructions exécutées en boucle
void loop() {
  digitalWrite(13, HIGH);  // Allume la DEL (HIGH est la valeur du voltage)
  delay(1000);             // Attendre une seconde
  digitalWrite(13, LOW);   // Éteindre la DEL en mettant la valeur du voltage LOW
  delay(1000);             // Attendre une seconde
}

Référence du langage : https://www.arduino.cc/reference/fr/

Note: Language inspiré du C++


Vérifier le code

Vérifier et téléverser le code

:warning: Problème? Changer le port ou la prise USB.

Note: image représentant les messages lors de l'exécution du code et son transfert


Variable

int maLumiere = 13;       // J'ai donné un nom au numéro 13

// configuration initiale
void setup() {
  pinMode(maLumiere, OUTPUT); // Initialise la pin digital numéro 13 en Output
}

// Instructions exécutées en boucle
void loop() {
  digitalWrite(maLumiere, HIGH);  // Allume la DEL (HIGH est la valeur du voltage)
  delay(1000);                       // Attendre une seconde
  digitalWrite(maLumiere, LOW);   // Éteindre la DEL en mettant la valeur du voltage LOW
  delay(1000);                       // Attendre une seconde
}

3 - Premier exercice

Faire allumer une DEL

  • DEL de la couleur de votre choix
  • Une résistance de 200 Ω
  • Platine d'essai (Breadboard)
  • Câbles dupont

La longue patte de la DEL est branchée du côté de la résistance. La petite patte du côté de GND.

Schéma du premier circuit avec un Arduino et une lumière DEL



Deuxième exercice

Ajouter une photorésistance en entrée

  • Photorésistance
  • Résistance 10k Ω

Schéma du deuxième circuit avec un Arduino, une lumière DEL et une photorésistance


int maLumiere = 7; // J'ai donné un nom à la pin 7
int photoresistance = A1; // ma photorésistance est branchée dans A1
int valeur = 0; // initialise la variable valeur à 0

// configuration initiale
void setup() {
  Serial.begin(9600); // ouvre le port série
  pinMode(maLumiere, OUTPUT); // Initialise la pin digital numéro 7 en Output
  pinMode(photoresistance, INPUT); // initialise la lecture de la pin A1
}

// Instructions exécutées en boucle
void loop() {
  valeur = analogRead(photoresistance); // lecture de ma valeur et stockage dans la variable valeur. 
  Serial.println("La valeur est de "); // s'affiche dans le moniteur
  Serial.println(valeur);  // ma valeur
  delay(250); // délai de 1/4 de seconde

  digitalWrite(maLumiere, HIGH);  // Allume la DEL (HIGH est la valeur du voltage)
  delay(1000);                       // Attendre une seconde
  digitalWrite(maLumiere, LOW);   // Éteindre la DEL en mettant la valeur du voltage LOW
  delay(1000);                       // Attendre une seconde
}

Valeur normale

Valeur en cachant la photorésistance


Créer une condition

int maLumiere = 7; // J'ai donné un nom à la pin 7
int photoresistance = A1; // ma photorésistance est branchée dans A1
int valeur = 0; // initialise la variable valeur à 0

// configuration initiale
void setup() {
  Serial.begin(9600); // ouvre le port série
  pinMode(maLumiere, OUTPUT); // Initialise la pin digital numéro 7 en Output
  pinMode(photoresistance, INPUT); // initialise la lecture de la pin A1
}

// Instructions exécutées en boucle
void loop() {
  valeur = analogRead(photoresistance); // lecture de ma valeur et stockage dans la variable valeur. 
  Serial.println("La valeur est de "); // s'affiche dans le moniteur
  Serial.println(valeur);  // ma valeur
  delay(250); // délai de 1/4 de seconde

  if (valeur > 500) { 
    digitalWrite(maLumiere, HIGH); // Allume la DEL (HIGH est la valeur du voltage)
  }
  else {
    digitalWrite(maLumiere, LOW); // Éteint la DEL
  }

}


Code final (sans les commentaires)

int maLumiere = 7; 
int photoresistance = A1; 
int valeur = 0; 

void setup() {
  Serial.begin(9600); 
  pinMode(maLumiere, OUTPUT); 
  pinMode(photoresistance, INPUT); 
}

void loop() {
  valeur = analogRead(photoresistance); 
  Serial.println("La valeur est de "); 
  Serial.println(valeur);  
  delay(250); 

  if (valeur<500) { 
    digitalWrite(maLumiere, HIGH); 
  }
  else {
    digitalWrite(maLumiere, LOW);
  }

}

4 - Exercice final

  • Inclure une deuxième DEL
  • Faire une condition : si valeur <500 = allume DEL 1 Sinon, allume DEL 2

CREANUM.NOTION.SITE Documentation et projets




Prochaine formation en création numérique

  • Impression 3D
  • Découpe numérique
  • Montage vidéo
  • Baladodiffusion

S'inscrire!




Questions? Commentaires? creanum@bib.umontreal.ca


Autres ressources


Livres recommandés

Arduino : apprivoisez
l'électronique et le codage
Arduino Workshop Getting started
with Arduino


Sites à consulter


Formulaire de rétroaction anonyme Temps de remplissage ≈ 1 minute

Select a repo