Salve a tutti.
Ho un quesito da porre per chi avrà voglia di rispondermi.
Ho costruito con arduino una semplice lampada strobo per verificare la fasatura di un motore da modellismo che fa uso di una accensione CDI. In pratica prendo il segnale dal sensore di hall sul volano e tramite interrupt sul pin 2 faccio accendere una serie di led collegati al pin 13 a mezzo mosfet.
const byte ledPin = 13;
volatile int b=0;
const byte interruptPin = 2;
volatile byte state = LOW;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(interruptPin, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(interruptPin), blink, FALLING);
// Serial.begin(9600);
}
void loop() {
digitalWrite(ledPin, HIGH);
//flash = analogRead(sensorPin);
// flash = map(flash, 0, 1023, 0, 255);
// Serial.println(flash);
}
void blink() {
for ( b = 0; b <= 50; b++) {
digitalWrite(ledPin, LOW);
}
for ( b = 0; b <= 100; b++) {
digitalWrite(ledPin,HIGH);
}
la lampada funziona bene, direi, con un bel flash deciso, ma purtroppo l'interrupt scatta anche per interferenze elettromagnetiche.
La cosa strana è che anche ponticellando il pin 2 ( interrupt) con la terra GND il flash scatta lo stesso.
come è possibile tutto questo?
Saluti
Luca