Olá. Sou iniciante em arduino e estou fazendo um protótipo com um joystick e uma placa com 4 reles.
Já desenvolvi 4 funções, mas estou apanhando em uma.
Qdo o valor do eixo x estiver em zero (ou próximo dele, < que 100, por exemplo) eu quero q ele ligue o rele. Num segundo toque (novamente qdo o eixo x for igual a zero), preciso q ele desligue e assim sucessivamente. Já tente várias formas, mas não obtive o resultado desejado.
Meu código está assim:
int X_axis = A0;
int Y_axis = A1;
int Z_axis = 2; //pressionar botão
int x = 0;
int y = 0;
int z = 0;
int var1 = 1000;
int var2 = 1000;
int var3 = 1000;
int var4 = 1000;
int w = 0;
void setup()
{
Serial.begin(9600);
pinMode(X_axis, INPUT);
pinMode(Y_axis, INPUT);
pinMode(Z_axis, INPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(7,OUTPUT);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
digitalWrite(7, HIGH);
}
void loop()
{
x = analogRead(X_axis);
y = analogRead(Y_axis);
z = digitalRead(Z_axis);
w = analogRead(w);
{
if (x < 10 && var3 == 1000)
{
var3 = 0;
var4 = 1;
} // end if
if (var3 == 0)
{
digitalWrite(10,LOW);
}
// delay (2000);
if (x < 10 && var3 == 0 && var4 == 1)
{
var4 = 0;
var3 = 1000;
}
if (var4 == 0)
{
digitalWrite(10,HIGH);
}
}
Da forma acima, o rele armar, mas desarma em seguida.
Agradeço quem puder me dar uma luz.