Met een
library die debouncen wel erg makkelijk maakt

, geen lelijke delay en keuze uit high/low/rising/falling.
Ik ben bezig een wandcontactdoos en plafondverlichting schakelbaar te maken via de computer en netwerk. Goedkoopste zou een KlikAanKlikUit-setje zijn, maar ik ben geen fan van de onbeveiligde signalen en ik wil het wat uitgebreider hebben. Ik leg mijn opzet uit maar ik ben benieuwd of iemand nog tips heeft.
De wandcontactdoos zal een elektrische kachel schakelen. Deze trekt ingeschakeld ongeveer 9 ampère. Bij het in- en uitschakelen zal die stroom een stuk hoger zijn vanwege de ventilator erin. Ik heb daarom in plaats van een mechanisch relais een solid state relais tot 40A. Die heeft so wie so het voordeel van schakeling op het spannings-nulpunt.
De plafondverlichting maakt gebruik van een hotelschakeling die ik wil uitbreiden als kruisschakeling. Hiervoor heb ik een mechanisch bistabiel double pole, double throw relais. Dit is als het ware twee NC/NO relais in één, die echter latchen en dus op de laatste stand blijven staan bij afwezigheid van input.
Dit relais is aan te sluiten als kruisschakelaar. Het schakelen laat ik over aan een Arduino die de laatste positie kan onthouden en zo kan schakelen tussen de ene of de andere stand.
Ik wil echter ook een absolute lichtstand kunnen aangeven: "aan" en "uit". Aangezien de verlichting ook via andere schakelaars geschakeld kan worden is het bijhouden van de positie van het relais onvoldoende. Daarom wil ik meten of er stroom loopt door de schakeldraad. De stroom kan echter door twee verschillende schakeldraadparen lopen en de stroom die er loopt is vrij laag namelijk 0,15A.
Mijn eerste idee was om een Hall-effect-sensor tegen de draden te plakken om het magneetveld meten. Alles wat ik op eBay vond was niet gevoelig genoeg.
Het tweede idee was een stroommeterklem om twee schakeldraden te leggen om het in één keer te meten. De gevoeligste klem die ik vond was van -10/10A. Dit schreef ik initieel ook af vanwege de combinatie van het outputsignaal en de A/D-resolutie van de Arduino die ontoereikend zou zijn. Nu lees ik dat de A/D-convertor 10-bit is en niet 8-bit, zoals ik dacht, en daarmee toch wel voldoende meetbaar is. (Vanwege de grootte van de klem is het niet mogelijk de draden er meerdere keren door de leiden).
Mijn derde oplossing was een 5A stroommeet-printje. Die vind ik toch onwenselijker omdat ik er daar twee van zou moeten gebruiken en daarbij netspanning en laagspanning erg dicht bij elkaar komen.