ENIB 2022 - groupe B : La golden

De Les Fabriques du Ponant
Aller à : navigation, rechercher

photo de l'équipe

Photoenib2018.jpg

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");
    }
  }
}
}

Catégories