Innehållsförteckning:

A Juke Box for the Very Young Aka Raspi-Music-Box: 5 steg
A Juke Box for the Very Young Aka Raspi-Music-Box: 5 steg

Video: A Juke Box for the Very Young Aka Raspi-Music-Box: 5 steg

Video: A Juke Box for the Very Young Aka Raspi-Music-Box: 5 steg
Video: 8ban - mini playable Vinyl Records from Japan 2024, November
Anonim
En Juke Box för de allra yngsta … Aka Raspi-Music-Box
En Juke Box för de allra yngsta … Aka Raspi-Music-Box

Inspirerad av den instruerbara "Raspberry-Pi-based-RFID-Music-Robot" som beskriver en musikspelare ROALDH-byggnad för sin 3-åring bestämde jag mig för att bygga en jukebox för mina ännu yngre barn. Det är i grunden en låda med 16 knappar och en Raspi 2 inuti som spelar låtar via den anslutna stereon när någon av knapparna trycks in.

Vad du behöver:

  • En Raspberry Pi med strömförsörjning
  • 16 knappar - den typ som tillfälligt stängs när du trycker på den (eller hur många knappar du vill - råd: inte mer än du har inmatningsnålar …;)) Jag använde den här: knappen för € 0,50)
  • lite tunn tråd
  • en 10kOhm och en 1kOhm resister per knapp (om du inte vill förlita dig på de interna pull-up/down-motstånden i Raspi kan du hoppa över detta)
  • bandbräda
  • honhuvud (2x20 stift)
  • lite tunt trä för att bygga lådan (jag använde 2 ark 5x400x400mm för framsidan och baksidan plus en 2000x50x5mm remsa att skära sidorna från)
  • 24 skruvar och lite lim för att sätta ihop lådan
  • lite färg för att göra det färgstarkt
  • ljudkabel för att ansluta Raspi till din stereo eller aktiva högtalare (uttag till vad du än behöver i andra änden)
  • verktyg: ett lödkolv, trådklippare, trådavdragare helst, såg, borr, skruvmejsel, pensel …
  • valfritt: USB -ljudkort om du vill att musiken ska låta bra
  • valfritt: wifi -kort om du vill ansluta till en gammal Raspi utan att öppna lådan

Observera att det här är min första instruerbara och jag gjorde det här projektet för ett tag sedan … Jag gör det medan jag fortsätter att bli tillfrågad om VLC -sättet att spela låtarna i kommentarsfältet i instruerbara nämnda ovan (mplayer används där stöds inte längre så vitt jag vet). Jag vet att dessa instruktioner inte är särskilt bra, men hoppas att det är möjligt för dig att följa … om inte, titta också på den ursprungliga instruerbara och lämna kommentarer nedan och berätta var du fastnade … Jag ska sedan försöka förbättra …

Steg 1: Bygg en låda …

Bygg en låda …
Bygg en låda …
Bygg en låda …
Bygg en låda …

Så det första du behöver göra är att bygga en låda … Jag gjorde min ganska stor eftersom jag lämnade lite utrymme under varje knapp för en etikett … Jag planerade att skriva ut några bilder för varje låt, laminera dem kanske och blåmärka dem under knappar … lektion: när du skriver ut etiketterna kan dina barn alla låtarna hårt och kräver att du byter några … Så nästa gång skulle jag bygga en mindre låda och sätta knapparna närmare varandra …

Så, tillbaka till min låda … Jag köpte två ark plywood 400 x 400 x 5 mm och en 2000 x 50 x 5 mm remsa … sedan det första, viktigaste steget: min dotter fick måla frontpanelen i sitt val av färger …:) Medan hon målade skar jag den långa biten i 5 remsor - två 400 mm långa, två 390 mm långa och de överblivna …;) dessa limmade jag på baksidan av det nymålade arket … sedan borrade jag 12 hål utifrån och skruvade in 12 skruvar … Jag justerade sedan försiktigt det andra arket på baksidan, borrade ytterligare 12 hål för ytterligare 12 skruvar för att stänga lådan när jag var klar. (Jag vet att 12 skruvar kan vara lite överkill men barn är starka …:))

På ena sidan använde jag en fil (du kan använda en dremel för att påskynda saker) för att klippa ut lite av träet för att passera genom kablarna. Jag borrade sedan också hålen för de 16 knapparna och installerade dem.

Steg 2: Koppla upp knapparna

Trä upp knapparna
Trä upp knapparna

