[Arduino] Musical Mist

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42

Musical Mist - Werklog

Introductie
Na een korte introductie van Arduino op de UU (buiten het gewone curriculum om) leek het me interessant om zelf een 'klein' project te beginnen. Gezien mijn enige ervaring met elektrische circuits de natuurkunde lessen van de middelbare school zijn, wilde ik het mezelf niet te lastig maken.

Ik wil graag mijn voortgang met jullie delen om hier en daar wat advies te ontvangen en dus het één en ander te leren van dit project.

Het Idee
Het idee is om met een digitale piano een matrix van 88 x 8 blauwe LEDs aan te sturen om zo animaties te creëren. Op het moment heb ik twee ideeën.
  • Regenval - Wanneer toetsn wordt ingedrukt, wordt er een regendruppel animatie getoond op kolomn. Vandaar ook de naam Musical Mist.
  • "VU Meter" - Als toetsn wordt ingedrukt, laat kolomn zien hoe hard (m rijen hoog, hoe harder de aanslag, hoe meer LEDs er gaan branden.

Benodigdheden
Schema's
Afbeeldingslocatie: http://i.imgur.com/QUdXuex.png
LED-matrix: Anodes worden per rij aan elkaar gebonden, cathodes per kolom

Afbeeldingslocatie: http://i.imgur.com/jWH18u2.png
Aansturing - Door middel van een transistor op de juiste rij en juiste kolom gaat een bepaalde LED branden.


Componenten
  • 704x LEDs (3.4V - ergens tussen de 20 en 30 mA vermoed ik, zodra m'n multimeter binnen is, eventjes meten)
  • 96x 100Ω weerstand
  • 192x 1kΩ weerstand
  • 96x NPN BJTs (2N3904)
  • 8x P-channel MOSFET (IRF9Z34)
  • 12x 0.01µF keramische condensator
  • 8x 100µF elektrolytische condensator
  • 12x Shift register (74HC595)
  • 1x Arduino (in dit geval de Stickuino variant, omdat ik die al in huis heb)
  • 1x 5V/3A voeding
  • En koperdraad en 'protoboards'.
De waarde van de condensatoren heb ik geschat naar wat ik op internet heb gevonden. De elektrolytische komen bij de source van de MOSFET en de keramische zijn voor bij de VCC van de shift registers.

Hoe gaat het werken
Het idee is om d.m.v. multiplexing maximaal 88 LEDs per keer te laten branden. Wanneer een toets wordt ingedrukt wordt de respectievelijke key in een array opgehoogd. Wanneer deze dus groter dan nul is, mag de des betreffende transistor aan de kant van de cathode sluiten, zodat het circuit gesloten wordt.
Het signaal wordt verzonden via shift registers, zodat één rij wordt bediend. (Dus, key > 0 dan verzend '1' naar shift registers)

De regenval animatie begint dus bij de array van de bovenste rij, wanneer een bepaalde key naar nul zakt wordt de key in de tweede rij opgehoogd.

Voortgang
Op het moment moet ik nog op een aantal componenten van Futurlec wachten. Met de onderdelen die ik al had heb ik het idee met 4 LEDs getest. Handmatig dus de rij verplaatsen en zelf een kolom uitkiezen die aan moest. Niet zo geweldig spannend, dus. :+

Afbeeldingslocatie: http://farm9.staticflickr.com/8138/8703822545_a5bf993c87.jpg
De spullen die ik dacht nodig te hebben voor dit project (+wat extra's). Het bleek toch niet voldoende te zijn

Ook moet ik nog op zoek naar een fatsoenlijke externe voeding. De Arduino levert immers niet genoeg stroom en de oude PSU die ik hoopte te gebruiken, is ook niet je van het (de fan hapert, dus ik vertrouw het niet meer helemaal).

[ Voor 3% gewijzigd door ThinkCreative op 26-05-2013 17:37 . Reden: opmaak ]


Acties:
  • 0 Henk 'm!

  • Hillman5100
  • Registratie: Juni 2007
  • Laatst online: 15-09-2023
Klinkt leuk!

Is het ook de bedoeling dat de piano gewoon normaal blijft functioneren en geluid kan maken? Of ga je de piano helemaal modificeren?

Zo nee, hoe ga je dan de signalen doorgeven aan de arduino?

Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42
De piano blijft gewoon nog op normale wijze zijn geluid produceren. Hij beschikt over MIDI in/uit poorten. Via dit protocol wil ik dus de Arduino 'aansturen'. Via Sparkfun heb ik al een MIDI-shield besteld. Het is dus zo simpel als een MIDI-kabel van de piano naar de Arduino leggen en telkens drie bytes uitlezen (functie, waarde en snelheid - als ik mij niet vergis). Voor een groot deel enkel "toets aanslag/toets los, welke toets en de snelheid van de aanslag.

Ik heb een tijdje geleden al een simpel RGB ledje aangestuurd, elke drie toetsen was dan rood/groen/blauw en hoe harder ik hem aansloeg hoe meer van die kleur gemengd werd in de led.

Edit:
#1: Ik bedenk me nu alleen dat ik niet heb gecontroleerd of dat MIDI-bordje de SPI pins niet al gebruikt. (Ik verwacht van niet, het is namelijk niet nodig)

#2: Zo te zien is dit niet het geval. :)

[ Voor 12% gewijzigd door ThinkCreative op 26-05-2013 17:32 ]


Acties:
  • 0 Henk 'm!

  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 11-08 04:52

Sprite_tm

Semi-Chinees

Waarom heb je eigenlijk voor discrete torren gekozen, en niet een ULN2003 of zelfs een shift-register met ingebouwde torren zoals een tpic6b595? Lijkt me een hoop solderen te kunnen schelen ;)

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42
Ik heb zeer weinig kennis in alles wat buiten de basis componenten ligt. Wel had ik het een en ander gevonden (zoals de tpic6b595), maar zover ik de datasheets begreep 'leverde' deze te weinig stroom (meestal onder de 1A) of werd het te prijzig (het moet nog wel een leuke hobby blijven, dan steek ik er in de zomer liever wat meer manuren in).

Uiteindelijk loopt er maximaal 2.65A* door de LEDs en dit bleek dus te veel voor de meeste componenten.

*88 LEDs (30mA) parallel


Edit:
#1: Oepsie, ik zeg het hier verkeerd. Die 2.65A loopt niet door de leds zelf heen, maar is wel de totale stroom die nodig is voor 88 leds. Dat bedoelde ik eigenlijk te zeggen. Sorry voor de verwarring, Damic.

#2: Ah, blijkbaar in eerste instantie niet helemaal goed begrepen wat de tpic deed. 8)7

[ Voor 24% gewijzigd door ThinkCreative op 26-05-2013 20:41 . Reden: (kleine) nuances ]


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

Hu wat? je moet die PWM'en dan loopt er max 20mA (30mA begint dodelijk te worden) door elke led.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42
Hmm, ja door de leds zelf loopt inderdaad maar ergens tussen de 20mA en 30mA, meen ik (staan geen specificaties op de verpakking, moet het dus nog even meten). Maar uit de drain van de MOSFET komt wel degelijk 2.65A. (of 1.76 in het geval van 20mA dus maar)

(* ThinkCreative hoopt dat de multimeter snel binnen komt.)


Verder gebruik ik geen PWM van de Arduino, aangezien de voedingsbron van de leds een externe is. De Arduino bedient alleen de shift-registers, die dus de torren aanstuurt.
Ik hoef de leds ook niet te dimmen en anders kan dat misschien nog wel door de leds minder vaak aan te laten gaan.

Of zit ik er nu toch helemaal naast?

Edit:
Hmm, als ik het nu goed begrijp had ik inderdaad wel een tpic kunnen gebruiken, aangezien dit dus het shift-register met de tor samen is. Maar daarvoor vond ik hem dus weer te prijzig.

Ik denk alleen niet dat een ULN2003 veel makkelijker was geweest. Het scheelt weliswaar één pin per tor minus de connectie naar ground per ULN. Bovendien komt het niet zo goed uit met zeven pins per ULN en de variant met meer pins is ineens een stukje prijziger.

[ Voor 40% gewijzigd door ThinkCreative op 28-09-2013 20:04 ]


Acties:
  • 0 Henk 'm!

  • Hillman5100
  • Registratie: Juni 2007
  • Laatst online: 15-09-2023
Ik was helemaal die MIDI interface vergeten :P. Maar dat werkt dus goed.

Je hebt niet nagedacht aan speciale LED drivers? Want je hebt van die matrix drivers. Je zult er dan wel meerdere van deze moeten nemen, maar dat komt door de grote hoeveelheid ledjes :P.

Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42
Ik ben wel op de TLC5940 gestuit, die had het ook nog wel makkelijker kunnen maken. En misschien met iets meer onderzoek vooraf had ik ook geweten hoe ik het dan precies had moeten toepassen. Al was het waarschijnlijk voldoende om de 'cathode control' hier te vervangen door zes TLCs, maar ook hier is dat weer een iets prijzigere oplossing.

Voor dit project wilde ik echter zo snel mogelijk aan de slag en heb ik, na één foutief schema, hier voor gekozen, omdat het in de basis vrij simpel is. Maar uiteindelijk waarschijnlijk wel meer werk.

Damic schreef op zondag 26 mei 2013 @ 21:15:
We zullen wel zien hoe het loopt :)
Ja, inderdaad. Ik denk dat het wel goed gaat komen, maar als de kosten minder een probleem waren had het zeker makkelijker gekund. Ach, zo leer ik ook weer wat nieuws, wat ook grotendeels het doel is van dit topic. :)

