ENIB 2020 : Patience Box : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
 
(15 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
==photo de l'équipe==
+
 
[[Fichier:Photoenib2018.jpg|600px]]
+
[[Image:patience_b.jpg|250px|right|thumb|<center>Patience Box - 2020</center>]]
  
 
Ce projet est réalisé dans le cadre de l'intersemestre de l'ENIB 2020.
 
Ce projet est réalisé dans le cadre de l'intersemestre de l'ENIB 2020.
Ligne 7 : Ligne 7 :
  
 
Vous connaissez le principe de la Useless Box? Bah c'est ça.
 
Vous connaissez le principe de la Useless Box? Bah c'est ça.
 +
Basiquement, lorsque l'utilisateur va appuyer sur un bouton, la boîte va s'ouvrir, appuyer sur l'interrupteur pour le mettre sur "OFF" puis la boîte se refermera.
 +
 +
Concrètement, lorsque l'utilisateur met l'interrupteur sur "ON", un servomoteur va lever le capot de la boîte. Ensuite, l'autre servomoteur va tourner et son bras (en forme de U) va atteindre l'interrupteur pour le désactiver. Le bras qui a désactivé l'interrupteur rentre dans la boîte puis l'autre servomoteur tourne dans le sens inverse ce qui implique la fermeture de la boîte.
 +
 +
Vous pouvez aller plus loin en ajoutant plusieurs comportements à la boite lorsque l'utilisateur appui sur le bouton.
 +
Par exemple, la boite pourrait faire une feinte: s'ouvrir, mais ne pas appuyer sur l'interrupteur.
 +
  
 
==Liste des composants==
 
==Liste des composants==
  
* Un servomoteur avec un bras
+
* 2 servomoteurs
* Une carte arduino
+
* Des matériaux pour faire un bras pour le servomoteur
 +
* Une carte arduino UNO
 +
* Une résistance de 560 Ohms
 
* Des fils électriques
 
* Des fils électriques
 
* Un interrupteur
 
* Un interrupteur
 
* De quoi faire une boîte
 
* De quoi faire une boîte
  
 +
==Montage==
 +
[[Image:patience_montage.jpg|250px]]
 
==Code==
 
==Code==
 
<pre>
 
<pre>
ici je pose mon code documenté !
+
#include <Servo.h>
 +
 
 +
const int sw=4;
 +
Servo motCapot; //moteur pour ouvrir le capot
 +
Servo motSw;  //moteur pour appuyer sur l'interrupteur
 +
 
 +
void setup() {
 +
  Serial.begin(9600);
 +
  motCapot.attach(9);
 +
  motSw.attach(10);
 +
  pinMode(sw,INPUT);
 +
  motCapot.write(130); //pos initiales moteurs
 +
  motSw.write(0);
 +
}
 +
 
 +
void loop() {
 +
  if(digitalRead(sw))
 +
  {
 +
    motCapot.write(40); //monte le capot en haut
 +
    delay(2000);
 +
    motSw.write(180); //descend le bras sur switch
 +
   
 +
  }
 +
  else
 +
  {
 +
    motSw.write(0); //bras switch initial
 +
    delay(2000);
 +
    motCapot.write(130); // remet le capot en bas
 +
  }
 +
 
 +
}
 
</pre>
 
</pre>
  

Version actuelle datée du 17 janvier 2020 à 15:28

Patience Box - 2020

Ce projet est réalisé dans le cadre de l'intersemestre de l'ENIB 2020.

Que fait ce projet ?

Vous connaissez le principe de la Useless Box? Bah c'est ça. Basiquement, lorsque l'utilisateur va appuyer sur un bouton, la boîte va s'ouvrir, appuyer sur l'interrupteur pour le mettre sur "OFF" puis la boîte se refermera.

Concrètement, lorsque l'utilisateur met l'interrupteur sur "ON", un servomoteur va lever le capot de la boîte. Ensuite, l'autre servomoteur va tourner et son bras (en forme de U) va atteindre l'interrupteur pour le désactiver. Le bras qui a désactivé l'interrupteur rentre dans la boîte puis l'autre servomoteur tourne dans le sens inverse ce qui implique la fermeture de la boîte.

Vous pouvez aller plus loin en ajoutant plusieurs comportements à la boite lorsque l'utilisateur appui sur le bouton. Par exemple, la boite pourrait faire une feinte: s'ouvrir, mais ne pas appuyer sur l'interrupteur.


Liste des composants

  • 2 servomoteurs
  • Des matériaux pour faire un bras pour le servomoteur
  • Une carte arduino UNO
  • Une résistance de 560 Ohms
  • Des fils électriques
  • Un interrupteur
  • De quoi faire une boîte

Montage

Patience montage.jpg

Code

#include <Servo.h>

const int sw=4;
Servo motCapot; //moteur pour ouvrir le capot
Servo motSw;  //moteur pour appuyer sur l'interrupteur

void setup() {
  Serial.begin(9600);
  motCapot.attach(9);
  motSw.attach(10);
  pinMode(sw,INPUT);
  motCapot.write(130); //pos initiales moteurs
  motSw.write(0);
}

void loop() {
  if(digitalRead(sw))
  {
    motCapot.write(40); //monte le capot en haut
    delay(2000);
    motSw.write(180); //descend le bras sur switch
    
  }
  else
  {
    motSw.write(0); //bras switch initial
    delay(2000);
    motCapot.write(130); // remet le capot en bas
  }

}

Catégories