Olá amigos.
Estou bolando um projeto na universidade e estou tomando um pau pro arduino. O projeto consiste num otimizador de joystick em simuladores de carros de corrida.
O sistema é bem simples, faz a leitura dos pedais (embreola e freio) e do manete de troca das marchas.
O código está abaixo:
void setup()
{
pinMode(14, INPUT); //A0 sendo declarado como pino digital
pinMode(15, INPUT); //A1 sendo declarado como pino digital
pinMode(16, INPUT); //A2 sendo declarado como pino digital
pinMode(17, INPUT); //A3 sendo declarado como pino digital
pinMode(18, INPUT); //A4 sendo declarado como pino digital
pinMode(19, INPUT); //A5 sendo declarado como pino digital
pinMode(6, INPUT);
pinMode(7,INPUT);
digitalWrite(6, HIGH); //ativando o pull-up do pino 6
digitalWrite(7, HIGH); //ativando o pull-up do pino 7
digitalWrite(14, HIGH); //ativando o pull-up do pino A0
digitalWrite(15, HIGH); //ativando o pull-up do pino A1
digitalWrite(16, HIGH); //ativando o pull-up do pino A2
digitalWrite(17, HIGH); //ativando o pull-up do pino A3
digitalWrite(18, HIGH); //ativando o pull-up do pino A4
digitalWrite(19, HIGH); //ativando o pull-up do pino A5
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
int leituraup=digitalRead(14);
int leituradown=digitalRead(15);
int leiturafreio=digitalRead(7);
int leituraembre=digitalRead(6);
if (leituraup==0 && leiturafreio==1 && leituraembre==1) {digitalWrite(9,1); delay(y_tempo);}
else {digitalWrite(9,0);}
while(leiturafreio==0){
if(leituradown==0 && leituraembre==0){digitalWrite(10,1); delay(z_tempo);}
else{digitalWrite(10,0);}
}
}
As questões começam aqui:
Está certo a maneira de declarar as portas analógicas como digitais?
a outra dúvida é a seguinte:
Preciso fazer uma interface com o usuário. A ideia era criar um menu em um lcd 16x2 onde:
ligado o sistema imprimiria na tela: João foi a roma
Maria ira em breve
a primeira tela, após a inicialização, imprimiria o status do sistema. Ex:
UP DOWN GEAR
ON ON N
(aqui o ideal seria colocar uma chave de tres posições, do tipo "chave de caça" onde o meio seria on pra ambos, pra baixo on pro down e pra cima on pro up)
A segunda tela apareceria o delay y_tempo citado na programação.
A quarta tela apareceria o delay z_tempo que tbm aparece lá.
Seriam 4 botões: um avança o menu, outro retorna o menu. Depois um aumenta o valor dos delays (dependendo a tela em que se encontra) e o outro baixa o valor)
pressionando os dois botões do menu juntos o sistema sincronizaria em N (neutro) a marcha que está engatada.
pressionando os dois botões da variável juntos ele resetaria..
Por onde começar???? auhauhauha
Abraços!!!
Tags:
Victor, obrigado.
Estou trabalhando já com o I2C, achei que fosse BEM mais dificil. Está indo aos poucos, creio que dentro de um mês ou dois eu já apresente novidades por aqui. Não seria bem um TCC, sou da engenharia mecânica e não da computação. Seria apenas um desafio. Mas mesmo assim, muito obrigado pelas informações.
Abraços!!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por