Shift register gebruiken om leds via buttons te besturen?

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 3
Geregistreerd: 23 Nov 2020, 17:06

Shift register gebruiken om leds via buttons te besturen?

Berichtdoor wobelaar » 23 Nov 2020, 18:42

Hallo,

Ik ben bezig met een projectje een soort smart to-do lijstje.
Daarbij wil ik gebruik maken van buttons en LED's.
Dus één keer op de button klikken is LED uit en nog een keer is weer aan.
Mijn ESP8266 die ik voor dit project wil gebruiken heeft echter maar genoeg aansluitingen voor 4 leds en buttons.
Kan ik een shift register gebruiken om meer LEDs te besturen (bijvoorbeeld één knop voor 2 LED's gebruiken, al is het natuurlijk mooier om per LED een knop te gebruiken).
Ik weet dat je een Arduino Nano zou kunnen aansluiten in het schema voor extra aansluitingen, maar ik vind het een beetje zonde om die hieraan op te offeren.

Mocht dit niet werken, heeft iemand dan een ander idee om meer aansluitingen te krijgen?

Alvast bedankt voor de hulp!

~Wobelaar

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Shift register gebruiken om leds via buttons te besturen

Berichtdoor Koepel » 23 Nov 2020, 21:22

Een shift register kan heel goed. Dat is handig als je tientallen digitale uitgangen of ingangen wilt.
Om zomaar even een paar ingangen en uitgangen toe te voegen is misschien een I2C I/O expander handiger.
Een PCF8574 wordt veel gebruikt: https://www.tinytronics.nl/shop/en/others/other/pcf8574-i2c-io-expander
Of deze https://www.adafruit.com/product/732

Om meerdere pinnen te maken zijn er nog veel meer mogelijkheden: analoge multiplexer, charlie-plexing voor leds, een matrix voor knoppen. Daarnaast kun je nog dingen doen zoals één pin te gebruiken voor zowel een knop als een led.
Hoe moeilijker dat je het maakt, hoe meer kans op fouten.

Hoeveel knoppen en leds had je in gedachten ? Stel dat je 10 of meer leds wilt, dan kun je ook een ledstrip gebruiken. Die heeft maar één digitale pin nodig.

Berichten: 3
Geregistreerd: 23 Nov 2020, 17:06

Re: Shift register gebruiken om leds via buttons te besturen

Berichtdoor wobelaar » 23 Nov 2020, 22:48

Dank voor je uitgebreide antwoord, ik heb zelf nog 2 74HC595 shift registers liggen. Zou ik deze ook op een manier kunnen gebruiken zodat de Arduino weet welke leds aan of uit staan? Of kan ik daarvoor beter een led strip gebruiken?

Ik zat zelf.te denken aan 6-8 leds en knoppen maximaal...

Heeft u misschien ook een link of een zoekwoord hoe ik kan vinden hoe ik dit het beste kan aansluiten?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Shift register gebruiken om leds via buttons te besturen

Berichtdoor Koepel » 25 Nov 2020, 12:12

In de code kun je bijhouden welke leds aan staan. Het maakt daarvoor niet uit of het gewone leds zijn of leds achter een shift-register of leds met een I2C I/O expander of een ledstrip.

Tutorials is geen probleem. Wat wel een probleem is, is dat de 74HC595 misschien niet genoeg stroom kan leveren voor een led. Als alle leds aan staan, dan kan de stroom door de GND te hoog worden. Meestal is de stroom door de leds beperken tot 15mA al voldoende.
Voor meer stroom zijn er speciale shift-registers: https://www.adafruit.com/product/457,

595 tutorials:
https://www.arduino.cc/en/Tutorial/Foundations/ShiftOut
https://learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/the-74hc595-shift-register

Berichten: 3
Geregistreerd: 23 Nov 2020, 17:06

Re: Shift register gebruiken om leds via buttons te besturen

Berichtdoor wobelaar » 30 Nov 2020, 11:58

Top! Bedankt voor deze uitleg! Ik kan er weer mee aan de slag! :D

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten