Ceci est une ancienne révision du document !
Jamel BENMAMAR (contact : jamel.benmamar@upmc.fr)
Christophe BONNET (contact : christophe.bonnet@upmc.fr)
Sylvain THERY (contact : sylvain.thery@upmc.fr)
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…
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
Matériel optionnel
Prix moyen :~50€
Attestations
Une attestation de suivi avec succès est attribuée par FUN aux apprenants ayant réussi les évaluations.
Le MOOC s'étale sur 4 semaines dans lesquelles vous verrez :
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 :
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 :
TP3 : Thérémine lumineux
/*
Thérémine lumineux
Le montage :
* Un piezo branché sur la broche 8
* Une photorésistance branchée sur la broche A2 depuis +5V
* Une résistance de 10kΩ branchée sur la broche A2 depuis GND
créé le 9 Avril 2014
par Baptiste Gaultier
Ce code est en CC0 1.0 Universal
https://www.france-universite-numerique-mooc.fr/courses/MinesTelecom/04002/Trimestre_1_2014/about
*/
// variable pour stocker la valeur reçue sur A2
int sensorValue;
void setup() {
}
void loop() {
// lire la valeur de la photorésistance et stocker ça dans une variable
// Attention, sur les schéma/montage en dessous, elle est branchée sur A2 (et non A0)
sensorValue = analogRead(A2);
// re étalonne la variable vers un grand intervalle de fréquences audibles
int pitch = map(sensorValue, 0, 1023, 50, 30000);
// jouer la fréquence sur le piezo branché sur la broche 8
tone(8, pitch);
// attendre 10 ms
delay(10);
}
Pour réaliser ce montage, vous avez besoin de :