Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


materiel:uln2003:accueil

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
materiel:uln2003:accueil [2018/03/15 16:03]
resonance [StepperMotor LIB]
materiel:uln2003:accueil [2019/01/30 10:23] (Version actuelle)
resonance [simple code avec lib stepper]
Ligne 10: Ligne 10:
 {{youtube>Sl2mzXfTwCs?large}} {{youtube>Sl2mzXfTwCs?large}}
  
 +===== Exemple =====
 +<code cpp>
 +/*
 +   BYJ48 Stepper motor code
 +   Connect :
 +   IN1 >> D8
 +   IN2 >> D9
 +   IN3 >> D10
 +   IN4 >> D11
 +   VCC ... 5V Prefer to use external 5V Source
 +   Gnd
 +   written By :Mohannad Rawashdeh
 +  https://www.instructables.com/member/Mohannad+Rawashdeh/
 +     28/9/2013
 +  */
  
 +#define IN1  8
 +#define IN2  9
 +#define IN3  10
 +#define IN4  11
 +
 +int Steps = 0;
 +boolean Direction = true;// gre
 +unsigned long last_time;
 +unsigned long currentMillis ;
 +int steps_left=4095;
 +long time;
 +void setup()
 +{
 +Serial.begin(115200);
 +pinMode(IN1, OUTPUT); 
 +pinMode(IN2, OUTPUT); 
 +pinMode(IN3, OUTPUT); 
 +pinMode(IN4, OUTPUT); 
 +// delay(1000);
 +
 +}
 +void loop()
 +{
 +  while(steps_left>0){
 +  currentMillis = micros();
 +  if(currentMillis-last_time>=1000){
 +  stepper(1); 
 +  time=time+micros()-last_time;
 +  last_time=micros();
 +  steps_left--;
 +  }
 +  }
 +   Serial.println(time);
 +  Serial.println("Wait...!");
 +  delay(2000);
 +  Direction=!Direction;
 +  steps_left=4095;
 +}
 +
 +void stepper(int xw){
 +  for (int x=0;x<xw;x++){
 +switch(Steps){
 +   case 0:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, HIGH);
 +   break; 
 +   case 1:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, HIGH);
 +     digitalWrite(IN4, HIGH);
 +   break; 
 +   case 2:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, HIGH);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +   case 3:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, HIGH);
 +     digitalWrite(IN3, HIGH);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +   case 4:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, HIGH);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +   case 5:
 +     digitalWrite(IN1, HIGH); 
 +     digitalWrite(IN2, HIGH);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +     case 6:
 +     digitalWrite(IN1, HIGH); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +   case 7:
 +     digitalWrite(IN1, HIGH); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, HIGH);
 +   break; 
 +   default:
 +     digitalWrite(IN1, LOW); 
 +     digitalWrite(IN2, LOW);
 +     digitalWrite(IN3, LOW);
 +     digitalWrite(IN4, LOW);
 +   break; 
 +}
 +SetDirection();
 +}
 +
 +void SetDirection(){
 +if(Direction==1){ Steps++;}
 +if(Direction==0){ Steps--; }
 +if(Steps>7){Steps=0;}
 +if(Steps<0){Steps=7; }
 +}
 +</code>
 +
 +
 +=====simple code avec lib stepper =====
 +<code c+>
 +#include <Stepper.h>
 +const int stepsPerRevolution = 32*64;  
 +
 +// (step,1N2,1N4,1N3,1N1)
 +Stepper myStepper(stepsPerRevolution, 9, 11, 10, 8);
 + 
 +void setup() {    }
 + 
 +void loop() {
 +    myStepper.setSpeed(10);  //vitesse entre 0 et 15
 +
 +    // 100 step = 2048 
 +    myStepper.step(2048);
 +    delay(1500);
 +    myStepper.step(-2048);
 +    delay(1500);
 +}
 +
 +
 +</code>
 ===== StepperMotor LIB ===== ===== StepperMotor LIB =====
 +  * Creer un dossier StepperMotor dans /User/..../Arduino/libraries
 +  * copier StepperMotor.h et StepperMotor.cpp dedans
 +
 <code cpp> <code cpp>
 +// StepperMotor.h
 #ifndef Stepper_h #ifndef Stepper_h
 #define Stepper_h #define Stepper_h
/home/resonancg/www/wiki/data/attic/materiel/uln2003/accueil.1521126200.txt.gz · Dernière modification: 2018/03/15 16:03 de resonance