60 LED rgb klok code probleem

algemene C code
Berichten: 3
Geregistreerd: 10 Apr 2014, 11:39

60 LED rgb klok code probleem

Berichtdoor rickkert » 10 Apr 2014, 12:44

Ik wil een LED-klok maken dmv 60 rgb leds.
Alle LEDs staan altijd aan in een bepaalde kleur (blauw)
De grote wijzer is rood en de kleine wijzer is wit.

Ik wil 74HC595 shift registers gebruiken om alle leds aan te sluiten op elkaar:
plaatje01.png
plaatje01.png (5.45 KiB) 8940 keer bekeken


Het probleem waar ik mee zit is het schrijven van de code.
Ook vraag ik mij het volgende af:
- Heb ik weerstandjes nodig tussen de leds en welke?
- Welke energiebron zou hiervoor geschikt zijn?
- Is mijn manier van aansluiten goed?

Ik heb nog weinig ervaring met arduino, want ik heb nog nooit eerder met arduino gewerkt en ben pas vier dagen bezig met het te begrijpen.

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 60 LED rgb klok code probleem

Berichtdoor nicoverduin » 10 Apr 2014, 15:38

De meest leds hebben een werkspanning en een maximale stroom. De wet van Ohm stelt dat U = I x R. Dus als je de werkspanning en iets van 50% van de stroom neemt, weet je de weerstand.
Volgens mij hebben leds een anode en kathode. Je hebt 3 kleuren (=3x anode) dus mis ik nog de kathode aansluiting.
De meeste LEDS werken ergens tussen de 2-3V. Ik zou 5Volt nemen. De maximale stroom is de som van alle stromen die tegelijkertijd aankunnen zijn. En verdubbel dat (gewoon een marge). Dan heb je een voeding nodig van 5V bij xx (uitgerekende stroom) Ampere.
De Arduino kun je een led prima laten aansturen. Ik zou er niet te veel doen want dan stort de 5V in of een van de pinnen fikt uit als je het verkeerd doet. En gezien de vraagstelling is dat niet uitgesloten.
Over de manier van aansluiten... de 74HC595 heeft 8 uitgangen. Je sluit 3 leds aan per chip.. Zou het knap vinden waar die 9e pin komt.

En ik zou eerst een pakketje downloaden (Eagle, DesignSpark of zo) om een fatsoenlijk schema te maken. Moet je ook leren... hoort erbij... Maar als de basis rammelt, gaat je product ook rammelen....

Dus volgens mij heb jij nog wel een en ander te doen:
- Arduino leren kennen
- sketches met de 74HC595 begrijpen
- Goed degelijk schema maken van wat je wilt
- specs uitzoeken van de LED die je wilt gebruiken
- berekenen van de weerstand per LED en de voeding
- Bedenken hoe je alles gaat aansluiten
- Sketch ontwikkelen (eventueel de output naar de Seriale Monitor sturen dan heb je nog steeds geen hardware nodig).

En dan pas....

Kopen..... :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 270
Geregistreerd: 30 Dec 2012, 11:42

Re: 60 LED rgb klok code probleem

Berichtdoor Rudi » 10 Apr 2014, 19:55

Wat je wil maken kan technisch perfect met Arduino en 74HC595. Uit je vragen durf ik af te leiden dat niet alleen de Arduino voor jou
nieuw is maar ook electronica. Hetgeen Nico opsomt is geheel terecht. Op zich is dit een mooi projectje maar niet voor een beginner zonder
degelijke voorbereiding.

Wil je zelf je code schrijven dan is het belangrijk dat je snapt hoe een shiftregister werkt.
Dit filmpje is een goede basis https://www.youtube.com/watch?v=6fVbJbNPrEU

Een 74HC595 heeft 8 uitgangen, je hebt bijgevolg 8 shiftregisters nodig als je 60 leds wil aansturen want 60/8 = 7,5. De laatste 4 uitgangen
van de laatste 74HC595 worden dan niet gebruikt. Maar een kleurenled heeft inwendig 3 leds aan boord (r-g-b). Wil je kleurenleds gebruiken dan heb
je drie maal zoveel uitgangen nodig om evenveel leds te sturen. 180/3 = 22,5 dus 23 shiftregisters.

Mocht ik hier aan beginnen zou ik zelfs 24 shiftregisters nemen, voor iedere kleur acht, dus 8 die de rode leds aansturen, 8 de groene en 8 de blauwe.
Eén kleuren led wordt zo als het ware door drie parallele shiftregisters gestuurd. De te schrijven code zal makkelijker zijn dan wanneer je drie
opeenvolgende uitgangen gebruikt voor 1 kleurenled.


Andere bemerkingen:
- ga je een Real Time Clock gebruiken of softwarematig de tijd bijhouden.
- als "grote wijzer" en "kleine wijzer" samenvallen, welke kleur gebruik je dan.
- ga je common anode of common kathode RGB leds gebruiken? Is mee bepalend hoe je de uitgangen van de 74HC595's stuurt om een led aan of uit te zetten.
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Berichten: 3
Geregistreerd: 10 Apr 2014, 11:39

Re: 60 LED rgb klok code probleem

Berichtdoor rickkert » 10 Apr 2014, 20:54

Bedankt voor de feedback, het klopt dat elektronica nieuw is voor me, ik heb hier normaal nooit mee te maken.
De 9 ingangen per shift register was inderdaad een fout en de vierde pin van de led had ik niet in het schema meegenomen.

- Ik wil de tijd softwarematig bijhouden.
- Wanneer de twee wijzers samen vallen wilde ik groen gebruiken.
- De LEDs die ik wil gebruiken zijn common anode 25 graden 5mm.

Technische specificaties
Omschrijving Waarde Eenheid
Spanning (Rood)
Spanning (Groen)
Spanning(Blauw)

1.8
3.3
3.3 V
Stroom (per kleur) 20 mA
Sperstroom 10 µA
Lichtsterkte (Rood) 1500
Lichtsterkte (Groen) 6000 mcd
Lichtsterkte (Blauw) 1500
Golflengte (Rood) 625
Golflengte (Groen) 520 nm
Golflengte (Blauw) 470

Stralingshoek 25 graden
Behuizing Helder
Soldeertemperatuur 260 graden

Bedankt voor de tip om de kleuren te groeperen per 8 shift registers

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 60 LED rgb klok code probleem

Berichtdoor pjh » 10 Apr 2014, 21:07

Ter info:
180 LEDjes kunnen middels charlieplexing met 13 Arduino-pinnetjes worden aangestuurd.
De wiki van Charlieplexing laat een Klok zien die erg op die van jou lijkt?... ;)
http://en.wikipedia.org/wiki/Charlieplexing

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 60 LED rgb klok code probleem

Berichtdoor nicoverduin » 10 Apr 2014, 22:07

Nou kan ik mij een charlieplexing projectje herinneren van een paar maanden geleden en als ik het goed begreep liep dat niet helemaal lekker....... Maakt mij niet uit hoor. Iedereen heeft recht op zijn eigen ellende :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 700
Geregistreerd: 05 Mrt 2012, 21:56
Woonplaats: Appingedam

Re: 60 LED rgb klok code probleem

Berichtdoor pjh » 10 Apr 2014, 22:52

Charlie is Gek. :D
Maar wel verplichte kost wanneer je start met elektronen-boetseren.

PS. Toch benieuwd welk charlieplexing projectje je kunt herinneren van een paar maanden geleden dat zoals jij begreep niet helemaal lekker liep... (http://youtu.be/h14qDPSU7v4) :roll:

NB: Is (gewoon) multiplexen niet zinvol? Al is het alleen al om de stroom laag te houden?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: 60 LED rgb klok code probleem

Berichtdoor nicoverduin » 10 Apr 2014, 23:40

Volgens mij was het dit forum. Een heleboel ellende want sommige leds branden dan weer zacht of bleven hangen. Een of ander binary counter project. Ik heb er toen nog ff naar gekeken.... In die richting ga ik zeker geen energie steken.
Alternatief:
Koop op ebay een strip WS2812 of WS2811 RGB leds. Dat zijn SPI leds. Hebben 3 pinnen (5V, data en GND. Elke led is direct adresseerbaar en je kan gewoon de juiste kleur aangeven. Dus 2 draadjes naar de Arduino en de 5V naar een minimaal 5V 2A voeding. Volgens mij heb je ze ook van het type 60 op een meter. En anders koop je er 2. Hou je nog een stuk over om verder mee te experimenteren
Je weet aan de tijd welke leds in welke kleur aan moeten.
dus simpele loop:
- lees tijd
- zet om in seconden/minuten en uren
- bepaal welke leds aan moeten in welke kleur en stuur de signalen uit.

Die strips kosten iets van 20 us$. Geen gedonder met charlieplexing waar de topicstarter nooit uit gaat komen als het niet werkt.
Geen gedonder met eindeloze bedrading.
Die leds van die strip kun je gewoon afknipen en dan de 3 draden doorverbingen om zo een cirkel te maken
En geen gedonder met constant weer aan/uit zetten van de leds wat het programma fors verstoord....
En 20 74HC595, 60 losse leds, 180 weerstanden en geen electronica ervaring.... ga maar ff bedraden of pcb maken...

Nee dit is een dure en onnodig complexe oplossing.
En een voeding heb je zo :) Al die mensen met een XP machine dumpen hun oude machine omdat Windows7 als dikke stront op zo'n machine draait. Dus gaan ze naar de belt. Echter er zit een prachtive 5V 30A voeding in. Power zat en kost waarschijnlijk geen drol.

Dus waarom moeilijk (en in dit geval uiterst moeilijk) en duur doen terwijl het veel simpler kan.

@edit: Ik heb laatst deze gekocht: http://www.ebay.com/itm/231105154168?va ... 1497.l2649

En dan de witte non waterproof (anders zit je zo te klooien met doorknippen met een witte achtergrond). 19US$ (iets van 15 euro) heb je alles op de voeding na, maar die heb je toch al nodig.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 270
Geregistreerd: 30 Dec 2012, 11:42

Re: 60 LED rgb klok code probleem

Berichtdoor Rudi » 11 Apr 2014, 19:14

Goeie tip Nico. Een WS28212 ledstrip, is waarschijnlijk de eenvoudigste en zelfs beste oplossing voor hetgeen TS voor ogen heeft.
Arduinows!
Why do computer programmers confuse Halloween with Christmas? Because Oct 31 = Dec 25
I got 01100011 problems but a bit ain't 00000001

Berichten: 4078
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: 60 LED rgb klok code probleem

Berichtdoor shooter » 11 Apr 2014, 21:44

geintje:
nico heb je een emmer, dan leg ik daar een drol in, krijg ik dan van jou een pcvoeding?
maar je hebt met die strip volkomen gelijk.
en ach rick ziet mooie dingen en droomt dus hardop, heerlijk.
paul deelen
shooter@home.nl

Volgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 4 gasten