Preciso se ajuda no code do motor de passo com 2 botões
Página 1 de 1
Preciso se ajuda no code do motor de passo com 2 botões
Ola pessoal estou precisando de ajuda no code
escrevi todo o code mas não consegui colocar as palavras para as funções dos botões
resumindo oq ele precisa fazer:
ler o botão 1 : caso negativo voltar o motor de passo ate o botão ser ativado
caso positivo ler o botão 2
ler o botão 2 : caso positivo efetuar o ciclo no motor de passo
caso negativo aguardar ate ficar positivo
segue o code que fiz faltando a descrição antes das palavras LOW e HIGH
agradeço já quem puder me ajudar
#include //incluir a biblioteca do motor de passo
const int buttonPin = 0 ; //incluir o botao no pino 0
const int buttonPin1 = 1 ; //icluir o botao no pino 1
int buttonState = 0 ; //indicar o estado em que o botao deve ficar em v
int sensorPin = A0; //ativar o pino para leitura do potenciometro
int sensorValue = 0; //indicar o valor do potenciometro
const int stepsPerRevolution = 400 ; //indicar o numero de passo que o motor usa para dar 1 volta
Stepper myStepper (stepsPerRevolution , 6,7,8,9 ) ; //incluir os pinos que o motor de passo vai ultilizar
int stepCount = 0 ; //numero de passos que o motor deu
void setup() {
pinMode ( buttonPin , INPUT ) ; //avisando que o botao e para saida
pinMode ( buttonPin1 , INPUT ) ; //avisando que o botao e para saida
Serial.begin (9600) ; //porta serial 9600
myStepper.setSpeed ( 100 ) ;
}
void loop () {
buttonState = digitalRead ( buttonPin ) ; //ler o botao
if ( buttonState ==LOW ) {
digitalWrite ( , LOW ) ; //se o botao estiver desligado deve girar anti-hotario ate ativar o botao
Serial.println ( "couterclockwise" )
myStepper.step ( -1 )
delay ( 50 )
}
else {
digitalWrite ( , HIGH ) ; //se o botao estiver ativado efetuar a leitura do proximo botao
}
buttonState = digitalRead ( buttonPin1 ) ; //ler o botao
if ( buttonState ==HIGH ) {
digitalWrite ( , LOW ) ; //se o botao estiver ativado proseguir com os comandos seguintes
{
int sensorReading = analogRead(A0); //ler o portenciometro
int motorSpeed = map(sensorReading, 0, 1023, 0, 100); //mapear e alterar dados do potenciometro
if (motorSpeed > 0) { //ditura da velocidade
myStepper.setSpeed(motorSpeed);
Serial.println("clockwise"); //girar em sentido horario na quantidade de passos definida
myStepper.step(1600);
delay(500); //tempo de espera
myStepper.setSpeed(100); //velocidade fixa para retorno
Serial.println("counterclockwise"); //gira em sentido anti-horario na quantidade de passos definida
myStepper.step(-1600);
Serial.println ( "couterclockwise" )
myStepper.step ( -1 )
delay ( 50 )
else {
digitalWrite ( , LOW ) ; //se o botao estiver desativado efetuar a leitura novamente ate ele estar ativo
}
escrevi todo o code mas não consegui colocar as palavras para as funções dos botões
resumindo oq ele precisa fazer:
ler o botão 1 : caso negativo voltar o motor de passo ate o botão ser ativado
caso positivo ler o botão 2
ler o botão 2 : caso positivo efetuar o ciclo no motor de passo
caso negativo aguardar ate ficar positivo
segue o code que fiz faltando a descrição antes das palavras LOW e HIGH
agradeço já quem puder me ajudar
#include
const int buttonPin = 0 ; //incluir o botao no pino 0
const int buttonPin1 = 1 ; //icluir o botao no pino 1
int buttonState = 0 ; //indicar o estado em que o botao deve ficar em v
int sensorPin = A0; //ativar o pino para leitura do potenciometro
int sensorValue = 0; //indicar o valor do potenciometro
const int stepsPerRevolution = 400 ; //indicar o numero de passo que o motor usa para dar 1 volta
Stepper myStepper (stepsPerRevolution , 6,7,8,9 ) ; //incluir os pinos que o motor de passo vai ultilizar
int stepCount = 0 ; //numero de passos que o motor deu
void setup() {
pinMode ( buttonPin , INPUT ) ; //avisando que o botao e para saida
pinMode ( buttonPin1 , INPUT ) ; //avisando que o botao e para saida
Serial.begin (9600) ; //porta serial 9600
myStepper.setSpeed ( 100 ) ;
}
void loop () {
buttonState = digitalRead ( buttonPin ) ; //ler o botao
if ( buttonState ==LOW ) {
digitalWrite ( , LOW ) ; //se o botao estiver desligado deve girar anti-hotario ate ativar o botao
Serial.println ( "couterclockwise" )
myStepper.step ( -1 )
delay ( 50 )
}
else {
digitalWrite ( , HIGH ) ; //se o botao estiver ativado efetuar a leitura do proximo botao
}
buttonState = digitalRead ( buttonPin1 ) ; //ler o botao
if ( buttonState ==HIGH ) {
digitalWrite ( , LOW ) ; //se o botao estiver ativado proseguir com os comandos seguintes
{
int sensorReading = analogRead(A0); //ler o portenciometro
int motorSpeed = map(sensorReading, 0, 1023, 0, 100); //mapear e alterar dados do potenciometro
if (motorSpeed > 0) { //ditura da velocidade
myStepper.setSpeed(motorSpeed);
Serial.println("clockwise"); //girar em sentido horario na quantidade de passos definida
myStepper.step(1600);
delay(500); //tempo de espera
myStepper.setSpeed(100); //velocidade fixa para retorno
Serial.println("counterclockwise"); //gira em sentido anti-horario na quantidade de passos definida
myStepper.step(-1600);
Serial.println ( "couterclockwise" )
myStepper.step ( -1 )
delay ( 50 )
else {
digitalWrite ( , LOW ) ; //se o botao estiver desativado efetuar a leitura novamente ate ele estar ativo
}
juniormontagner- Mensagens : 1
Data de inscrição : 05/08/2015
Tópicos semelhantes
» ajuda com app inventor
» Motor DC + Ponte H L293D
» Fazendo leitura do cartao e executando no servo motor
» SIM908 GPS GSM GPRS
» Ajuda na programação de um robô
» Motor DC + Ponte H L293D
» Fazendo leitura do cartao e executando no servo motor
» SIM908 GPS GSM GPRS
» Ajuda na programação de um robô
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos