Galera estou precisando de ajuda com um trabalho, já fiz o programa mais de 100 vezes e da errado não sei mais o que fazer!
será que poderiam me ajudar?
Por favor .
//Declaração de Bibliotecas
//Declaração de Variaveis
//LETCH
int D0=10;
int D1=11;
int D2=12;
int D3=13;
int LEU1=3;
//****//
int BOTAO=2;
int LDR=A0; //Atribuido o pino PC5(analogica)ao LDR
int D4=4;
int D5=5;
int D6=6;
int D7=7;
int EN=8;
int RS=9;
int SAIDA = 0;
int QSAIDA = 13;
int i = 0;
int x = 0;
int a = 0;
int VetPin[]={D0, D1, D2, D3, D4, D5, D6, D7, EN, RS, LEU1, LDR};
int Horario[] = {0x53,0x35, 0x45,0x54, 0x4E,0xE4, 0x54,0x45, 0x49,0x94, 0x44,0x44, 0x4F,0xF4, 0x20,0x02, 0x48,0x84, 0x4F,0xF4, 0x52,0x25, 0x41,0x14, 0x52,0x25, 0x49,0x94, 0x4F,0xF4};
// S E N T I D O H O R A R I O
int AntHora[] = {0x53,0x35, 0x45,0x54, 0x4E,0xE4, 0x54,0x45, 0x49,0x94, 0x44,0x44, 0x4F,0xF4, 0x20,0x02, 0x41,0x14, 0x4E,0xE4, 0x54,0x45, 0x49,0x94, 0x48,0x84, 0x4F,0xF4, 0x52,0x25, 0x41,0x14};
// S E N T I D O A N T I H O R A R
int CONTADOR = 32;
int SENTIDO=1;
int HOR[]={B0001,B0010,B0100,B1000}; //Valor que liga a Bobina 1
int ANT[]={B1000,B0100,B0010,B0001}; //Valor que liga a Bobina 4
float Motor = 1.8;
void setup()
{
for(SAIDA = 0; SAIDA < QSAIDA; SAIDA++)
pinMode (VetPin[SAIDA],OUTPUT);
pinMode (BOTAO, INPUT);
INILCD();
}
void loop()
{
SENTIDO = digitalRead (BOTAO);
if (SENTIDO == HIGH)
{
Horario[x];
clrlcd();
for(x = 0; x < CONTADOR; x++)
{
PORTD = Horario[x];
wrlcd();
delay(2);
}
for (x = 0; x < 50; x++)
{
horario();
PORTB=HOR[x];
wrU1();
x = x * 4;
delay (100);
}
}
else
{
clrlcd();
for (x = 0; x < CONTADOR; x++)
{
PORTD = AntHora[x];
wrlcd();
delay (2);
}
for (x = 0; x < 50; x++)
{
antihorario();
PORTB = ANT [x];
wrU1();
x = x / 4;
delay (100);
}
}
}
void INILCD()
{
PORTD = 0x28;
wrlcd();
PORTD = 0x82;
wrlcd();
PORTD = 0x33;
wrlcd();
PORTD = 0x33;
wrlcd();
PORTD = 0x32;
wrlcd();
PORTD = 0x23;
wrlcd();
PORTD = 0x0E;
wrlcd();
PORTD = 0xE0;
wrlcd();
PORTD = 0x01;
wrlcd();
PORTD = 0x10;
wrlcd();
}
void wrU1()
{
digitalWrite (LEU1, HIGH);
digitalWrite (LEU1, LOW);
delay (2);
}
void wrlcd()
{
digitalWrite (EN, HIGH);
digitalWrite (EN, LOW);
delay (2);
}
void clrlcd()
{
digitalWrite (EN, LOW);
delay (2);
digitalWrite (RS, LOW);
PORTD = 0x28;
wrlcd();
PORTD = 0x82;
wrlcd();
digitalWrite (RS, HIGH);
}
void horario()
{
for (x = 0; x < 4; x++)
// {
wrU1();
digitalWrite (D0, LOW);
digitalWrite (D1, HIGH);
digitalWrite (D2, LOW);
digitalWrite (D3, HIGH);
delay (250);
wrU1();
digitalWrite (D0, LOW);
digitalWrite (D1, HIGH);
digitalWrite (D2, HIGH);
digitalWrite (D3, LOW);
delay (250);
wrU1();
digitalWrite (D0, HIGH);
digitalWrite (D1, LOW);
digitalWrite (D2, HIGH);
digitalWrite (D3, LOW);
delay (250);
wrU1();
digitalWrite (D0, HIGH);
digitalWrite (D1, LOW);
digitalWrite (D2, LOW);
digitalWrite (D3, HIGH);
delay(250);
//}
}
void antihorario()
{
for (x = 0; x < 4; x++)
//{
wrU1();
digitalWrite (D0, HIGH);
digitalWrite (D1, LOW);
digitalWrite (D2, LOW);
digitalWrite (D3, HIGH);
delay (250);
wrU1();
digitalWrite (D0, HIGH);
digitalWrite (D1, LOW);
digitalWrite (D2, HIGH);
digitalWrite (D3, LOW);
delay (250);
wrU1();
digitalWrite (D0, LOW);
digitalWrite (D1, HIGH);
digitalWrite (D2, HIGH);
digitalWrite (D3, LOW);
delay (250);
wrU1();
digitalWrite (D0, LOW);
digitalWrite (D1, HIGH);
digitalWrite (D2, LOW);
digitalWrite (D3, HIGH);
delay(250);
//}
}