Arduino: Software debouncing in functie van de interrupt...


Hi everybody!

Zo kort geleden ik was bezig met een Project waar ik maatregel de RPM van een van de wielen op mijn auto wilde, en daaruit Bereken de snelheid, bijhouden van de Driven afstand etc. met een Arduino.
Ik wilde gebruiken van een magneet en een Reed Switch naar maatregel de RPM, voor dat ik debouce het signaal uit de Reed Switch, moest omdat ik niet kon vinden een manier om debouce een signaal in interrupt functies niet die extra hardware nodig voor het debouncing van het signaal op het Internet, hier is hoe ik het signaal vanuit de Reed Switch debounced...

Software debouncing in Interrupt, door Delphiño K.M.

lange debouncing_time = 15; Debouncing tijd in milliseconden
vluchtige unsigned long last_micros;

VOID Setup {}
attachInterrupt (0, debounceInterrupt, stijgt);
}

void loop {}
}

ongeldig debounceInterrupt() {}
if((Long)(Micros() - last_micros) > = debouncing_time * 1000) {}
Interrupt();
last_micros = micros();
}
}

VOID Interrupt() {}
Iets doen
}

Kun je ook "Do Something" in de main functie, in plaats van het aanroepen van een tweede functie die dan iets doet, ik vond het beter deze manier...

Opmerking: Ik heb alleen geprobeerd dit op een Arduino Mega (ATmega1280), met Arduino 0022.
Ook dit is niet een perfecte oplossing, de interrupt-functie is genoemd meerdere keren, de volgenden oproepen stil, in de volgende 15ms gewoon genegeerd, maar he, het doet het werk, dus schroef het!

Nou, dat is het zo'n beetje, ik hoop dat dit helpt iemand...

P.S. Dit is mijn eerste Instructable, dus als je niet iets leuk om te zeggen, niet helemaal zeggen iets, alhoewel correcties, verbeteringen, etc. zijn natuurlijk altijd welkom...

Gerelateerde Artikelen

Maken van interne Interrupt In Arduino

Maken van interne Interrupt In Arduino

Interrupt is een proces waar u bepaalde tusk via interrupt functie zonder onderbreking van uw continue programma kunt voltooien. Stel bijvoorbeeld dat u wilt 2 uur slapen en daarna wil u naar uw werk. Nu, is het belangrijk om wakker na 2 uur om naar
De NerdClock: Een RGB-Binary Clock [Arduino Software]

De NerdClock: Een RGB-Binary Clock [Arduino Software]

IntroductieBinaire klokken zijn een werkelijk koele manier om aan te tonen van de tijd op een mysterieuze manier. En voor degenen die niet weten hoe om te lezen dat soort klok is een eenvoudige, maar effectieve manier omhoog uw nerdiness niveau hemel
De ESP8266-12E programmeren met behulp van de Arduino software/IDE

De ESP8266-12E programmeren met behulp van de Arduino software/IDE

De ESP8266 is als een Arduino met een ingebouwde WiFi, de MCU en WiFi circuits zijn in dezelfde chip. Overwegen Arduino + WiFi Shield = ESP8266. In dit instructable ik zal verstrekken een stap voor stap handleiding te bevoorraden en programmering van
Instellen van de Arduino Software voor Atmega328P met interne Crystal op Breadboard

Instellen van de Arduino Software voor Atmega328P met interne Crystal op Breadboard

een breadboard Arduino vergt een Atmega328P-controller voor deze instructies. Opmerking de "P" aan het einde van de naam. U kunt een Atmega328 niet gebruiken, omdat het heeft een iets ander apparaat id-nummer. Het vergt een andere forum configur
Hoe te downloaden van de Arduino Software voor Windows / Linux / MacOS

Hoe te downloaden van de Arduino Software voor Windows / Linux / MacOS

