Ik wil met een Arduino een viertal reed switches uitlezen. Het doel is om de omwentelingen te tellen van vier fietswielen. Om de reed switches aan te kunnen sluiten op de Arduino heb ik dit schema gemaakt: klik. Het schema bestaat uit vier keer een schakeling om contact dender te voorkomen. Verder wil ik een interupt genereren wanneer één of meerdere reed switches gesloten worden. Dit doe ik met een OR poort bestaande uit de 4 diodes en weerstand. In de interupt routine wil ik dan de switches uitlezen.
Zou dit zo goed kunnen werken? De switches worden met kabels van een meter of drie verbonden. Kan deze lengte problemen gaan geven?

Het kloppend hart van een Arduino is toch een ATmega328? Bij deze AVR kan je elke I/O-pin als interrupt-pin configureren. Elke PORT deelt dan een gezamelijke ISR. Die ISR kan nagaan welke pin de interrupt veroorzaakte.

D5 ... D8 en R9 kan je dan weglaten.
Sluit de reedcontacten dan wel aan op dezelfde poort (PORTD of PORTB). PORTC kan ook, als je er zeker van bent dat je geen analoge spanningen wil meten.

Ah, ik had begrepen dat er maximaal 1 pin als interupt pin ingesteld kon worden. Bedankt!

Edit: Kan iemand mij nog vertellen of de lange draden tussen de reed switches en deze interface nog problemen op kan leveren en hoe ik dit eventueel kan voorkomen?

[Bericht gewijzigd door wvnijnatten op (48%)]

De simpelste oplossing om storing op de draden te voorkomen is de twee draden die naar een reedswitch gaan twisten. Desnoods kan je met een coax werken, maar ik denk dat dat niet nodig is.

Ok, een coax kabeltje lijkt me wel simpele oplossing!

heheheh, dit wordt lachen met contactdender... EXACT zo'n setup (alleen elektronica ipv microcontroller) leerde mij contactdender kennen.

[Bericht gewijzigd door High met Henk op (50%)]

@Roland: Bedankt voor de link! Het is me nu een stuk duidelijker!

@Henk: Je bedoelt dat ik op deze manier nog steeds last heb van contact dender?

Een reed-contact produceert heel wat minder contactdender dan een gewoon relais of een schakelaar/drukknop. Dat is voornamelijk te danken aan de geringe massa van het bewegend onderdeel.
Op dat punt verwacht ik geen problemen met jouw schema. Hou er wel rekening mee, dat je ook een interrupt krijgt op het ogenblik dat een reed-contact opent. De ISR moet zo'n situatie kunnen herkennen, en zonodig negeren.

nou mijn TTL teller maakte sprngen van 3,4,5 terwijl ik maar 1 omwenteling deed.

dus ook een reedcontact en een magneet op en (in mijn geval) schoepenrad.

[Bericht gewijzigd door High met Henk op (32%)]