Input sparen door output te onderbreken

Dag iedereen,

Ik ben nog steeds bezig met mijn regenwaterput project.

Nu heb ik de volgende hardware vraag:

Bij wijze van spielerei en om wil ik het te uitgebreid maken, zo komt er bijvoorbeeld de inhoud op een lcd of oled display maar ook een staafdiagram met leds.

Het is er me gewoon om te doen zoveel mogelijk onder de knie te krijgen, of het ook nuttig is doet er niet toe :smirk:.

Nu wil ik die graag aan en uit kunnen schakelen zodat er eventueel maar één of geen werkt.

Logisch gezien kan dat met een schakelaar die een input hoog maakt en een if constructie.

Maar nu is mijn vraag stel dat ik de schakelaar als onderbreker op de VCC van het display en de ledstrip zet. Dan zullen die niet werken en hou ik twee input’s vrij. De arduino doet wel zijn werk maar de output is onderbroken.

Is dat een goed idee? en waarom?

Alvast bedankt voor alle hulp.

Misj

Jaee.

Ja en nee tegelijk dus.
Wanneer je je display uitschakelt, dan stopt die natuurlijk met werken.
Maar wanneer je 'm daarna weer wil gebruiken en gaat inschakelen, moet je wel eerst de display initialiseren en daarna opnieuw vullen met de betreffende informatie.
Nu kun je je afvragen of dat wel het beste idee is, want een LCD display verbruikt heel weinig en een OLED gebruikt heel weinig wanneer je het scherm leeg maakt.

Sommige (wanneer niet allemaal) OLED schermen gebruiken pages.
Dan kun je 1 page leeg laten en de andere gevuld met de betreffende informatie.
Je kunt dan eenvoudig pages omschakelen en verder gaan met waar je mee bezig was.

Een LCD verbruikt dus heel weinig maar diens verlichting dan weer relatief veel; die verlichting kun je probleemloos uitschakelen.

Wanneer je je sketch in functies verdeeld hebt, kun je dus een functie maken om je scherm na weer inschakelen te initialiseren en nog een om dan de inhoud meteen te tonen.
Voordat je het scherm gaat uitschakelen, moet je dus opslaan wat je er dan op hebt staan zodat je van daar uit verder kunt.

De externe schakelaar die buiten jouw Arduino om werkt, is dus niet een goed idee.
Je Arduino weet dan namelijk niet dat die de display opnieuw moet initialiseren.
Dat kun je wel weer oplossen maar dat kost je dan weer een input, en die wilde je juist overhouden.
Een "port expander" zoals de PCF8574 is dan een veel beter idee.
Dat is hetzelfde ding dat gebruikt wordt om pinnen te besparen en je LCD met I2C aan te sturen.

Bedankt voor je antwoord, weer wat bijgeleerd :+1:.
Ik zal het bij nee houden :smirk:.

Nog 1 vraagje, zou het voor de neopixel ledstrip wel lukken? Of geldt daar hetzelfde probleem?

Voor de Neopixel-array moet je sowieso bijhouden hoe dat er voor staat.
Een rij neopixel kost je maar 1 pin en met die ene pin kun je ze ook allemaal uitzetten.
Dus daar heb je dan geen schakelaar voor nodig.
Ik weet niet hoe een Neopixel (array) er mee omgaat als er geen voeding maar wel data binnenkomt.
Maar daarvoor heb je uiteraard ook de weerstand nog tussen je Arduino pin en de neopxel zitten.

Bedankt voor je input :+1:, ik ben weer wat wijzer.
En als wijsheid het archief van mijn stommiteiten is, heb jij me er voor een paar behoed :smirk:.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.