ENIB 2020 : Patience Box : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
 
(9 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
[[Image:patience_box.jpg]]
+
 
==Photo du projet==
+
[[Image:patience_b.jpg|250px|right|thumb|<center>Patience Box - 2020</center>]]
[[Fichier:Photoenib2018.jpg|600px]]
 
  
 
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 9 : Ligne 8 :
 
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.
 
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
+
* 2 servomoteurs
 
* Des matériaux pour faire un bras pour le servomoteur
 
* Des matériaux pour faire un bras pour le servomoteur
 
* Une carte arduino UNO
 
* Une carte arduino UNO
Ligne 20 : Ligne 25 :
 
* De quoi faire une boîte
 
* De quoi faire une boîte
  
 +
==Montage==
 +
[[Image:patience_montage.jpg|250px]]
 
==Code==
 
==Code==
 
<pre>
 
<pre>
Ligne 33 : Ligne 40 :
 
   motSw.attach(10);
 
   motSw.attach(10);
 
   pinMode(sw,INPUT);
 
   pinMode(sw,INPUT);
   motCapot.write(160);
+
   motCapot.write(130); //pos initiales moteurs
 +
  motSw.write(0);
 
}
 
}
  
 
void loop() {
 
void loop() {
 
 
   if(digitalRead(sw))
 
   if(digitalRead(sw))
 
   {
 
   {
     motCapot.write(40);
+
     motCapot.write(40); //monte le capot en haut
     delay(1500);
+
     delay(2000);
 +
    motSw.write(180); //descend le bras sur switch
 +
   
 
   }
 
   }
 
   else
 
   else
 
   {
 
   {
     motCapot.write(160);
+
     motSw.write(0); //bras switch initial
     delay(1500);
+
     delay(2000);
 +
    motCapot.write(130); // remet le capot en bas
 
   }
 
   }
  

Version actuelle datée du 17 janvier 2020 à 16: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