Sketch Magnetic Switch:
int puerto; void setup() { pinMode (2,INPUT); pinMode (12,OUTPUT); } void loop() { puerto = digitalRead (2); if (puerto == HIGH) { digitalWrite (12,HIGH); } if (puerto == LOW) { digitalWrite (12,LOW); } }
Sketch Magnetic Switch Contador:
#define MAGNECTIC_SWITCH 9 #define LED 13 int contador = 0; int val = 0; int estadoActual = 0; int estadoAnterior = 0;
void setup() { Serial.begin(9600); pinsInit(); } void loop() { if(isNearMagnet()) { turnOnLED(); } else { turnOffLED(); } delay(10);
estadoActual = digitalRead(9); if (estadoAnterior != estadoActual) // ha habido un cambio de estado { contador++; // cuenta los cambios de estado int validarPar = contador % 2; // solo queremos los cambios pares if (validarPar != 1) // si el cambio es par { val=val+1;//ponga aqui su codigo } estadoAnterior = estadoActual; } Serial.println(val);
} void pinsInit() { pinMode(MAGNECTIC_SWITCH, INPUT); pinMode(LED,OUTPUT); }
boolean isNearMagnet() { int sensorValue = digitalRead(MAGNECTIC_SWITCH); if(sensorValue == HIGH) { return true; } else { return false; }
} void turnOnLED() { digitalWrite(LED,HIGH);
} void turnOffLED() { digitalWrite(LED,LOW); }