Ik was op zoek hoe ik het best een programma opbouw binnen de sketch.
Ik was een programma voor arduino aan het schrijven maar ik heb last van als ik bv een drukknop programmeer en later staat er in het programma bv een delay dan werkt dit ook op de reactie tijd van de knop.
Ik heb al een heleboel plc geprogrammeerd en daar kan ik bepaalde stukken programma parralel naast elkaar laten werken.
Ik heb ook al zitten kijken of ik dit eventueel op kan lossen met sub routine programmatjes maar ik weet niet of dit een goede oplossing is.
Kunne jullie mij hierbij ondersteunen of misschien een goede uitleg hoe ik dit het beste oplos.
Ik hoor het graag van jullie en alvast vriendelijk bedankt.
Je kan een interrupt aan die input-pin 'knopen'
Zoals hier:
const byte LED = 13;
const byte BUTTON = 2;
// Interrupt Service Routine (ISR)
void pinChange ()
{
if (digitalRead (BUTTON) == HIGH)
digitalWrite (LED, HIGH);
else
digitalWrite (LED, LOW);
} // end of pinChange
void setup ()
{
pinMode (LED, OUTPUT); // so we can update the LED
digitalWrite (BUTTON, HIGH); // internal pull-up resistor
attachInterrupt (0, pinChange, CHANGE); // attach interrupt handler
} // end of setup
void loop ()
{
// loop doing nothing
}
Dit voorbeeld is afkomstig van deze website: http://www.gammon.com.au/forum/?id=11488
Een heel informatieve site met duidelijke uitleg (als je engels verstaat) gerund door Nick Gammon, een van de moderators hier.
Zal je programma niet "beter" werken, maar je code zal wel overzichtelijker worden. En ... Als je hetzelfde stukje code meermaals nodig hebt, dan is dit een goede oplossing.
Je kan het zelfs nog overzichtelijker maken als je elke functie op een apart tablad zet. ( ja, je kan in Arduino IDE tabbladen maken)