Acendendo uma lâmpada pelo Arduino - Parte 1
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(8, INPUT);
digitalWrite(8, HIGH);
}
void loop() {
byte ok = 0;
if (digitalRead(8) == LOW)
{
unsigned long tempo = millis();
while(tempo + 500 > millis());
if (digitalRead(8) == LOW) ok = 1;
}
if (ok)
digitalWrite(13, !digitalRead(13));
delay(500);
}
Verificando no Arduino se um dispositivo foi acionado - Parte2
byte LED = 13;
byte DETECT = 2;
volatile unsigned long contador;
void setup()
{
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
pinMode(DETECT, INPUT);
digitalWrite(DETECT, HIGH);
contador = 0;
attachInterrupt(0, detect, FALLING);
}
void loop()
{
unsigned long contador_loop = contador;
unsigned long mark = millis() + 100;
while (mark > millis());
if (contador > contador_loop)
{
// ligado
digitalWrite(LED, HIGH);
}
else
{
// desligado
contador = 0;
digitalWrite(LED, LOW);
}
//delay(100);
}
void detect()
{
contador++;
}
byte DETECT = 2;
volatile unsigned long contador;
void setup()
{
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
pinMode(DETECT, INPUT);
digitalWrite(DETECT, HIGH);
contador = 0;
attachInterrupt(0, detect, FALLING);
}
void loop()
{
unsigned long contador_loop = contador;
unsigned long mark = millis() + 100;
while (mark > millis());
if (contador > contador_loop)
{
// ligado
digitalWrite(LED, HIGH);
}
else
{
// desligado
contador = 0;
digitalWrite(LED, LOW);
}
//delay(100);
}
void detect()
{
contador++;
}