Table des matières:

Un juke-box pour les tout-petits Aka Raspi-Music-Box : 5 étapes
Un juke-box pour les tout-petits Aka Raspi-Music-Box : 5 étapes

Vidéo: Un juke-box pour les tout-petits Aka Raspi-Music-Box : 5 étapes

Vidéo: Un juke-box pour les tout-petits Aka Raspi-Music-Box : 5 étapes
Vidéo: 🎙 Créez votre JUKEBOX 🎶 connecté avec un RASPBERRY PI ! Votre lecteur musical 🎶 à la maison ! 2024, Novembre
Anonim
Un juke-box pour les tout-petits… Aka Raspi-Music-Box
Un juke-box pour les tout-petits… Aka Raspi-Music-Box

Inspiré par l'instructable « Raspberry-Pi-based-RFID-Music-Robot » décrivant un lecteur de musique ROALDH construit pour son enfant de 3 ans, j'ai décidé de construire un juke-box pour mes enfants encore plus jeunes. Il s'agit essentiellement d'une boîte avec 16 boutons et un Raspi 2 à l'intérieur qui joue des chansons via la chaîne stéréo attachée chaque fois que l'un des boutons est enfoncé.

De quoi as-tu besoin:

  • Un Raspberry Pi avec alimentation
  • 16 boutons - du genre qui sont temporairement fermés lorsqu'on les pousse (ou le nombre de boutons que vous souhaitez - conseil: pas plus que vous n'avez de pins d'entrée…;)) J'ai utilisé celui-ci: bouton pour 0,50 €
  • du fil fin
  • une résistance 10kOhm et une résistance 1kOhm par bouton (à moins que vous ne vouliez vous fier aux résistances pull-up/down internes du Raspi, vous pouvez ignorer cela)
  • décapant
  • en-tête femelle (2x20 broches)
  • du bois fin pour construire la boîte (j'ai utilisé 2 feuilles de 5x400x400mm pour le recto et le verso plus une bande de 2000x50x5mm pour découper les côtés)
  • 24 vis et un peu de colle pour assembler la boite
  • un peu de peinture pour le rendre coloré
  • câble audio pour connecter le Raspi à votre chaîne stéréo ou haut-parleurs actifs (prise vers tout ce dont vous avez besoin à l'autre extrémité)
  • outils: un fer à souder, une pince à fil, une pince à dénuder idéalement, une scie, une perceuse, un tournevis, un pinceau…
  • en option: carte son USB si vous voulez que la musique sonne bien
  • en option: carte wifi si vous souhaitez vous connecter à un ancien Raspi sans ouvrir la box

Veuillez noter qu'il s'agit de mon premier instructable et que j'ai fait ce projet il y a un certain temps… Je le fais alors que je continue d'être interrogé sur la façon dont VLC joue les chansons dans la section commentaires de l'instructable mentionné ci-dessus (le mplayer utilisé là-bas n'est plus pris en charge à ma connaissance). Je sais que ces instructions ne sont pas très bonnes, mais j'espère qu'il vous sera possible de suivre… sinon, veuillez également regarder l'original instructable et s'il vous plaît laissez des commentaires ci-dessous pour me dire où vous êtes coincé… Je vais ensuite essayer de m'améliorer…

Étape 1: Construisez une boîte…

Construisez une boîte…
Construisez une boîte…
Construisez une boîte…
Construisez une boîte…

Donc la première chose que vous devez faire est de construire une boîte… J'ai fait la mienne assez grande parce que j'ai laissé un peu d'espace sous chaque bouton pour une étiquette… J'ai prévu d'imprimer des photos pour chaque chanson, de les plastifier peut-être et de les marquer en bleu sous le boutons… leçon apprise: au moment où vous imprimez les étiquettes, vos enfants connaissent toutes les chansons et vous demandent d'en changer certaines… Alors la prochaine fois, je construirais une boîte plus petite et rapprocherais les boutons…

Donc, retour à ma boîte… j'ai acheté deux feuilles de contreplaqué 400 x 400 x 5 mm et une bande de 2000 x 50 x 5 mm… puis la première étape, la plus importante: ma fille a été autorisée à peindre le panneau avant dans son choix de couleurs…:) Pendant qu'elle peignait, j'ai coupé le long morceau en 5 bandes - deux de 400 mm de long, deux de 390 mm de long et les restes…;) ceux-ci j'ai collé au dos de la feuille fraîchement peinte… puis j'ai percé 12 trous de l'extérieur et vissé 12 vis… J'ai ensuite soigneusement aligné l'autre feuille au dos, percé 12 autres trous pour 12 vis supplémentaires pour fermer la boîte une fois que j'avais terminé. (Je sais que 12 vis peuvent être un peu exagérées mais les enfants sont forts…:))

D'un côté, j'ai utilisé une lime (vous pouvez utiliser un dremel pour accélérer les choses) pour découper un peu de bois pour passer à travers les câbles. J'ai ensuite également percé les trous pour les 16 boutons et les ai installés.

Étape 2: câblez les boutons

Câblez les boutons
Câblez les boutons

Alors maintenant, vous avez une boîte avec 16 boutons… Ensuite, vous devez les câbler… J'ai connecté l'un de leurs pôles à la terre en guirlande. Idéalement, vous aurez des petits connecteurs pour le faire… Je les ai soudés, ce qui était un cauchemar majeur et posera encore plus de problèmes si jamais je devais retirer l'un des boutons. Ensuite, j'ai attaché leurs autres pôles à un fil rouge chacun… Ceux-ci ont ensuite été soudés à la carte de connexion que vous pouvez voir allongée au milieu…

Quel bouton à quelle broche ? Bouton 1-16 dans cet ordre: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Veuillez également vérifier les événements de pression sur le bouton de capture section dans le code plus tard.

(S'il vous plaît ne me demandez pas à quoi servaient les fils enroulés… je ne me souviens pas)

Étape 3: Facultatif: fabrication d'une carte avec des résistances de tirage vers le haut et vers le bas

Facultatif: fabrication d'une carte avec des résistances de tirage vers le haut et vers le bas
Facultatif: fabrication d'une carte avec des résistances de tirage vers le haut et vers le bas
Facultatif: fabrication d'une carte avec des résistances de tirage vers le haut et vers le bas
Facultatif: fabrication d'une carte avec des résistances de tirage vers le haut et vers le bas

Si vous n'êtes pas sûr de ce que sont les résistances pull up et pull down, vous devriez facilement trouver de nombreuses informations en ligne. Le raspi en a des intégrés ou vous pouvez en faire des externes comme je l'ai fait ici. Cette étape est facultative car je ne pense pas que vous en ayez vraiment besoin.

Alors pourquoi je l'ai fait ? Parfois, la musique commençait à jouer lorsque j'allumais/éteignais les appareils électroménagers de l'appartement. J'ai d'abord pensé qu'il captait des ondes électromagnétiques ou quelque chose du genre. J'ai donc ajouté les résistances pull-up/down… Comme cela n'améliorait pas la situation, j'ai ajouté des condensateurs en plus. Cela n'a toujours pas aidé… la prochaine chose que je voulais essayer était de couvrir l'intérieur de la boîte avec du papier d'aluminium comme blindage. Comme le problème s'est arrêté quand nous avons déménagé, je n'ai jamais essayé ça… Alors quel était le problème ? Je ne sais pas… c'était peut-être des variations dans la ligne électrique ?

Conclusion: je vous conseillerais d'abord de simplement connecter les boutons directement (vous verrez dans le code plus tard quel bouton va sur quelle broche) et de ne faire cette étape que si vous rencontrez des problèmes. J'espère que vous pouvez voir sur les photos ci-dessus comment j'ai fait cela. En gros il y a une barre à putt sur le header au milieu puis de chaque côté j'ai connecté les deux résistances et les câbles des boutons en une rangée.

Étape 4: Le code Python

Ci-joint vous trouverez le code (en python) qui gère la musicbox. J'ai ajouté pas mal de commentaires donc j'espère que c'est explicite. Juste au cas où voici une explication rapide. Il est préférable de commencer à lire la section des variables en haut, puis de passer tout en bas.

En bas, vous trouverez une boucle qui s'exécute tout le temps. Il vérifie d'abord si une certaine séquence de boutons a été enfoncée - c'était ma façon d'utiliser un certain contrôle parental. Ensuite, il y a les fonctions qui jouent la musique.

Au-dessus de la boucle principale, vous trouverez des détections d'événements - celles-ci sont exécutées si l'un des boutons est enfoncé. Chaque bouton appelle la fonction ButtonPress en passant un identifiant.

Alors comment lui faire jouer la musique ? Pour faire simple, je viens de générer un dossier pour chaque bouton. Quels que soient les mp3 que vous mettez dans ces dossiers, la fonction s'ajoute à la liste de lecture.

Veuillez noter que si vous n'avez pas utilisé de résistances physiques de tirage, vous devrez modifier la section avec la numérotation BCM en ceci:

# configuration à l'aide de la numérotation BCMGPIO.setmode(GPIO. BCM) GPIO.setup(04, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(17, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(27, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(22, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(05, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(06, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(13, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (19, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(26, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(18, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(23, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(24, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (12, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (16, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (20, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(21, GPIO. IN, pull_up_down = GPIO. PUD_UP)

Étape 5: Configuration de votre Rapsi

Il faudra aussi bien sûr mettre en place le raspi… J'ai juste utilisé l'installation standard de Noop. Je suis sûr que vous trouverez des tonnes d'instructions sur la façon de le faire…

Pour utiliser python, vous devrez "sudo apt-get install python-dev"

Mon programme utilise VLC pour jouer la musique:

  • J'ai obtenu la connexion Python d'ici (j'espère qu'elle est toujours à jour):
  • Ensuite, je l'ai installé en utilisant "sudo python setup.py install"
  • Puis installé VLC "sudo apt-get install vlc"
  • Collez les fichiers vlc.py et vlc.pyc dans le même répertoire que votre programme
  • Plus d'informations sur

Mes notes indiquent que vous devez également installer les éléments suivants pour accéder aux broches GPIO à partir de python (mais cela peut être obsolète):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./configurer
  • Fabriquer
  • sudo faire vérifier
  • sudo faire installer

Pour faire fonctionner votre programme, vous devrez appeler "sudo python yourfilename.py".

Conseillé: