carlosvolt
Published © LGPL

Stepper motor control x bluetooth and app

In this tutorial we will see a circuit, which controls a stepper motor, with an application made in app inventor, using bluetooth, and the h

IntermediateProtip107
Stepper motor control x bluetooth and app

Things used in this project

Story

Read more

Code

Source code

C/C++
Source code
#define pin2  2
#define pin3  3
#define pin4  4
#define pin5  5
#define retardo 2   

char caracter;
String cadena; 
float pasos = 0;
int datos_serial = 0;

void setup() {
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT); 
  pinMode(pin4, OUTPUT); 
  pinMode(pin5, OUTPUT);
  Serial.begin(57600); //Velocidad del módulo bluetooth
}

void loop() {
  while (Serial.available()) {  
    delay(3);                  
    char c = Serial.read(); 
    cadena += c;        
  }
 
  if (cadena.length() >0) { 
  
   Serial.println(cadena.toInt());  
    datos_serial = cadena.toInt();
    
  }
  while(datos_serial>pasos){
             
         atras();
         delayMicroseconds(40);
         pasos = pasos + 1;
    
  }
 while(datos_serial<pasos){
         
          adelante();
          delayMicroseconds(40);
          pasos = pasos - 1;
    
  }
  
  if (cadena == "SET"){
    pasos = 0;
    datos_serial = 0;
    }
 
  cadena=""; 
}
void paso1(){
  digitalWrite(pin2, HIGH); 
  digitalWrite(pin3, HIGH); 
  digitalWrite(pin4, LOW); 
  digitalWrite(pin5, LOW); 
}
void paso2(){
  digitalWrite(pin2, LOW); 
  digitalWrite(pin3, HIGH);
  digitalWrite(pin4, HIGH); 
  digitalWrite(pin5, LOW); 
}
void paso3(){
  digitalWrite(pin2, LOW); 
  digitalWrite(pin3, LOW); 
  digitalWrite(pin4, HIGH);
  digitalWrite(pin5, HIGH); 
}
void paso4(){
  digitalWrite(pin2, HIGH); 
  digitalWrite(pin3, LOW); 
  digitalWrite(pin4, LOW); 
  digitalWrite(pin5, HIGH); 
}
void pasoApagado(){
  digitalWrite(pin2, LOW); 
  digitalWrite(pin3, LOW); 
  digitalWrite(pin4, LOW); 
  digitalWrite(pin5, LOW); 
}


void adelante(){
  paso1();
  delay(retardo);
  paso2();
  delay(retardo);
  paso3();
  delay(retardo);
  paso4();
  delay(retardo);
}

void atras(){
  paso3();
  delay(retardo);
  paso2();
  delay(retardo);
  paso1();
  delay(retardo);
  paso4();
  delay(retardo);
}

Credits

carlosvolt
34 projects • 4 followers

Comments