CONTROLE REMOTO COM ARDUINO
Página 1 de 1
CONTROLE REMOTO COM ARDUINO
- CLIQUE AQUI:
- //quando liga controle remoto acende led pino 3
//se virar manopla pra esquerda acende led pino 2
//se virar manopla para direita acende led pino 4
//quando desliga controle apaga led pino 3
//por jhugor
//curso mestres do arduino / marlon
unsigned long number; //define variavel
unsigned long number2; //define variavel
unsigned long tesq = millis(); //define variavel
unsigned long tdir = millis(); //define variavel
byte ligesq = 0;
byte ligdir = 0;
void setup() {
pinMode(8, INPUT); //pino leitura manopla
pinMode(9, INPUT); //pino leitura acelerador
pinMode(2, OUTPUT); //pino led
pinMode(3, OUTPUT); //pino led
pinMode(4, OUTPUT); //pino led
pinMode(5, OUTPUT); //pino led
pinMode(6, OUTPUT); //pino led
pinMode(7, OUTPUT); //pino led
Serial.begin(9600);
}
void loop() {
number = pulseIn(8, HIGH); //le pulso no pino 8
Serial.print("number ");
Serial.println(number);
number2 = pulseIn(9, HIGH); //le pulso no pino 9
Serial.print("number2 ");
Serial.println(number2);
Serial.println(" ");
if (number != 0) { //se controle estiver ligado
if (number > 1200 && number < 1500 ) //se manopla posicao central
{
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 0);
} else {
if (number < 1200) { //se pra esquerda
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 0);
} else { // se pra direita
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
}
}
if (number2 > 1400 && number2 < 1500 ) //se manopla posicao central
{
digitalWrite(5, 0);
digitalWrite(6, 1);
digitalWrite(7, 0);
} else {
if (number2 < 1399) { //se pra esquerda
if (ligesq == 0) {
if ((millis() - tesq) > 500) {
tesq = millis();
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
ligesq = 1;
}
} else {
if ((millis() - tesq) > 500) {
tesq = millis();
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
ligesq = 0;
}
}
} else { // se pra direita
if (ligdir == 0) {
if ((millis() - tdir) > 500) {
tdir = millis();
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
ligdir = 1;
}
} else {
if ((millis() - tdir) > 500) {
tdir = millis();
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
ligdir = 0;
}
}
}
}
} else { //se controle estiver desligado
digitalWrite(3, 0);
digitalWrite(6, 0);
}
//delay(500);
}
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|