Edit [09-06]: Nog steeds geen status update van Futurlec betreffend m'n bestelling, duurt nu nog langer dan de vorige keer. :O

Edit [18-06]: Eindelijk is het dan verzonden, binnen 7 - 10 werkdagen moeten de spulletjes van Futurlec binnen zijn. Hopen dat ik dan van alles voldoende heb. :)

[ Voor 53% gewijzigd door ThinkCreative op 18-06-2013 10:56 . Reden: Extra informatie ]


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06-10 21:27

Damic

Tijd voor Jasmijn thee

We zullen wel zien hoe het loopt :)

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • ThinkCreative
  • Registratie: Oktober 2009
  • Laatst online: 06-10 13:42
Onderdelen kwamen twee weken geleden eindelijk binnen. Door tentamens en dergelijke nog geen tijd voor gehad. Binnenkort maar eens gaan kijken hoe ik het een en ander ga solderen op de protoboards. :)

Edit: vanwege de hitte op zolder heb ik het project maar weer even uitgesteld. :+ Ondertussen ben ik wel aan het kijken hoe ik alle componenten het beste op de bordjes kan plaatsen. Dat is nog een heel gepuzzel.

[ Voor 35% gewijzigd door ThinkCreative op 04-08-2013 17:18 . Reden: Extra info ]


Acties:
  • 0 Henk 'm!

  • Ferry H.
  • Registratie: November 2012
  • Laatst online: 04-10-2022
Ben benieuwd op het gaat worden, veel plezier met de voeding;)

Reviews: MSI GeForce GTX 760 2GB Twin Frozr Gaming


Acties:
  • 0 Henk 'm!

  • masauri
  • Registratie: Juli 2005
  • Laatst online: 08:18

masauri

aka qwybyte

@ThinkCreative , hoe is het eigenlijk uit gedraaid? :P

De Grote GoT FG Kettingbrief - Deel 12 (Spinoff Resultaat)

Pagina: 1