Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
start:projet:arduino:formationgdr1 [2015/10/17 14:03] – [Partie Électronique -- Justin CANO] jcano | start:projet:arduino:formationgdr1 [2015/10/19 14:28] (Version actuelle) – [Important] jcano | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ======Formation Quintessence ElectroLab 1====== | ||
+ | <note tip> | ||
+ | * Justin Cano, //Partie Electronique ~ Commande// [[mailto: | ||
+ | * Alexandre Guglielmi, //Partie Mécanique ~ Effecteurs// | ||
+ | </ | ||
+ | |||
+ | ====Important==== | ||
+ | |||
+ | <note important> | ||
+ | * Inscrivez-vous dans le sondage [[http:// | ||
+ | * Amenez votre PC portable | ||
+ | * Lisez (pas en entier LOL) ce wiki [[start: | ||
+ | </ | ||
+ | ====But de la formation==== | ||
+ | Déclencher un mécanisme au bout de 9 secondes de compte à rebours dans le but de commander un lance-confetti de classe **Delirium I** pour faire une vidéo trop stylée ! | ||
+ | |||
+ | ===== Partie Électronique -- Justin CANO ===== | ||
+ | <note warning> | ||
+ | |||
+ | Nous devrons créer le montage suivant pour réussir à lancer les confettis dans les délais, dans un premier temps nous modéliserons l' | ||
+ | ==== Quels objectifs, capitaine ?==== | ||
+ | Il faudrait modéliser le compte à rebours par trois diodes RGB (diodes 3 couleurs)) qui feront l' | ||
+ | {{ : | ||
+ | \\ | ||
+ | Puis une dernière diode classique s' | ||
+ | .... | ||
+ | \\ | ||
+ | === De la musique ??? === | ||
+ | Pour les plus avancés dans leur montage, nous génèrerons quelques notes de musique avec des buzzers piezzo éléctronique pour faire comme les compte à rebours dans les films d' | ||
+ | ==== Mais euh ! Quels sont mes besoins !???? ==== | ||
+ | Nomenclature du circuit : | ||
+ | * Une Arduino Nano | ||
+ | * Quatre transistors NPN BC547B ou équivalent en boitier TO 92 | ||
+ | * Trois diodes RGB | ||
+ | * Une diode classique rouge | ||
+ | * Quatre résistances 330 Ω | ||
+ | * Quatre résistances 15 kΩ | ||
+ | * Un bouton-poussoir | ||
+ | * Un buzzer pièzo-électrique | ||
+ | ===== Le circuit===== | ||
+ | {{ : | ||
+ | ==== Brochage des composants ==== | ||
+ | === Transistor NPN BC 547B === | ||
+ | {{ : | ||
+ | === Diode RGB === | ||
+ | {{ : | ||
+ | |||
+ | ===== Programmation Arduino -- Justin CANO ===== | ||
+ | |||
+ | === Information utile === | ||
+ | Codage RGB : [[http:// | ||
+ | \\ | ||
+ | |||
+ | === Code === | ||
+ | |||
+ | int SortieRouge = 3; | ||
+ | int SortieBleue = 10; | ||
+ | int SortieVerte = 11; | ||
+ | int EntreeInter = A0; | ||
+ | int Diode1 = 4; | ||
+ | int Diode2 = 5; | ||
+ | int Diode3 = 6; | ||
+ | int SortieFeu = 7; | ||
+ | int SortieBuzzer = 8; | ||
+ | | ||
+ | unsigned long t ; | ||
+ | unsigned long tStart; | ||
+ | | ||
+ | void setup() { | ||
+ | // II - Déclaration des sortie et mise à Zéro | ||
+ | // NB : Par pure flemme je mets toutes les pins digitales de 2 à 11 en sortie et à l' | ||
+ | | ||
+ | for(int i = 2; i<12; i++) { | ||
+ | pinMode(i, | ||
+ | digitalWrite(i, | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
+ | // III - Définition de fonctions utiles pour le programme | ||
+ | // Sons et lumières | ||
+ | | ||
+ | void RGB(int R, int G, int B) { | ||
+ | analogWrite(SortieRouge, | ||
+ | analogWrite(SortieBleue, | ||
+ | analogWrite(SortieRouge, | ||
+ | t=millis(); | ||
+ | } | ||
+ | | ||
+ | void carre(int TempsHaut, int TempsBas) { | ||
+ | digitalWrite(SortieBuzzer, | ||
+ | delayMicroseconds(TempsHaut); | ||
+ | digitalWrite(SortieBuzzer, | ||
+ | delayMicroseconds(TempsBas); | ||
+ | } | ||
+ | | ||
+ | void rouge(){ | ||
+ | RGB(255, | ||
+ | carre(150, | ||
+ | } | ||
+ | | ||
+ | void vert() { | ||
+ | RGB(0, | ||
+ | carre(100, | ||
+ | } | ||
+ | | ||
+ | void bleu(){ | ||
+ | RGB(0, | ||
+ | carre(500, | ||
+ | } | ||
+ | | ||
+ | void jaune(){ | ||
+ | RGB(240, 195, 0); | ||
+ | carre(500, | ||
+ | } | ||
+ | | ||
+ | void orange(){ | ||
+ | RGB(223, 109, 20); | ||
+ | carre(150, | ||
+ | } | ||
+ | | ||
+ | void violet(){ | ||
+ | RGB(102, 0, 255); | ||
+ | carre(100, | ||
+ | } | ||
+ | | ||
+ | void adressage(boolean a, boolean b, boolean c){ | ||
+ | if(a) { | ||
+ | digitalWrite(Diode1, | ||
+ | } | ||
+ | else if(b){ | ||
+ | digitalWrite(Diode2, | ||
+ | } | ||
+ | else if(c){ | ||
+ | digitalWrite(Diode3, | ||
+ | } | ||
+ | else { | ||
+ | digitalWrite(Diode1, | ||
+ | digitalWrite(Diode2, | ||
+ | digitalWrite(Diode3, | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | // IV -- Fonction principale | ||
+ | | ||
+ | void loop() { | ||
+ | t=millis(); | ||
+ | boolean start = digitalRead(EntreeInter); | ||
+ | if(start) { | ||
+ | tStart=millis(); | ||
+ | | ||
+ | while(t-tStart< | ||
+ | bleu(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | bleu(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | bleu(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | vert(); | ||
+ | adressage(false, | ||
+ | } | ||
+ | | ||
+ | vert(); | ||
+ | adressage(false, | ||
+ | } | ||
+ | | ||
+ | vert(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | jaune(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | jaune(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | orange(); | ||
+ | adressage(false, | ||
+ | } | ||
+ | while(t-tStart< | ||
+ | orange(); | ||
+ | adressage(false, | ||
+ | } | ||
+ | while(t-tStart< | ||
+ | orange(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | | ||
+ | rouge(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | rouge(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | rouge(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | RGB(0,0,0); | ||
+ | adressage(false, | ||
+ | } | ||
+ | | ||
+ | rouge(); | ||
+ | adressage(true, | ||
+ | } | ||
+ | | ||
+ | adressage(true, | ||
+ | violet(); | ||
+ | rouge(); | ||
+ | vert(); | ||
+ | jaune(); | ||
+ | orange(); | ||
+ | if(t-tStart> | ||
+ | digitalWrite(SortieFeu, | ||
+ | } | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | delay(1); | ||
+ | } | ||
+ | |||
+ | ===== L' |