Så nu har du en låda med 16 knappar … nästa måste du koppla upp dessa … Jag kopplade en av deras stolpar till marken på ett tusensköna sätt. Helst kommer du att ha små kontakter för att göra det … Jag lödde på dem, vilket var en stor mardröm och kommer att orsaka ännu fler problem om jag någonsin måste ta ut någon av knapparna. Sedan fästde jag deras andra stolpar på en röd tråd varje … Dessa lödde jag sedan på kontaktkortet du kan se ligga i mitten …

Vilken knapp till vilken nål? Knapp 1-16 i denna ordning: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Kontrollera också "fångstknappens tryckhändelser" avsnitt "i koden senare.

(Fråga mig inte vad de ihoprullade trådarna var till … jag kan inte komma ihåg)

Steg 3: Valfritt: Gör en bräda med upp- och neddragningsmotstånd

Valfritt: Göra en bräda med upp- och neddragningsresistorer
Valfritt: Göra en bräda med upp- och neddragningsresistorer
Valfritt: Göra en bräda med upp- och neddragningsresistorer
Valfritt: Göra en bräda med upp- och neddragningsresistorer

Om du är osäker på vad motstånd för upp- och neddragningar är bör du enkelt hitta massor av information online. Raspi har några inbyggda eller så kan du göra externa sådana som jag gjorde här. Det här steget är valfritt eftersom jag inte tror att du verkligen behöver det.

Så varför gjorde jag det? Ibland började musiken spela när jag slog på/av apparater i lägenheten. Jag trodde först att det var att plocka upp elektromagnetiska vågor eller något. Så jag lade till pull-up/down-motstånden … Eftersom detta inte förbättrade situationen lade jag till några kondensatorer utöver. Detta hjälpte fortfarande inte … nästa sak jag ville försöka var att täcka insidan av lådan med aluminiumfolie som skärmning. När problemet slutade när vi flyttade, slutade jag aldrig med att prova detta … Så vad var problemet? Jag vet inte … det kan ha varit variationer i kraftledningen?

Slutsats: Jag skulle råda dig att först bara ansluta knapparna direkt (du kommer att se i koden senare vilken knapp som går på vilken pin) och bara göra detta steg om du har några problem. Jag hoppas att du kan se på bilderna ovan hur jag gjorde detta. I grund och botten finns det en stapel att sätta på rubriken i mitten och sedan på varje sida kopplade jag de två motstånden och kablarna från knapparna i en rad.

Steg 4: Pythonkoden

Bifogad här hittar du koden (i python) som hanterar musiklådan. Jag la till en hel del kommentarer så förhoppningsvis är det självförklarande. Bara för en snabb förklaring här. Det är bäst att börja läsa variabelsektionen högst upp och sedan hoppa hela vägen till botten.

Längst ner hittar du en loop som löper hela tiden. Den kontrollerar först om en viss knappsekvens trycktes in - det här var mitt sätt att använda lite föräldrakontroll. Sedan finns det de funktioner som spelar musiken.

Ovanför huvudslingan hittar du några händelsedetekteringar - dessa utförs om du trycker på någon av knapparna. Varje knapp anropar knappen ButtonPress som skickar en identifierare.

Så hur får man den att spela musiken? För att hålla det enkelt skapade jag bara en mapp för varje knapp. Oavsett vilka mp3 -filer du lägger i dessa mappar, läggs funktionen till i spellistan.

Observera att om du inte använde fysiska dragmotstånd måste du ändra sektionen med BCM -numreringen till detta:

# installation med BCM -numreringGPIO.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)

Steg 5: Konfigurera din Rapsi

Du kommer naturligtvis också att behöva ställa in raspi … Jag har precis använt standard Noop -installationen. Jag är säker på att du hittar massor av instruktioner om hur du gör det …

För att använda python måste du "sudo apt-get install python-dev"

Mitt program använder VLC för att spela musik:

  • Jag fick Python-anslutningen härifrån (hoppas att detta fortfarande är aktuellt):
  • Sedan installerade jag det med "sudo python setup.py install"
  • Sedan installerade VLC "sudo apt-get install vlc"
  • Stick in filerna vlc.py och vlc.pyc i samma katalog som ditt program
  • Mer information på

Mina anteckningar säger att du också måste installera följande för att komma åt GPIO -stiften från python (men det kan vara inaktuellt):

  • wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
  • cd bcm2835-1.xx
  • ./konfiguration
  • göra
  • sudo kontrollera
  • sudo gör installationen

För att få ditt program att köra måste du ringa "sudo python yourfilename.py".

Rekommenderad: