0% ont trouvé ce document utile (0 vote)
50 vues3 pages

Le Code Moteur

Transféré par

samuelnzengu30
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)
50 vues3 pages

Le Code Moteur

Transféré par

samuelnzengu30
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

// Déclaration des broches pour les segments du 7 segments

Const int segmentPins[] = {2, 3, 4, 5, 6, 7, 8} ; // A, B, C, D, E, F, G

Const int stepperPins[] = {8, 9, 10, 11} ; // IN1, IN2, IN3, IN4

// Déclaration des séquences pour les chiffres 0 à 9 pour l’afficheur sept


segments

Const int digits[10][7] = {

{1, 1, 1, 1, 1, 1, 0}, // 0

{0, 1, 1, 0, 0, 0, 0}, // 1

{1, 1, 0, 1, 1, 0, 1}, // 2

{1, 1, 1, 1, 0, 0, 1}, // 3

{0, 1, 1, 0, 0, 1, 1}, // 4

{1, 0, 1, 1, 0, 1, 1}, // 5

{1, 0, 1, 1, 1, 1, 1}, // 6

{1, 1, 1, 0, 0, 0, 0}, // 7

{1, 1, 1, 1, 1, 1, 1}, // 8

{1, 1, 1, 1, 0, 1, 1} // 9

};

// Séquences de pas pour le moteur pas à pas (4 phases)

Const int stepSequence[8][4] = {

{1, 0, 0, 0},

{1, 1, 0, 0},

{0, 1, 0, 0},

{0, 1, 1, 0},

{0, 0, 1, 0},

{0, 0, 1, 1},

{0, 0, 0, 1},

{1, 0, 0, 1}
};

Void setup() {

// Initialisation des broches des segments comme sorties

For (int i = 0 ; i < 7 ; i++) {

pinMode(segmentPins[i], OUTPUT) ;

// Initialisation des broches du moteur pas à pas comme sorties

For (int i = 0 ; i < 4 ; i++) {

pinMode(stepperPins[i], OUTPUT) ;

Serial.begin(9600) ; // Pour le débogage

Void loop() {

// Décompte de 9 à 0

For (int i = 9 ; i >= 0 ; i--) {

// Affichage du chiffre sur le sept segments

displayDigit(i) ;

delay(1000) ; // Pause avant le prochain chiffre

// Rotation du moteur pas à pas après le décompte

rotateStepper(200) ; // Ajuster pour le nombre de pas désirés

// Attendre un moment avant de recommencer


Delay(5000) ;

Void displayDigit(int digit) {

For (int i = 0 ; i < 7 ; i++) {

digitalWrite(segmentPins[i], digits[digit][i]) ;

Void rotateStepper(int steps) {

For (int i = 0 ; i < steps ; i++) {

stepMotor(i % 8) ; // 8 étapes pour un cycle complet

delay(10) ; // Ajuster la vitesse du moteur

Void stepMotor(int step) {

For (int i = 0 ; i < 4 ; i++) {

digitalWrite(stepperPins[i], stepSequence[step][i]) ;

Vous aimerez peut-être aussi