ENIB 2022 - groupe B : La golden
photo de l'équipe
Que fait ce projet ?
Ce projet est une mini machine à coup de poing que l'on a transformé en machine à pichenettes. Plus le levier va loin, plus le nombre de led allumé sera élevé. Le système est composé d'un potentiomètre. La carte Arduino va lire la valeur de ce potentiomètre et en fonction de la valeur va allumé les leds. Plus la valeur du potentiomètre sera élevé (donc plus le potentiomètre aura tourné), plus le nombre de led allumé sera grand.
Afin de tester le code on a câblé comme cela :
On a utilisé une imprimante 3D afin de créer la structure (d'autre structure sont possible selon l'imagination de chacun). Voici le lien pour cette impression 3D: https://www.thingiverse.com/thing:4317664
Une fois monté, on obtient cela, ici la pichenette n'a pas été très forte:
Ici la pichenette a été meilleure.
Voici un schéma du câblage:
Liste des composants
- potentiomètre
- Arduino Wemos
- 6 leds
- plaque labtec
- Câbles
Code
int LED = 4;//D2 int LED1 = 0; //D3 int LED2 = 2; //D4 int LED3 = 14; //D5 int LED4 = 12; //D6 int LED5 = 13; //D7 int val; bool demarre = 0; void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(LED, OUTPUT); pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); pinMode(LED5, OUTPUT); } void reboot(){ demarre = 0; } void clignote(){ Serial.println("clignote"); digitalWrite(LED,HIGH); digitalWrite(LED1,HIGH); digitalWrite(LED2,HIGH); digitalWrite(LED3,HIGH); digitalWrite(LED4,HIGH); digitalWrite(LED5,HIGH); delay(300); Serial.println("délais"); digitalWrite(LED,LOW); digitalWrite(LED1,LOW); digitalWrite(LED2,LOW); digitalWrite(LED3,LOW); digitalWrite(LED4,LOW); digitalWrite(LED5,LOW); delay(300); } void loop() { // put your main code here, to run repeatedly: val = analogRead(A0); Serial.println(val); if (demarre == 0) { if (val<20){ Serial.println("clignote"); clignote(); } } if (val<20){ demarre = 1; Serial.print("démarre : " );Serial.println(demarre); digitalWrite(LED,LOW); digitalWrite(LED1,LOW); digitalWrite(LED2,LOW); digitalWrite(LED3,LOW); digitalWrite(LED4,LOW); digitalWrite(LED5,LOW); delay(100); } if (demarre == 1){ Serial.println("je démarre"); if (val>20){ if (val<=32){ delay(500); digitalWrite(LED,HIGH); Serial.println("première led"); } if (val>32 && val<=65){ delay(500); digitalWrite(LED,HIGH); delay(500); digitalWrite(LED1,HIGH); Serial.println("deux led"); } if (val>65 && val<=100){ delay(500); digitalWrite(LED,HIGH); delay(500); digitalWrite(LED1,HIGH); delay(500); digitalWrite(LED2,HIGH); Serial.println("trois led"); } if (val>100 && val<=130){ delay(500); digitalWrite(LED,HIGH); delay(500); digitalWrite(LED1,HIGH); delay(500); digitalWrite(LED2,HIGH); delay(500); digitalWrite(LED3,HIGH); Serial.println("4 led"); } if (val>130 && val<=160){ delay(500); digitalWrite(LED,HIGH); delay(500); digitalWrite(LED1,HIGH); delay(500); digitalWrite(LED2,HIGH); delay(500); digitalWrite(LED3,HIGH); delay(500); digitalWrite(LED4,HIGH); Serial.println("5 led"); } if (val>160 && val<=200){ delay(500); digitalWrite(LED,HIGH); delay(500); digitalWrite(LED1,HIGH); delay(500); digitalWrite(LED2,HIGH); delay(500); digitalWrite(LED3,HIGH); delay(500); digitalWrite(LED4,HIGH); delay(500); digitalWrite(LED5,HIGH); Serial.println("6 led"); } } } }