NO = Normally Open
Dus... zonder magneet moet je oneindig meten. Met het magneet erbij zal het contact sluiten en moet je dus 0 Ohm meten.
NO = Normally Open
Dus... zonder magneet moet je oneindig meten. Met het magneet erbij zal het contact sluiten en moet je dus 0 Ohm meten.
Nog eens opnieuw die sensor, je noemt het ook een magneet, meten.
Moet open zijn, dus oneindig hoog met de ohm meter, zonder magneet in de buurt.
Met magneet erbij dan moet je laag ohm meten, die 0.7 is dan ok.
Die sensoren zijn robuust dus niet zomaar defekt.
Oh oke...ik blijf 0.7 meten als de magneet niet in de buurt is. Doe ik de magneet erbij dan blijft die gewoon op die 0.7 staan.
Of zal ik verkeerd meten? Ik sluit gewoon die twee draden van de magneetsensor aan op beide pennen van de meter. oneindig wordt toch gewoon met een 1 weergegeven?
Ik kan me ook niet voorstellen dat die sensoren kapot zijn.
Zie Paulinha_B
oneindig wordt toch gewoon met een 1 weergegeven?
Dat is geen wet van Meden en Perzen, mijn beide multimeters geven dan OL , dat staat voor "Open Lus" of zo, dacht ik. De ene multimeter is de andere niet.
Alles wat je post wijst toch wel in de richting van defecte magneetdetectors hoor, maar je zult het pas zeker weten als de boel eenmaal werkt, dan kun je component na component verwisselen.
Duidelijk zat toch, als de magneetsensor NO (normally open) is, en de sensor zonder magneet bijna 0 Ohm meet, is de sensor defect. Vervangen dus.
Ja inderdaad dat is ook zo. Ik ga nieuwe bestellen.
Ik laat het nog wel even weten als ik de nieuwe sensoren binnen heb.
In ieder geval heel erg bedankt voor alle reacties. Heb een beter beeld gekregen hoe het allemaal globaal werkt
Nog een laatste vraagje hoor.
Maakt het nog uit of ik een NO of een NC aanschaf?
Golden Member
JA. Je moet een NO contact hebben. Een NC is in gesloten toestand en opent zodra er een magneet in de buurt komt.
Dat hangt wel van de software af. En hoe ie aangesloten zit op de micro. En dat weten we nog steeds niet.
Ps, post eens een foto van die sensor, ik word nou toch wel benieuwd.
Overleden
schema:
en software staan toch in de OP?
[Bericht gewijzigd door Shiptronic op maandag 1 oktober 2018 21:41:24 (23%)
Bij deze nog een foto van de magneet en de constructie. Het is nog even een testversie hoor
Ik heb nieuwe onderdelen besteld en ook een Breadboard, dus daar kan ik het ook beter op testen.
Als ik de nieuwe magneetsensor binnen heb zal ik die eerst eens gaan doormeten.
Of zien jullie nog iets bijzonders aan de magneetsensor?
De firmware hadden we, maar de hardware niet. Geen idee waar je (fcapri) dat vandaan haalt, maar ok.
In die magneetsensoren zit een reed-contact. Als je daar wat teveel stroom doorheen stuurt blijven ze nog wel een keertje plakken. Zoiets zal wel gebeurd zijn.
Zie ik het goed dat er twee draden aan de sensor zitten?
Kan het zijn dat dit een dubbele reedsensor is?
Als er twee draadjes of een afscherming en een draad in elke kabel zitten moet je daar eens over meten.
Mvg Rieks.
De reedswitch trekt A1 naar massa als deze bediend is.
Als de switch open is zweeft de ingang? Of hoe werkt dat met een arduino?
Ik heb de nieuwe sensor binnen en ik krijg nu inderdaad als de magneten tegen elkaar aan gaan de nulletjes in beeld.
Maar ik heb de NO besteld, maar ik ben bang dat ik de NC moet hebben... Als de magneetsensors elkaar raken dan moet de magneetswitch op 1 komen te staan, maar nu komt die op 0. Dus exact andersom.
Doet een NC magneetsensor precies het tegenovergestelde als een NO?
Op 3 oktober 2018 20:30:33 schreef hans1234:
Doet een NC magneetsensor precies het tegenovergestelde als een NO?
Ja. Maar dat kun je in de software prima oplossen. Een andere sensor bestellen is dus niet nodig.
Evengoed is de NO versie de meest gangbare en logische, dus kijk eerst maar even of er verder niks mankeert.
[Bericht gewijzigd door BVZ op woensdag 3 oktober 2018 20:37:02 (17%)
Alles doet het nu alleen de magneetsensor moet precies andersom.
Heeft iemand een idee wat ik zal moeten aanpassen in de code?
Ik denk dat ik dit gewoon moet omdraaien:
void OpenLuik(void) {
/*************************/
while (digitalRead(magneetPin) == 0) { //lees de switch uit 0=nog niet boven
Dus die ==0 aanpassen in 1
// beslissen of luik open, dicht of blijven moet
if ((gemiddelde <= LuikWelterusten) && (digitalRead(magneetPin) == 1)) { // luik moet openstaan 1=luik is bovenaan
SluitLuik();
Luikstatus = 1;
En bij deze die ==1 aanpassen in 0
Op 3 oktober 2018 20:39:21 schreef hans1234:
Alles doet het nu alleen de magneetsensor moet precies andersom.Heeft iemand een idee wat ik zal moeten aanpassen in de code?
Volgens mij hoef je niks aan te passen in de code:
pinMode(magneetPin, INPUT_PULLUP); //tussen 0 en de pin
Dat wekt de indruk dat de standaardwaarde == 1, dus als de 'magneet' ten tonele verschijnt die '0' moet worden.
EDIT: Je kunt het evengoed wel proberen natuurlijk. In het ergste geval werkt je programma nog steeds niet.
[Bericht gewijzigd door BVZ op woensdag 3 oktober 2018 20:49:17 (10%)
Oh oke. Maar als ik dit zo lees dan stopt die pas met draaien als die op 1 komt. Bij 1 is die boven:
// beslissen of luik open, dicht of blijven moet
if ((gemiddelde <= LuikWelterusten) && (digitalRead(magneetPin) == 1)) { // luik moet openstaan 1=luik is bovenaan
SluitLuik();
Luikstatus = 1;
Op 3 oktober 2018 20:51:48 schreef hans1234:
Oh oke. Maar als ik dit zo lees dan stopt die pas met draaien als die op 1 komt. Bij 1 is die boven:
Kan. Mits je sensor onderaan zit, anders is alles wat niet op een paar cm van onderaan zit automatisch 'boven'.
Want: NO -> normally open. Dus zolang geen magneet heel dicht in de buurt is geeft dat via de 'PULLUP' een '1' retour.
De sensor zit wel boven. Als er geen magneet in de buurt is dan geeft die inderdaad die 1 terug.
Als het dan donker wordt dan gaat de luik inderdaad een paar seconden naar beneden. Maar als het licht wordt dan doet die niks omdat die magneet nog steeds die 1 weergeeft. In de code geeft die aan dat de luik al boven is.
Als ik dan de magneet er tegen aan houd dan geeft die de 0 terug en gaat die na een tijdje weer omhoog maar blijft draaien omdat die een 1 terug moet krijgen voordat die stopt.
De 1 en de 0 moeten dus in de software aangepast worden. Dus 0 is boven en 1 is beneden. Dan zal die het moeten doen ..denk ik.
Ik zal gaan uitzoeken wat ik nu precies moet aanpassen in de code om dat voor elkaar te krijgen..
Ik ben een beginner mer Arduino, en lees vol intresse mee met dit draadje!
Het is erg leerzaam!
En nu vroeg ik mij af of je met deze magneet sensor/schakelaar ook rekening moet houden met ‘debounce’? (Sorry: Ik weet het Nederlandse woord hier niet van)