In het appartementsgebouw van Frans Coolen is het in de kersttijd een vrolijke boel. Telkens als iemand de hal betreedt, gaan de lichtjes in de kerstboom branden en speelt een xylofoon een kerstliedje. Dankzij Frans, en twee Arduino Nano’s

Frans Coolen

Ik woon in een appartementsgebouw. In de kersttijd willen we een kerstboom met lichtjes plaatsen in de hal van het trappenhuis. Het leek me leuk als, zodra iemand de hal binnenkomt, de kerstlichtjes gaan branden en er een lieflijk kerstmelodietje gaat klinken. Een complicatie is dat er in de hal geen netspanning aanwezig is. Daarom moet ik van een loodaccu gebruikmaken en een beveiliging inbouwen tegen volledig ontladen van de accu. 
1. Overzicht met xylofoon ledjes controle unit accu en bewegingssensor 20191029 151146xx

Het hele systeem: de xylofoon met de servo’s die via slagstokjes de tonen aanslaan,
de led-lampjes, de controle-unit, de accu en de bewegingssensor

Het systeem
Het totale systeem bestaat uit:
- de xylofoon eenheid met een Arduino Nano die servo's aanstuurt voor het spelen van de muziek
- een bewegingsdetector
- een set LED-kerstlampjes
- een loodaccu
- een besturingseenheid met een Arduino Nano voor verwerking van de bewegingsdetectie, aansturing en timing van de lichtjes en de muziek, en beveiliging van de loodaccu

        2. De knikkers zijn met plakband aan de slagstokjes vastgemaakt 20191029 151336xx 2
  Met plakband zijn knikkers aan de slagstokjes vastgemaakt

Gekoppelde Nano's
In het hele systeem zitten dus twee Nano's, die ten behoeve van de timing met elkaar gekoppeld zijn. Het geheel wordt in een transparante plastic bak geplaatst, zodat de inwoners en hun gasten kunnen zien hoe alles werkt. 
Het werkende systeem kun je zien opYouTube:  
https://www.youtube.com/watch?v=W4yoncRbtG0
De foto’s bij dit artikel maken duidelijk dat ik geen enkele moeite heb gedaan om er in uiterlijke zin iets moois van te maken. De ware schoonheid zit van binnen!

Computergestuurde xylofoon
In het hele systeem zitten twee Nano's: één op de muziek-unit met software voor het maken van de muziek (de aansturing van de servo's om de noten aan te slaan op de xylofoon), en één in de controle-unit (voor de timing, de aansturing van de bewegingsdetector, de aansturing van de kerstlichtjes en de beveiliging van de accu tegen volledig ontladen).

3. Bewegingssensor 20191029 151642xx 3           

De bewegingssensor

 

De twee Nano's bevinden zich op verschillende plaatsen in het systeem, maar zijn ten behoeve van de timing met één signaaldraad met elkaar verbonden.
Standaard staat de spanning op het xylofoonsysteem uitgeschakeld. Zodra een persoon passeert, komt er spanning via het schakelkastje op het systeem, start de Nano en begint de xylofoon te spelen. Ieder liedje is genummerd. In de EEPROM wordt bijgehouden welk liedje speelt en na afloop wordt het nummer met 1 verhoogd, zodat het volgende liedje wordt afgespeeld, ook al is de spanning weggevallen. Dit wordt cyclisch herhaald, zodat wordt voorkomen dat bij een aan¬wezigheidsdetectie steeds hetzelfde liedje begint te spelen.

Muziek-unit (117 regels code/data)
De bladmuziek van de liedjes is omgezet naar toonhoogte (= noot van de xylofoon, ofwel het nummer van de corresponderende servo) en toonduur (= tijd tussen twee nootaanslagen, ofwel tijd tussen de aansturing van de servo’s). Dat was best veel werk. De opzet van het programma is verder eenvoudig. De controle-unit geeft signaal dat iemand aanwezig is en de software stuurt achtereenvolgens de gewenste servo’s aan met de gewenste tussentijden. Een toon komt tot stand door een servo in 100 milliseconden een hoekverandering van circa 33 graden te laten maken. Een knikker raakt dan net hard genoeg een noot van de xylofoon.

6. Nano voor muziek en spanningsomzetter voor voeding van de servos 20191029 152143xx 2
De Nano voor de muziek en de spanningsomzetter voor de voeding van de servo’s

 

Controle-unit (28 regels code)
De software van de controle-unit bevat minder coderegels, maar is complexer omdat verschillen¬de functies worden gecombineerd. Veel aandacht is besteed aan het zo energiezuinig mogelijk omgaan met de stroom uit de loodaccu (44 Ah). Als niemand in de hal aanwezig is, is de hele aan-sturing van de xylofoon uitgeschakeld en branden de kerstlichtjes niet. Zodra de bewegingsmelder een signaal geeft, geeft de controle-unit dit door aan de muziek-unit. Dan begint de muziek te spelen en gaan de lichtjes aan. Een liedje wordt altijd helemaal afgespeeld. Als daarna nog steeds iemand aanwezig is, wordt het volgende liedje gespeeld, zo niet, dan wordt alles weer uitgeschakeld.

5. Controle unit voor aan uit schakelen van leds en xylofoon 20191029 151604xx 2
De controle-unit voor het aan- en uitschakelen van de leds en de xylofoon

De accuspanning wordt doorlopend gemonitord. Een spanningsdeler bestaande uit weerstanden van 0,5 en 1 Mega-ohm (over 12 V) is aangesloten op een analoge ingang van de Nano. Zodra wordt gedetecteerd dat de accuspanning gedaald is tot 11,8 volt, wordt de accu geheel afgeschakeld. Dit gebeurt door een servo aan te sturen die verbon¬den is met een micro-switch die de accustroom al dan niet door laat. De accu moet dan opgeladen worden.

   

 
Ino-bestand en meer info online

Bij dit project van Frans Coolen hoort natuurlijk een ino-bestand dat je online kunt vinden
op www.pcactive.nl/workshops/4168-workshop-laat-nanos-xylofoon-spelen.
Daarin vind je bijvoorbeeld het programma met 8 kerstliedjes die afgespeeld kunnen worden.