Caros amigos, estou tentando fazer um projeto de um estacionamento com arduino , e estou tendo algums dificuldades.
O projeto é o seguinte :quando apertar um botão o arduino liga um motor que leva o carro até a vaga livre , porem to com dificuldade de o motor parar quando o micro for acionado pois são 6 vagas e temos eixo x,y,e z ou seja são 2 linhas 3 colunas de vagas sobrepostas.
Como faço para arduino ligar o motor até por exemplo vaga 9 ,aperto o botão o arduino liga o motor do x até o micro da terceira coluna , ai desliga x e liga y sobe até o micro da terceira linha ai bate no micro desliga y e liga z ai baté no micro z deliga z .
vai o codigo ai
int microref=5;
int microx1=22;
int microx2=23;
int microx3=8;
int microy1=9;
int microy2=10;
int microz1=11;
int microz2=12;
int motorxe=2;
int motorxd=3;
int motorye=4;
int motoryd=6;
int motorze=7;
int motorzd=A5;
int led=13;
int m1 =22;
void setup() {
pinMode(motorxe,OUTPUT);
}
void loop() {
digitalWrite(motorxe,HIGH);
delay(1000);
digitalWrite(motorxe,LOW);
delay(1000);
digitalWrite(motorye,HIGH);
delay(1000);
digitalWrite(motorye,LOW);
delay(1000);
}
minha duvida é como faço para poder parar o motor x quando o mesmo bater no fim de curso ?
será que alguem pode me ajudar
Tags:
DG,
veja este exemplo de código
Rui
int microref=5;
int microx1=22;
int microx2=23;
int microx3=8;
int microy1=9;
int microy2=10;
int microz1=11;
int microz2=12;
int motorxe=2;
int motorxd=3;
int motorye=4;
int motoryd=6;
int motorze=7;
int motorzd=A5;
int led=13;
int m1 =22;
//---------------------------- Setup
void setup()
{
pinMode(motorxe,OUTPUT);
pinMode(microx1,INPUT_PULLUP);
}
//---------------------------- Volta
void Volta()
{
; // Escreve aqui a rotina pra o motor voltar
}
//---------------------------- loop
void loop()
{
if (microx1 == 1) // Se o switch tiver fechado faz as proximas instruções
{
digitalWrite(motorxe,HIGH); // Ligue o motor
}
else // Caso contrário faça as proximas instruçoes
{
digitalWrite(motorxe,LOW); // Desligue o motor
delay(1000); // Espere 1 segundo ?
Volta();
}
}
Faz isso:
if(digitalRead(microx) == 1) {
digitalWrite(motorx,LOW);
}
Espero ter ajudado,
'Eiju
Celso,
deslize meu, nem testei este code.
Obrigado pela correção
Rui
Olá novamente:
Deixa eu te dar algumas dicas iniciais:
Na declaração das variáveis, comentar cada função de cada variável. Para você pode parecer obvio que o microx1 vai conter o tamanho do x do motor 1 que é o primeiro de tráz pra frente.
No setup(), você terá que definir a função de cada pino do Arduíno.
Após, definir a situação inicial para os pinos de saída.
No loop(), mesma coisa, comentarios nunca são demais. Entendi que você liga e desliga um dos motores, depois liga e desliga outro motor.
Parece que esta parte funciona corretamente.
Pense que o Arduino deverá receber algum sinal sempre que você quizer que ele altere o comportamento. Portanto, na sua bandeija do carro deverá ter 2 sensores certo?
Também estou entendento que você não precisa que a velocidade vá diminuindo a medida que o motor chega ao seu destino, ou seja: ao acionar o sensor, o motor para imediatamente.
Incluir a entrada do botão que fará o arduíno guardar o carro. Como fará para retirar algum carro específico?
Entendi que tem 6 motores, é isso mesmo?
Por favor, esclareça as dúvidas atualizando o seu post.
Muito obrigado,
'Eiju
Oi Diego, bom dia.
Algum resultado?
Ruo
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por