ENIB 2022 - groupe B : La golden : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Catégories)
 
(7 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 5 : Ligne 5 :
 
Ce projet est une mini machine à coup de poing que l'on a transformé en machine à pichenettes.
 
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é.
 
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.
+
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 :
 
Afin de tester le code on a câblé comme cela :
Ligne 14 : Ligne 14 :
  
 
On a utilisé une imprimante 3D afin de créer la structure (d'autre structure sont possible selon l'imagination de chacun).
 
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
 +
  
 
<gallery>
 
<gallery>
 
271864996_293807149446152_3897482952962782959_n.jpg
 
271864996_293807149446152_3897482952962782959_n.jpg
 
</gallery>
 
</gallery>
 +
 +
Une fois monté, on obtient cela, ici la pichenette n'a pas été très forte:
 +
<gallery>
 +
271762696_643684663339833_1227525434112407970_n.jpg
 +
</gallery>
 +
 +
Ici la pichenette a été meilleure.
 +
<gallery>
 +
271781432_1408068869601902_376429660310323077_n.jpg
 +
</gallery>
 +
 +
Voici un schéma du câblage:
 +
<gallery>
 +
271736051_506413074082031_7267972590107266410_n.jpg
 +
</gallery>
  
 
==Liste des composants==
 
==Liste des composants==
Ligne 29 : Ligne 47 :
 
==Code==
 
==Code==
 
<pre>
 
<pre>
ici je pose mon code documenté !
+
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");
 +
    }
 +
  }
 +
}
 +
}
 
</pre>
 
</pre>
  
Ligne 35 : Ligne 186 :
  
 
[[Catégorie:Enib2022]]
 
[[Catégorie:Enib2022]]
 +
 +
[[Catégorie:Arduino]]

Version actuelle datée du 15 janvier 2024 à 17:04

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