wheez50 schreef op dinsdag 17 mei 2011 @ 00:56:
[...]
Kant en klare oplossingen doen we hier niet aan, maar iemand die een vergelijkbaar probleem heeft:
http://forum.jeelabs.net/node/174
Basically, zorg ervoor dat je een flinke weerstand ertussen houdt en zorg dat de pull-up actief is op de arduino ingang. En je zou kunnen denken aan het gebruik van de +5v van de arduino ipv de +12v. Koppeling naar aarde is koppeling naar aarde.
Mijn stelregel is dat alles wat een ledje rustig laat branden ook ongeveer wel op een arduino poort mag, maar dat ben ik

Nou ik hoef ook geen kant-en-klare oplossing, het probleem is gewoon dat ik er even helemaal niet bij komt met mijn gedachte hoe dit nu precies werkt.
Ik weet dat de Arduino zo'n 50mA max kan 'geven', dat de Arduino een interne voorschakelweerstand heeft, en een HIGH geeft als ik 5V op een poort aansluit.
Echter werkt het apparaat wat ik moet uitlezen op 12V, en meet ik tussen de massa en de 6 poorten 12V bij inactiviteit, en 0V bij een puls. M.a.w. als ik een LED en weerstand via de +12V aansluit, gaat deze alleen branden op het moment dat de interne transistor naar massa gaat schakelen.
Volgens mij kan Arduino max 5V uitlezen, dus 12V erop hangen, lijkt me een slecht plan. Nu ben ik zeer bekent met de wet van Ohm, dus ik moet er voor zorgen dat ik 7V over een weerstand krijg, zodat er 5V over blijft om aan de ingang van de Arduino te hangen.
Maar aangezien de wet van Ohm een waarde I nodig heeft, maar mij onbekend is, kan ik dus geen weerstand uitrekenen. Ik weet immers alleen de maximale belasting, dus de muntproever kan niet meer dan 50mA leveren, en de Arduino kan niet meer dan 50mA leveren. Echter weet ik niet hoeveel stroom er zal vloeien op het moment van het aan elkaar knopen van deze poorten. En het testen met de multimeter er tussen lijkt me niet handig, omdat ik dan bang ben meteen de poorten op te blazen.
Maar hoe reken ik dan uit welke weerstand ik nodig heb, om er tussen te schakelen, immers is er geen waarde I om middels wet van Ohm te rekenen.
Door de uitgang via een weerstand met de 5V van de arduino te verbinden zorg je er voor dat bij 'uit' de spanning op de arduino input hoog wordt. De interne pull-up weerstand op de arduino is hiervoor speciaal bedoeld.
Je schakelt de pullup aan door 'high' naar de input te schrijven.
Enige nadeel van deze configuratie is dat de signalen geïnverteerd binnenkomen.
Het nadeel dat HIGH eigenlijk LOW is, maakt mij niet zoveel uit. Maar dan nog weet ik niet hoe ik moet berekenen welke weerstand ik nodig hebt?
M.a.w., ik krijg het nou nog niet in mijn gedachte hoe nou precies de 'flow' van de stroom is, omdat je feitelijk met 2 voedingsbronnen werkt (massa zit aan elkaar), maar dat je een signaal geeft op het moment van schakelen naar massa??