Go Down

Topic: op keypad een nummer intoetsen en die dan naar uitgangen sturen (Read 1 time) previous topic - next topic

MAS3

In mijn stukje word eerst de lengte van de code altijd op 4 cijfers gesteld en vervolgens de code binnengehaald.
Dus eerst zet je 0000 en vervolgens ga je dat van rechts naar links vullen.
Dan krijg je dus naar jouw voorbeeld: 0002 dan 0026 en vervolgens 0264.
Dit betekent wel dat je dus moet gaan schuiven met je cijfers tijdens het intypen van de code.
Je geeft inmiddels aan dat beginnen met een nul niet mogelijk is, dus daarmee kun je het nog steeds op deze manier doen.

Als je met een string werkt, dan haal je de waarde van het ingetypte getal eruit.
Voor jouw code doet de waarde van de cijfercombinatie (het getal) er niet toe (je gaat er (nog) niet mee rekenen en kun je dit dus zondermeer doen.
Ik dacht in eerste instantie aan de handelingen die je in de basic taal met strings kunt doen, maar die heb je hier niet.
Maar wel vergelijkbare dingen.
Zoals charAt en setCharAt.
Daarmee bekijk je het teken op een positie in een string of stel je dat teken in.
Ik heb dat (nog) niet geprobeerd en denk ook niet dat ik daar binnenkort tijd voor heb, maar je moet dus op die manier vrij eenvoudig de waarde van het vierde cijfer naar het derde cijfer verplaatsen en vervolgens de zojuist opgehaalde waarde in dat vrijgekomen cijfer te plaatsen.

Je kunt zelf de  hier op de site de string functie opzoeken en kijken hoe je daar mee aan de slag kunt.
Ik heb alleen nog niet gezien of en hoe je de tekstwaarde weer in een getal kunt omzetten want uiteindelijk wil je toch een getal naar je decoder sturen.
Wel zie ik dat je zulke strings kunt gebruiken als een integer en er dus mee kunt tellen.
Ik vermoed nu dat als een string als een getal te lezen is, je m ook zo kunt behandelen.
Met een beetje geluk worden nullen aan de linkerkant weggelaten als je er een integer van maakt.
Dat is een kwestie van proberen.

Nu te laat, ga mn bed opzoeken.
Als ik morgen uitgewerkt ben, heb ik misschien nog wat tijd om hiermee verder te spelen.
Ondertussen kun je dat zelf natuurlijk ook.
Have a look at "blink without delay".
Did you connect the grounds ?
Je kunt hier ook in het Nederlands terecht: http://arduino.cc/forum/index.php/board,77.0.html

Go Up