Boa noite pessoal.

Seguinte, sou novo no Arduíno e estou fazendo uma maquete pra faculdade, e estou tendo problema em fazer o meu portão eletrônico que consiste em um Motor de Passo 28BYJ-48 com um drive ULN2003, um Buzzer Passivo e um LED normal.

Estou utilizando 2 Push Button, pra fazer ele funcionar sentido horário e anti horário, ate o momento estou conseguindo fazer o motor de passo funcionar nos sentidos que eu quero, meu problema esta em fazer o Buzzer  e o LED junto com o motor de passo, estilo entrada e saída de caminhão .

O LED esta funcionando só em um sentido, mas ele demora pra piscar, eu gostaria que eles piscasse mais rápido, e o buzzer só funciona quando o motor de passo para de funcionar.

Agradeço desde já quem poder me ajudar.

Script ate o momento


#include <Stepper.h>
int pinobotao_ah = 7; //Porta botao sentido anti-horario
int pinobotao_h = 6; //Porta botao sentido horario
int leitura = 0; //Armazena o valor lido do botao horario
int leitura2 = 0; //Armazena o valor lido do botao anti-horario

int ledPin = 8; // LED conectado ao pino digital 5
int value = LOW; // último valor do LED
long previousMillis = 0; // último momento que o LED foi atualizado
long interval = 1000; // tempo de transição entre estados (milisegundos)

const int stepsPerRevolution = 500;
const int buzzer = 9; //pino em que o buzer será ligado

// Inicializa a biblioteca utilizando as portas de 8 a 11 para
// ligacao ao motor
Stepper myStepper(stepsPerRevolution, 10, 11, 12, 13);

void setup()
{
pinMode(pinobotao_h, INPUT);
pinMode(pinobotao_ah, INPUT);
pinMode(ledPin, OUTPUT); // configura o pino digital como saída
myStepper.setSpeed(60); //Determina a velocidade do motor
//Definindo o pino buzzer como de saída.
pinMode(buzzer, OUTPUT);
}

void loop()
{
unsigned long currentMillis = millis(); //Tempo atual em ms

//Gira o motor no sentido horario
leitura = digitalRead(pinobotao_h);
if (leitura != 0)
{

//Gira o motor no sentido horario a 90 graus
for (int i = 0; i <= 3; i++)
{
myStepper.step(-2000);
if (millis() - previousMillis > interval)
{
previousMillis = millis(); // lembre-se do último tempo que piscamos o LED

// se o LED está apagado, acenda-o e vice-versa.
if (value == LOW)

value = HIGH;

else

value = LOW;


digitalWrite(ledPin, value);
}
}

//Ligando o buzzer com uma frequencia de 1500 hz.
tone(buzzer, 1500);
delay(500); //aguarda um pouco e desliga o buzzer

//Desligando o buzzer.
noTone(buzzer);
delay(500);
}

//Gira o motor no sentido anti-horario
leitura2 = digitalRead(pinobotao_ah);
if (leitura2 != 0)
{
//Gira o motor no sentido anti-horario a 90 graus
for (int i = 0; i <= 3; i++)
{
myStepper.step(2000);
}

//Ligando o buzzer com uma frequencia de 1500 hz.
tone(buzzer, 1500);
delay(500); //aguarda um pouco e desliga o buzzer

//Desligando o buzzer.
noTone(buzzer);
delay(500);

}
}

Exibições: 378

Responder esta

Respostas a este tópico

Oi FAMP, boa noite.

Procure evitar de colar códigos na área de texto, dificulta o entendimento, a navegação no tópico 

e perde a formatação.

Veja este fluxograma do seu programa

e tente entender porque ele não funciona da forma que você quer.

Rui

Anexos

Grande Prof RUI ! 

Oh mestre dos fluxogramas, gostaria de ver uma aula sua no Youtube sobre Fluxogramas...

Seu discípulo ficaria eternamente agradecido. 

Grande abraço ! 

(Gostou do desafio ?) 

Conhece Khan Academy ?

https://www.khanacademy.org/computing/computer-science

https://www.khanacademy.org/computing/computer-programming

https://www.khanacademy.org/computing/hour-of-code/hour-of-code-for...

 

Oi JG, bom dia,

Obrigado pelo elogio e pela consideração.

Sabemos que você é um excelente professor, e que tem muito contribuído com esta 

comunidade através dos seu posts sobre novas tecnologias

.

Realmente eu acho que as escolas deveriam primeiro ensinar o uso de fluxogramas e

depois ensinar programar.

Acho que o fluxograma nos dá uma fotografia do programa.

Com ele conseguimos detectar uma serie de equivoco, que com linhas de programa as

vezes \passam despercebidos pela nossa mente.

Ok, vou avaliar se tempo competência para a área do ensino, e então 

montar um roteiro para o uso de flowcharts

Achei bem interessantes os links que você postou.

Rui

Obrigado Grande RUI ! 

Ficaremos aguardando a sua aula !

Você sabe que tem a veia de professor também ! Modéstia sua !

Grande abraço do amigo. 

Gustavo 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço