Outils pour utilisateurs

Outils du site


wiki:projets:fun_mooc_-_programmer_un_objet_avec_arduino

Ceci est une ancienne révision du document !


Fun MOOC - Programmer un objet avec Arduino

Porteurs du projet

Jamel BENMAMAR (contact : jamel.benmamar@upmc.fr)

Christophe BONNET (contact : christophe.bonnet@upmc.fr)

Sylvain THERY (contact : sylvain.thery@upmc.fr)

Introduction

Descriptif du MOOC

Les thématiques : Informatique, Innovation, Numérique, technologie, Programmation

À propos du cours

Ce MOOC est le troisième volet du parcours La Fabrication Numérique.

Apprenez à programmer un objet en utilisant l’électronique et le développement Arduino issu des FabLabs !

Grâce à ce MOOC, vous pourrez rapidement programmer et construire un objet interactif après avoir acquis les connaissances de base en électronique et en développement informatique.

Vous serez capable de programmer un Arduino, un petit ordinateur utilisé dans les FabLabs pour rendre les objets intelligents.

Vous collaborerez entre apprenants, échangerez avec les experts de ce MOOC et apprendrez à devenir un vrai “maker” !

Ce cours s’adresse aux curieux et aux passionnés du numérique de tous âges souhaitant découvrir les technologies que l'on trouve dans les FabLabs. Rejoignez-nous !

À la fin du MOOC, je suis capable de…

  • Programmer un microcontrôleur Arduino
  • Interfacer Arduino avec des capteurs analogiques et numériques (bouton poussoir, capteurs de lumière, de bruit, de présence, de pression…)
  • Utiliser une librairie logiciel (pour contrôler des moteurs, des prises lumières, du son…)
  • Décoder les concepts clés du prototypage issus des Fablabs (apprentissage par l'exemple, prototypage rapide…)

Prérequis

Des notions en développement informatique sont un plus.

Il est recommandé d'avoir suivi le MOOC s'Initier à la fabrication numérique

Kit de démarrage

L'acquisition d'un kit de démarrage pour pouvoir réaliser les exercices pratiques est optionnelle.

Il vous sera possible de suivre le cours sur un simulateur proposé dans le MOOC.

Liste du matériel

Kit de démarrage : l'essentiel

  • Arduino UNO R3 avec son câble USB ×1
  • Platine de prototypage × 1 (aux moins 500 'trous')
  • Kit de câbles de prototypages × 1
  • LED de différentes couleurs (au moins 2 x vert, 2 x rouge, 2 x orange ou jaune)
  • Résistances de différentes valeurs :
    • 10KΩ × 5
    • 4KΩ × 5
    • 1KΩ × 5
    • 220Ω × 5
    • 150Ω × 5
  • Condensateurs céramique de différentes valeurs :
    • 100nF × 2
    • 10nF × 2
  • Condensateurs chimiques de différentes valeurs ( tension de service d'au moins 10v ) :
    • 10uF × 2
    • 47uF × 2
    • 470uF × 2
  • Diodes 1N4148 × 2 (ou autre diode)
  • Transistor NPN (TO92) x 2 ( ex. BC337, BC546, 2N2222, 2N3904…)
  • Transistor PNP (TO92) x 2 ( ex. BC327, BC556, 2N2907, 2N3906…)
  • Photorésistance × 1
  • Bouton poussoirs × 5
  • Potentiomètre 10kΩ (preset) × 1
  • Potentiomètre 10kΩ ou 50kΩ avec bouton × 1
  • Piezo buzzer × 1

Matériel optionnel

  • Module d'extension (shield ou module) écran LCD 16×2 ( très recommandé )
  • LED RVB × 1
  • Bouton codeur avec contact × 1
  • Thermistance ( 100kΩ ou 50kΩ ) × 1
  • LM35 (sonde de température) × 1
  • Transistor MOSFET-N “Logic level” × 1 ( ex. IRL530 )
  • Transistor MOSFET-P “Logic level” × 1 ( ex. IRF9530 )
  • Module Relais pilotable en 5V pour commuter jusqu'à 230V × 1
  • Module d'extension (shield ou breakout board) Ethernet (au choix) :
    • (basé sur chip Wiznet W5100) × 1 ( plus cher mais plus facile à utiliser avec l'Arduino UNO )
    • (basé sur chip ENC28J60) x 1 (moins cher mais gourmand en mémoire)
  • Mini Servo Moteur × 1 ( choisir la plus grande angle d'ouverture possible )
  • Boîtier plastique pour contenir les composants et l'Arduino × 1 (vraiment optionnel :)

Prix moyen :~50€

Attestations

Une attestation de suivi avec succès est attribuée par FUN aux apprenants ayant réussi les évaluations.

Déroulement du MOOC

Le MOOC s'étale sur 4 semaines dans lesquelles vous verrez :

  • Semaine 1 : Les outils
  • Semaine 2 : Capteurs numériques + 1 TP
  • Semaine 3 : Capteurs analogiques + 1 TP
  • Semaine 4 : Librairies et sorties + 1 TP

Travaux pratiques

Le MOOC est maintenant terminé, voici donc les corrections des TP comme promis ;)

TP1 : Feu tricolore

/* 
  Feu tricolore
 
 TP de la semaine 1 du MOOC "Programmer un objet avec Arduino"
 Allume trois LED comme suit :
 Verte allumée pendant 3 secondes
 Orange allumée pendant 1 seconde
 Rouge allumée pendant 3 secondes

 
 Le montage :
 * Une LED rouge sur la broche 2 en série avec une résistance de 220Ω
 * Une LED orange sur la broche 3 en série avec une résistance de 220Ω
 * Une LED verte sur la broche 4 en série avec une résistance de 220Ω
 
 créé le 18 Mai 2018
 par Baptiste Gaultier
 
 Ce code est en CC0 1.0 Universal
 
 https://www.fun-mooc.fr/courses/MinesTelecom/04017/session01/about
 */

int rouge = 2;
int orange = 3;
int verte = 4;

// le code dans cette fonction est exécuté une fois au début
void setup() {
  // indique que les broches des LED
  // sont des sorties :
  pinMode(rouge, OUTPUT);
  pinMode(orange, OUTPUT);
  pinMode(verte, OUTPUT);     
}

// le code dans cette fonction est exécuté en boucle
void loop() {
  digitalWrite(verte, HIGH);
  delay(3000);
  digitalWrite(verte, LOW);
  
  digitalWrite(orange, HIGH);
  delay(1000);
  digitalWrite(orange, LOW);

  digitalWrite(rouge, HIGH);
  delay(3000);
  digitalWrite(rouge, LOW);
  
}

TP1 : Montage électronique

Pour réaliser ce montage, vous avez besoin de :

  • Un Arduino
  • Une platine de prototypage
  • Un câble USB
  • Trois résistances de 220Ω
  • Des fils de prototypage
  • Une LED verte
  • Une LED orange
  • Une LED rouge

TP2 : Feu tricolore + feu piéton

/* 
  Feu tricolore + Feu Piétons
 
 TP de la semaine 2 du MOOC "Programmer un objet avec Arduino" 
 
 Le montage :
 * Une LED rouge sur la broche 12 en série avec une résistance de 220Ω
 * Une LED orange sur la broche 11 en série avec une résistance de 220Ω
 * Une LED verte sur la broche 10 en série avec une résistance de 220Ω
 
 * Une LED rouge sur la broche 9 en série avec une résistance de 220Ω
 * Une LED verte sur la broche 8 en série avec une résistance de 220Ω
 
 * Bouton poussoir branché sur la broche 2 depuis +5V
 * Une résistance de 1KΩ branché sur la broche 2 depuis GND
 
 créé le 9 Avril 2014
 par Baptiste Gaultier
 avec les conseils de fb251
 
 Ce code est en CC0 1.0 Universal
 
 https://www.france-universite-numerique-mooc.fr/courses/MinesTelecom/04002/Trimestre_1_2014/about
 */

// Initialisation des constantes pour les LED
const int rouge = 12;
const int orange = 11;
const int verte = 10;

const int rougePieton = 9;
const int vertePieton = 8;


// Numéro de la broche à laquelle est connecté le bouton poussoir
const int bouton = 2;

// Déclaration des variables :
int etatBouton = 0;


// le code dans cette fonction est exécuté une fois au début
void setup() {
  // indique que les broches des LED
  // sont des sorties :
  pinMode(rouge, OUTPUT);
  pinMode(orange, OUTPUT);
  pinMode(verte, OUTPUT);
  
  pinMode(rougePieton, OUTPUT);
  pinMode(vertePieton, OUTPUT);
  
  // indique que la broche bouton est une entrée :
  pinMode(bouton, INPUT);
}

// le code dans cette fonction est exécuté en boucle
void loop() {
  // Dans le fonctionnement normal, le feu piéton est toujours rouge
  digitalWrite(rougePieton, HIGH);
  
  // Fonctionnement normal du feu voiture  
  digitalWrite(verte, HIGH);
  delay(3000);
  digitalWrite(verte, LOW);  
  
  // lit l'état du bouton et stocke le résultat
  // dans etatBouton :
  etatBouton = digitalRead(bouton);

  // Si etatBouton est égal à HIGH
  // c'est que le bouton est appuyé
  if (etatBouton == HIGH) {
    digitalWrite(orange, HIGH);
    delay(1000);
    digitalWrite(orange, LOW);
  
    digitalWrite(rouge, HIGH);
    
    // Le feu piéton passe au vert pendant 5s
    digitalWrite(rougePieton, LOW);
    digitalWrite(vertePieton, HIGH);
    
    delay(5000);
    
    // On remet le feu piéton au rouge
    digitalWrite(rougePieton, HIGH);
    digitalWrite(vertePieton, LOW);
    
    // Puis on s'assure que le feu voiture est éteint
    digitalWrite(rouge, LOW);
  }
  else {
    // Fonctionnement normal du feu voiture
    digitalWrite(orange, HIGH);
    delay(1000);
    digitalWrite(orange, LOW);
  
    digitalWrite(rouge, HIGH);
    delay(3000);
    digitalWrite(rouge, LOW);
  }
}

TP2 : Montage électronique

Pour réaliser ce montage, vous avez besoin de :

  • Un Arduino
  • Une platine de prototypage
  • Un câble USB
  • Cinq résitances de 220Ω
  • Une résistance de 10kΩ
  • Des fils de prototypage
  • Deux LED verte
  • Une LED orange
  • Deux LED rouge
  • Un bouton poussoir
LDAP: couldn't connect to LDAP server
wiki/projets/fun_mooc_-_programmer_un_objet_avec_arduino.1552690839.txt.gz · Dernière modification: 2019/03/15 23:00 de bonnetc