Hallo,
Ik ben een beetje aan het stoeien geweest met een arduino waar ik eigenlijk 16 knoppen en ledjes wil gebruiken en intussen maar zodanig heb ingericht dat ik 2 arduino nano (clone's) aan elkaar gekoppeld heb.
Ik heb nu een reeks analoge inputs als digitale inputs kunnen gebruiken en heb daar 8 knoppen op (per arduino, de A0 t/m A7). Op de digitale pins heb ik vervolgens een LED zitten. Vervolgens een stukje code (om het simpel te houden); als ik knop 1 indruk gaat alleen led 1 aan, en als ik knop 2 indruk alleen led 2 etc.
Nu had ik dat eigenlijk efficiënter willen instellen met weerstanden en normale knoppen op één analoge input.
Ik wou hiervoor programmeren dat (met wat marge) een bepaalde waarde een bepaalde actie werd gedaan.
Waarde 100 (95 - 105) -> laat LED 1 branden
Waarde 150 (145 - 155) -> laat LED 2 branden
etc.
Nu lijkt mij dat een plausibele casus, alleen liep ik toen tegen het probleem aan dat de waarde (bij het direct uitlezen van de pinwaarde in de arduino software) heel erg fluctueerde, en het simpel met de hand over de arduino bewegen al haast het maximale resultaat gaf. Maar eigenlijk een range tussen de 200 en 1023 gaf.
Daarmee werkt mijn code dus niet, tenzij ik een soort vertraging inbouw dat alleen als een bepaalde waarde voor x-tijd wordt gehaald een bepaalde actie getriggered wordt. Maar daarmee bouw ik een hoop vertragingen in die random getriggered worden en alsnog een ongewenst effect geven.
Nu vroeg ik mij af hoe je kunt zorgen dat de analoge pin een vaste waarde handhaaft ondanks dat er geen knoppen worden ingedrukt.
Ik denk zelf aan een constant laag voltage en middels weerstanden via de 5V pin diverse schakelaars op die ene analoge pin aan te sluiten. Bij geen druk op de knop zou de waarde van bijvoorbeeld A0 altijd 50 zijn, maar als er een schakelaar wordt ingedrukt bijvoorbeeld 100 of 150 als waarde gegeven worden.
Is die gedachtegang goed?
Ik ben een beetje aan het stoeien geweest met een arduino waar ik eigenlijk 16 knoppen en ledjes wil gebruiken en intussen maar zodanig heb ingericht dat ik 2 arduino nano (clone's) aan elkaar gekoppeld heb.
Ik heb nu een reeks analoge inputs als digitale inputs kunnen gebruiken en heb daar 8 knoppen op (per arduino, de A0 t/m A7). Op de digitale pins heb ik vervolgens een LED zitten. Vervolgens een stukje code (om het simpel te houden); als ik knop 1 indruk gaat alleen led 1 aan, en als ik knop 2 indruk alleen led 2 etc.
Nu had ik dat eigenlijk efficiënter willen instellen met weerstanden en normale knoppen op één analoge input.
Ik wou hiervoor programmeren dat (met wat marge) een bepaalde waarde een bepaalde actie werd gedaan.
Waarde 100 (95 - 105) -> laat LED 1 branden
Waarde 150 (145 - 155) -> laat LED 2 branden
etc.
Nu lijkt mij dat een plausibele casus, alleen liep ik toen tegen het probleem aan dat de waarde (bij het direct uitlezen van de pinwaarde in de arduino software) heel erg fluctueerde, en het simpel met de hand over de arduino bewegen al haast het maximale resultaat gaf. Maar eigenlijk een range tussen de 200 en 1023 gaf.
Daarmee werkt mijn code dus niet, tenzij ik een soort vertraging inbouw dat alleen als een bepaalde waarde voor x-tijd wordt gehaald een bepaalde actie getriggered wordt. Maar daarmee bouw ik een hoop vertragingen in die random getriggered worden en alsnog een ongewenst effect geven.
Nu vroeg ik mij af hoe je kunt zorgen dat de analoge pin een vaste waarde handhaaft ondanks dat er geen knoppen worden ingedrukt.
Ik denk zelf aan een constant laag voltage en middels weerstanden via de 5V pin diverse schakelaars op die ene analoge pin aan te sluiten. Bij geen druk op de knop zou de waarde van bijvoorbeeld A0 altijd 50 zijn, maar als er een schakelaar wordt ingedrukt bijvoorbeeld 100 of 150 als waarde gegeven worden.
Is die gedachtegang goed?