Ascenseur fou

De Les Fabriques du Ponant
Aller à : navigation, rechercher


Description du projet

Durant le « GASTHON », nous avons pensé à réaliser un ascenseur qui forcerais ces futurs utilisateurs à prendre les escaliers

Conception

Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP


Réalisation des pièces

  • Le socle
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP

Le matériel

-2 équerres

-4 vis à bois

- une planche de bois

Protocole

Couper la planche environs aux 3/4.

Positionner les planches et visser les équerres




  • Les poulies
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP

Le matériel

- du carton

-2 bouchons de bouteille

- 2 allumettes

- colle

Protocole

Couper le carton afin de faire des gros cercles plus grand que les bouchons.

Percer un cercle puis le bouchon et enfin un autre cercle afin de position l'allumette comme un axe.

Coller les différentes couches sans coller les allumettes.




  • La cage de l'ascenseur
Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP

Le matériel

- du carton

- un fil

Protocole

Découper 2 carrés en carton.

Découper 4 petits rectangle en carton

Coller le tout pour former une petite boite

Coller le fil sur le haut de la cage




Assemblage

Erreur lors de la création de la miniature : Fichier avec des dimensions supérieures à 12,5 MP

Nous avons placer les poulies de façon à que le moteur soit au niveau bas du socle.

Nous l'avons coller à la poulie qui n'a pas d’allumette en son centre.





L'électronique

  • Le matériel

- fils

- arduino uno

- capteur de distance infrarouge SHARP 2Y0A21 F 7X

- capteur de distance avec ultrason HC-SR04

- cerveau moteur à rotation continue FS90R

  • Cablage
Ascenseur fou cablage.png





Code

#include <Servo.h> //bibliotheque standart pour controler les cerveaux moteurs
Servo moteur;

void go_up(Servo moteur) // fonction qui fait monter
{
  moteur.write(0);
  delay(1000);
  moteur.write(90);
}

void go_down(Servo moteur) // fonction qui fait descendre
{
  moteur.write(180);
  delay(1000);
  moteur.write(90);
}




//constante pour ultrason
const unsigned long MEASURE_TIMEOUT = 5000UL; //mesure a laquelle on ne prend plus les valeurs

const float SOUND_SPEED = 340.0/1000; //vitesse su son en mm/µs    

//initialisation de la carte
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  //entree analog du capteur laser
  pinMode(A0,INPUT);
  //liaison capteur distance ultrason
  pinMode(6,INPUT); //echo
  pinMode(8,OUTPUT);  //trigger
  digitalWrite(8,LOW); //securite
  // cerveau moteur
  moteur.attach(4);
  moteur.write(90); //arret du moteur
}

//initialisatin de variable hors boucle
int infraDist;
float distance_mm;
int Is_Up = 0; //l'assenceur est considere en bas

void loop() {
  // put your main code here, to run repeatedly:
  infraDist = analogRead(A0);
  //ultrason
  //impulsion
  digitalWrite(8,HIGH);
  delayMicroseconds(10);
  digitalWrite(8,LOW);
  //Retour
  long measure = pulseIn(6,HIGH,MEASURE_TIMEOUT);

  float distance_mm = measure /(2.0*SOUND_SPEED);  //on a le temps d'un aller retour

  if ((infraDist>500)&&(Is_Up == 0)) //distance a changer si besoin
  {
   go_up(moteur);
   Is_Up = 1;
  }
  if ((distance_mm>100)&&(Is_Up== 1)&&(distance_mm<1500)) //distance a changer si besoin
  {
    go_down(moteur);
    Is_Up=0;
  }
  delay(500); // 0.5 sec entre chaque prise de valeur
}

L'Equipe

- Gwenaël Gicquel

- Amine Bouyaqine

- Natalia Sofia Gastelum Garcia

- Omar Jibar