Dit instructable helpt u bij het downloaden van de Arduino Software (Arduino IDE) voor Windows, Linux, Mac OS.Stappen te volgen helpt u bij het downloaden van de Arduino SoftwareStap 1: Type Arduino in GoogleStap 2: Selecteer tabblad downloaden in Ar
De ESP8266 WeMos-D1R2 programmeren met behulp van de Arduino software/IDE

De ESP8266 WeMos-D1R2 programmeren met behulp van de Arduino software/IDE

In dit Instructable begeleidt ik u door de benodigde stappen voor het installeren, configureren en het bestuur van de WeMos-D1R2 met behulp van de Arduino IDE program.WeMos-D1R2 is dat een ESP8266-12 WiFi ingeschakeld microprocessor eenheid gebaseerd
Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Honey, I Shrunk de Arduino: verplaatsen van Arduino naar ATtiny en schrijven van uw code in zuivere AVR-C

Arduino is een geweldig hard- en softwareplatform, maar met alle functies is het ook een beetje opgeblazen en vaak hoeft u alleen een klein deel van alle functies. Uw project vereist soms om kleinere en goedkopere apparaten te hebben. Wat je misschie
Stem aan Arduino: Controle LEDs met behulp van spraakherkenning MIT

Stem aan Arduino: Controle LEDs met behulp van spraakherkenning MIT

Hallo, iedereen!!! Het is al enige tijd die ik niet had bijgewerkt mijn post hier. Vandaag wil ik delen met u kerels een experiment die ik heb gemaakt. I 'm gonna controle LEDs met behulp van spraakherkenning voor MIT app uitvinder. Oh voordat ik het
Arduino "Knipperen praten" met behulp van Charlieplexing

Arduino "Knipperen praten" met behulp van Charlieplexing

Dit project kan worden geclassificeerd als een apparaat van AAC (alternatief en Augmentative communicatie), die worden gebruikt als een communicatiemiddel voor mensen die lijden aan slopende ziekten zoals ALS en dergelijke, die leiden tot volledige v
Arduino frequentie synthesizer met behulp van 160MHz Si5351

Arduino frequentie synthesizer met behulp van 160MHz Si5351

Dit Instructable beschrijft de bouw en werking van een zelfstandige frequentie synthesizer geschikt voor gebruik als een signaalgenerator, of voor gebruik als de lokale oscillator in een amateur band zender of ontvanger.Mijn prototype was gebouwd op
InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace - een Arduino gebaseerde GPS gegevens vastleggen van fitness armband met bluetooth en een iOS-app

InPace is een Arduino gebaseerde fitness armband, met een begeleidende iOS applicatie, die live kan feedback over hoe de gebruiker pacing zelf tijdens een run, lopen of fietsen route. Zij sporen GPS-locaties en huidige tijden de huidige prestaties va
Arduino gebaseerde radarsysteem met ontvangstbevestiging van de TARGET

Arduino gebaseerde radarsysteem met ontvangstbevestiging van de TARGET

RADAR is een object-detectiesysteem dat radiogolven gebruikt om te bepalen van het bereik, de hoogte, de richting, of de snelheid van objecten. Radarsystemen komen in een verscheidenheid van maten en hebben verschillende prestatiespecificaties. Sommi
Stripboard Arduino schild voor het programmeren van ATtiny45 en ATtiny85

Stripboard Arduino schild voor het programmeren van ATtiny45 en ATtiny85

dit instructable (ingevoerd in de wedstrijd van de uitdaging van de Arduino - u kunt stemmen voor het bovenstaande) toont hoe te maken van een klemmenstrook Arduino schild voor het programmeren van ATtiny45 of ATtiny85 microcontrollers met een Arduin
Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Controle Arduino RC auto met behulp van android telefoon & 1Sheeld

Als u besturen RC auto met uw Androïde slimme telefoon wilt zonder met behulp van Bluetooth-module en programmering androïde toepassing, kunt u 1Sheeld gebruiken in plaats van hen.1Sheeld bestaat in principe uit twee delen. Het eerste deel is een sch