ENIB 2023 : symphonie des lumières : Différence entre versions
(→Avancée du projet) |
(→Avancée du projet) |
||
Ligne 135 : | Ligne 135 : | ||
Un laser alimenté en continu 5V par la carte Arduino émet un faisceau de lumière sur un bout de miroir fixé sur la membrane du haut parleur. Ce faisceau lumineux est réfléchi sur la pièce de puzzle et forme une forme lumineuse. | Un laser alimenté en continu 5V par la carte Arduino émet un faisceau de lumière sur un bout de miroir fixé sur la membrane du haut parleur. Ce faisceau lumineux est réfléchi sur la pièce de puzzle et forme une forme lumineuse. | ||
+ | [[Fichier:Pict 2.jpg|600px]] | ||
[[Fichier:Pict 1.jpg|600px]] | [[Fichier:Pict 1.jpg|600px]] | ||
− | |||
− | |||
[[Fichier:Plaque 2.jpg|600px]] | [[Fichier:Plaque 2.jpg|600px]] |
Version du 19 janvier 2023 à 15:18
Sommaire
Photo de l'équipe
Que fait ce projet ?
Le principe du projet est de projeter un laser sur un miroir qui sera fixer sur la membrane d'un haut parleur. En vibrant la membrane dessinera avec le laser une forme, le but étant de reproduire une forme fourni sur le puzzle.
Liste des composants
- miroir
- laser
- haut-parleur
- potentiomètre
- résistance
- écran
- carte Arduinos Wemos D1 mini
- bouton poussoir
Code
int BP1; int BP2; int P1; double F1 = 1; double F2 = 1; double F3 = 1; int CPT = 0; bool pressable = 1; int compteur = 0; #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { pinMode(D5, OUTPUT); pinMode(A0, INPUT); Serial.begin(9600); lcd.init(); lcd.backlight(); } //fonctions int buttonPressed(bool* pressable, int compteur){ int pButton = digitalRead(D6); if (pButton && *pressable){ compteur++; *pressable = 0; } else if(!pButton) { *pressable = 1; } compteur %=4; return compteur; } void actFrequencies(double* F1, double* F2, double* F3, int compteur) { if(compteur < 3) { double potar = analogRead(A0); double f = potar/1024; switch(compteur) { case 0: { *F1 = f*10; break; } case 1: { *F2 = f*100; break; } case 2: { *F3 = f*1000; break; } } } } // the loop function runs over and over again forever void loop() { //P1 = analogRead(A0); //Serial.println(P1); //BP1 = digitalRead(D4); //Serial.println(BP1); //delay(100); compteur = buttonPressed(&pressable,compteur); actFrequencies(&F1,&F2,&F3,compteur); lcd.setCursor(0,0); if(compteur < 3) { lcd.print("frequence "); lcd.print(compteur); lcd.print(" :"); lcd.setCursor(0,1); Serial.println(compteur); switch(compteur) { case 0: { Serial.println("test"); lcd.print(F1); break; } case 1: { lcd.print(F2); break; } case 3: { lcd.print(F3); break; } } lcd.print(" Hz "); delay(100); } }
Avancée du projet
Nous avons commencer par faire le montage de notre projet, en vérifiant le bon fonctionnement de tous les composants. Une fois ceux-ci vérifiés, nous avons codé notre programme. Nous voulons à partir d'une carte Arduinos Wemos D1 mini, fournir 3 fréquences à un haut-parleur pour qu'il puisse emmètre un son. Ces fréquences sont modifiables à partir d'un potentiomètre. Les fréquences sont visibles sur un écran 1602A. Les différentes fréquences sont validés apres l'appui d'un bouton poussoir. Un laser alimenté en continu 5V par la carte Arduino émet un faisceau de lumière sur un bout de miroir fixé sur la membrane du haut parleur. Ce faisceau lumineux est réfléchi sur la pièce de puzzle et forme une forme lumineuse.