0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Include

Ce document contient un code Arduino pour contrôler un moteur pas à pas dans un projet d'ascenseur. Il définit des boutons pour sélectionner les étages et utilise une bibliothèque pour gérer le moteur. Le programme lit l'état des boutons et déplace le moteur en conséquence pour atteindre l'étage souhaité.

Transféré par

TOURE ALI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues4 pages

Include

Ce document contient un code Arduino pour contrôler un moteur pas à pas dans un projet d'ascenseur. Il définit des boutons pour sélectionner les étages et utilise une bibliothèque pour gérer le moteur. Le programme lit l'état des boutons et déplace le moteur en conséquence pour atteindre l'étage souhaité.

Transféré par

TOURE ALI
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

#include <Stepper.

h> // Bibliothèque moteur pas à pas

// ===== MOTEUR =====

const int pas_par_tour = 2048; // Nombre de pas pour un tour complet

Stepper moteur(pas_par_tour, 8, 10, 9, 11); // IN1, IN3, IN2, IN4

// ===== BOUTONS =====

const int boutonRDC = 2;

const int bouton1 = 4;

const int bouton2 = 5;

// const int bouton3 = 6;

// ===== VARIABLES ASCENSEUR =====

int etageActuel = 0;

const int pasEntreEtage = 4500; // Nombre de pas entre deux étages

// ======================================================

void setup()

pinMode(boutonRDC, INPUT_PULLUP);

pinMode(bouton1, INPUT_PULLUP);

pinMode(bouton2, INPUT_PULLUP);//SAns resistance

//pinMode(bouton1, INPUT_PULLUP);

[Link](10); // Vitesse moteur

[Link](9600);

[Link]("*********************");

[Link](" MINI PROJET ASCENSEUR ");

[Link]("*********************");
[Link]("Choisir un étage...");

// ======================================================

void loop()

int RDC = digitalRead(boutonRDC);

int etage1 = digitalRead(bouton1);

int etage2 = digitalRead(bouton2);

//int etage3 = digitalRead(bouton3);

// Boutons actifs à LOW avec INPUT_PULLUP

if (RDC == LOW)

allerAEtage(0);

delay(300); // Anti-rebond

else if (etage1 == LOW)

allerAEtage(1);

delay(300);

else if (etage2 == LOW)

allerAEtage(2);

delay(300);

}
//else if (etage3 == LOW)

//{

// allerAEtage(3);

// delay(300);

//}

// ======================================================

void allerAEtage(int cible)

if (cible == etageActuel)

[Link]("Deja a cet etage.");

return;

int difference = cible - etageActuel;

int pasNecessaire = difference * pasEntreEtage;

[Link]("Deplacement vers etage : ");

[Link](cible);

[Link](pasNecessaire);

etageActuel = cible;

[Link]("Arrive a l'etage : ");

[Link](cible);
[Link]("---------------------");

delay(500);

Vous aimerez peut-être aussi