Académique Documents
Professionnel Documents
Culture Documents
h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); // Inicializa o display n
o endereco 0x27
void setup()
{
pinMode(saidaDePulsos, OUTPUT); // Configuracao do pino como saida (pulsos)
pinMode(saidaDirecao, OUTPUT); // Configuracao do pino como saida (direcao)
pinMode(botaoSelecao, INPUT); // Configuracao do pino de entrada da Seleca
o
/*pinMode(botaoAumenta, INPUT); // Configuracao do pino de entrada do Aume
nta
pinMode(botaoDiminui, INPUT); // Configuracao do pino de entrada do Dimunu
i */
pinMode(botaoAvanca, INPUT); // Configuracao do pino de entrada do Avanca
pinMode(botaoRetrocede, INPUT); // Configuracao do pino de entrada do Retroc
ede
lcd.begin (16,2);
Serial.begin(9600); //<<<<<<--------------------- APAGUE DEPOIS
}
void loop() {
if (pausaDisplay == 1) {
Serial.print("Numero de pulsos:");// <<<<<<<<<<<<<<<< -----------
Apagar Tambem
Serial.println(numeroDePulsos);
Serial.print("Pausa Display: ");
Serial.println(pausaDisplay);
Serial.print("Passos: ");
Serial.println(passos);
Serial.print("Numero de pulsos: ");
Serial.println(pulsosAngulares);
//delay (1000);
pulsosFloat = numeroDePulsos;
divisaoFloat = divisao;
pulsosAngulares = (pulsosFloat / divisaoFloat);
}
//----------------Selecao de modo--------------------//
estadoBotaoSelecao = digitalRead(botaoSelecao);
if (estadoBotaoSelecao == LOW) { estadoBotaoSelecaoAux = 1; }
if (estadoBotaoSelecao == HIGH && estadoBotaoSelecaoAux == 1) {
modo = modo + 1;
estadoBotaoSelecaoAux = 0;
}
if (modo > 1) {modo = 0;}
//-------------Fim da Selecao de modo----------------//
//----tinha codigo aqui
//-----------------Funcao Avanca--------------------//
//**************** modo Programacao (modo ZERO)
if (modo == 0) {
estadoBotaoAvanca = digitalRead(botaoAvanca);
if (estadoBotaoAvanca == LOW) { estadoBotaoAvancaAux = 1; avancaAuto = 0;}
if (estadoBotaoAvanca == HIGH && estadoBotaoAvancaAux == 1) {
if (modo == 0 && divisao <=399) {divisao = divisao + 1;}
estadoBotaoAvancaAux = 0;
}
}
if (modo == 1) {
estadoBotaoAvanca = digitalRead(botaoAvanca);
if (estadoBotaoAvanca == LOW) { estadoBotaoAvancaAux = 1;}
if (estadoBotaoAvanca == HIGH && estadoBotaoAvancaAux == 1) {
ciclo = ciclo + 1;
digitalWrite(saidaDirecao, HIGH); // comanda o sentido de direcao
passos = 800; // <------------------ <----------------
estadoBotaoAvancaAux = 0;
}
}
//-------------Fim da funcao Avanca----------------//
//-----------------Funcao Retrocede--------------------//
if (modo == 0){
estadoBotaoRetrocede = digitalRead(botaoRetrocede);
if (estadoBotaoRetrocede == LOW) { estadoBotaoRetrocedeAux = 1; retrocedeAuto
= 0;}
if (estadoBotaoRetrocede == HIGH && estadoBotaoRetrocedeAux == 1) {
if (modo == 0 && divisao > 1) {divisao = divisao - 1;}
estadoBotaoRetrocedeAux = 0;
}
}
if (modo == 1) {
estadoBotaoRetrocede = digitalRead(botaoRetrocede);
if (estadoBotaoRetrocede == LOW) { estadoBotaoRetrocedeAux = 1;}
if (estadoBotaoRetrocede == HIGH && estadoBotaoRetrocedeAux == 1) {
ciclo = ciclo - 1;
digitalWrite(saidaDirecao, LOW); // comanda o sentido de direcao
passos = 800; // <------------------ <----------------
estadoBotaoRetrocedeAux = 0;
}
}
//-------------Fim da funcao Retrocede----------------//
if (passos > 0) {
digitalWrite(saidaDePulsos, HIGH); // sets the LED on
delayMicroseconds(400);
//delay(1); // waits for a second
digitalWrite(saidaDePulsos, LOW); // sets the LED off
delayMicroseconds(400);
//delay(1); // waits for a second
passos = passos - 1 ;
}
if (passos == 0) { pausaDisplay = 1; }
if (passos != 0) { pausaDisplay = 0; }