ESP8266 keypad actievs loop

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • bucovaina89
  • Registratie: Juli 2010
  • Laatst online: 27-07 17:55
Ik toon nu in een loop van 4 schermen het verbruik van verschillende elektrische apparaten in huis op een OLED display dat wordt aangestuurd door een ESP8266.

Nu zou ik een keypad willen toevoegen waarmee ik de loop kan onderbreken en bijv door op '6' te drukken enkel toestel '6' zien. Als ik op '*' of zo duw, ga ik terug naar business as usual, loopen door alle schermen.

Weet iemand hoe je dat best aanpakt? Ik vermoed met interrupts? Maar hoe doe je dat dan?

Alle reacties


Acties:
  • 0 Henk 'm!

  • Accretion
  • Registratie: April 2014
  • Laatst online: 01-10 21:37

Accretion

⭐⭐⭐⭐⭐ (5/5)

Als je geen lange delays in je code hebt en je loop time blijft onder de 100ms bijvoorbeeld, dan kun je best prima de inputs toevoegen aan je loop.

Wat mij betreft heeft dat ook de voorkeur.

Echter, ja, interrupts kan ook. Dan onderbreek je de huidige flow op het moment dat er een knop ingedrukt wordt.

D'r zijn legio voorbeelden op het internet als je zoekt op "ESP8266 interrupt" of "Arduino interrupt". Dus ik snap niet direct wat de vraag is?
Over het algemeen stel je in dat als een pin van status veranderd, d'r een specifieke functie aangeroepen wordt. Maar dit staat ook wel uitgelegd bij die tutorials.