Indholdsfortegnelse:
- Trin 1: Byg en kasse …
- Trin 2: Tråd op knapperne
- Trin 3: Valgfrit: Lav et bord med pull -up og pull down -modstande
- Trin 4: Python -koden
- Trin 5: Opsætning af din Rapsi
Video: En jukeboks til de helt unge Aka Raspi-Music-Box: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Inspireret af den instruerbare "Raspberry-Pi-based-RFID-Music-Robot", der beskriver en musikafspiller ROALDH-konstruktion til sin 3-årige, besluttede jeg at bygge en jukebox til mine endnu yngre børn. Det er dybest set en boks med 16 knapper og en Raspi 2 indeni, der afspiller sange via det vedhæftede stereoanlæg, når der trykkes på en af knapperne.
Hvad du har brug for:
- En Raspberry Pi med strømforsyning
- 16 knapper - den slags, der midlertidigt lukkes, når der trykkes på (eller hvor mange knapper du end gerne vil - råd: ikke mere end du har inputstifter …;)) Jeg brugte denne: knap til € 0,50)
- lidt tynd tråd
- en 10kOhm og en 1kOhm resister pr. knap (medmindre du vil stole på de interne pull-up/down modstande på Raspi, så kan du springe dette over)
- stripboard
- kvindelig header (2x20 pin)
- lidt tyndt træ til at bygge kassen (jeg brugte 2 ark 5x400x400mm til for- og bagside plus en 2000x50x5mm strimmel til at skære siderne fra)
- 24 skruer og en smule lim til at sætte kassen sammen
- lidt maling for at gøre det farverigt
- lydkabel til tilslutning af Raspi til din stereo eller aktive højttalere (stik til det, du har brug for i den anden ende)
- værktøj: et loddejern, wire clippers, wire stripper ideelt set, sav, boremaskine, skruetrækker, pensel …
- valgfrit: USB -lydkort, hvis du vil have musikken til at lyde godt
- valgfrit: wifi -kort, hvis du gerne vil oprette forbindelse til en gammel Raspi uden at åbne boksen
Bemærk, at dette er min første instruerbare, og jeg lavede dette projekt for et stykke tid siden … Jeg gør det, mens jeg bliver ved med at blive spurgt om VLC -måde at afspille sangene i kommentarfeltet i instruktøren nævnt ovenfor (mplayeren bruges der understøttes ikke længere, så vidt jeg ved). Jeg ved, at disse instruktioner ikke er særlig gode, men håber det er muligt for dig at følge … hvis ikke, kan du også se på den originale instruerbare og efterlade kommentarer herunder, der fortæller mig, hvor du sidder fast … Jeg vil derefter forsøge at forbedre …
Trin 1: Byg en kasse …
Så det første du skal gøre er at bygge en kasse … Jeg lavede min ret stor, fordi jeg efterlod lidt plads under hver knap til en etiket … Jeg planlagde at printe nogle billeder ud for hver sang, laminer dem måske og blå mærke dem under knapper … lært lektion: Når du udskriver etiketterne, kender dine børn alle sangene hårdt og kræver, at du ændrer nogle … Så næste gang ville jeg bygge en mindre kasse og sætte knapperne tættere på hinanden …
Så tilbage til min kasse … Jeg købte to ark krydsfiner 400 x 400 x 5 mm og en 2000 x 50 x 5 mm strimmel … så det første, vigtigste trin: min datter fik lov til at male frontpanelet i sit valg af farver …:) Mens hun malede, skar jeg den lange bit i 5 strimler - to 400 mm lange, to 390 mm lange og de venstre oversider …;) disse limede jeg på bagsiden af det nymalede ark … så borede jeg 12 huller udefra og skruede 12 skruer fast… Jeg justerede derefter forsigtigt det andet ark på bagsiden, borede yderligere 12 huller til yderligere 12 skruer for at lukke boksen, når jeg var færdig. (Jeg ved, at 12 skruer kan være lidt overkill, men børn er stærke …:))
På den ene side brugte jeg en fil (du kunne bruge en dremel til at fremskynde tingene) til at skære lidt af træet igennem for at passere kablerne. Jeg borede derefter også hullerne til de 16 knapper og installerede dem.
Trin 2: Tråd op knapperne
Så nu har du en kasse med 16 knapper … derefter skal du tilslutte disse … Jeg tilsluttede en af deres stænger til jorden på en daisy chain måde. Ideelt set vil du have små stik til at gøre det … Jeg loddet dem på, hvilket var et stort mareridt og vil forårsage endnu flere problemer, hvis jeg nogensinde skal tage nogen af knapperne ud. Derefter fastgjorde jeg deres andre poler til en rød ledning hver … Disse lodde jeg derefter til stikket, du kan se ligge i midten …
Hvilken knap til hvilken pin? Knap 1-16 i denne rækkefølge: GPIO 18. 27, 17, 04, 23, 24, 22, 05, 16, 12, 06, 13, 21, 20, 19, 26. Kontroller også "fangstknapens trykbegivenheder" sektion "i koden senere.
(Spørg mig venligst ikke, hvad de sammenrullede ledninger var til … jeg kan ikke huske det)
Trin 3: Valgfrit: Lav et bord med pull -up og pull down -modstande
Hvis du er i tvivl om, hvad mod- og trækmodstande er, bør du let finde masser af information online. Raspi har nogle indbyggede, eller du kan gøre eksterne som jeg gjorde her. Dette trin er valgfrit, da jeg ikke tror, du virkelig har brug for det.
Så hvorfor gjorde jeg det? Nogle gange begyndte musikken at spille, da jeg tændte/slukkede apparater i lejligheden. Jeg troede først, det var at opfange elektromagnetiske bølger eller noget. Så jeg tilføjede pull-up/down modstande … Da dette ikke forbedrede situationen, tilføjede jeg nogle kondensatorer derudover. Dette hjalp stadig ikke … det næste jeg ville prøve var at dække indersiden af kassen med aluminiumsfolie som afskærmning. Da problemet stoppede, da vi flyttede hus, endte jeg aldrig med at prøve dette … Så hvad var problemet? Jeg ved det ikke … det kan have været variationer i kraftledningen?
Konklusion: Jeg vil råde dig til først at forbinde knapperne direkte (du vil se i koden senere, hvilken knap der går på hvilken pin) og kun gøre dette trin, hvis du har nogle problemer. Jeg håber, at du kan se på billederne ovenfor, hvordan jeg gjorde dette. Grundlæggende er der en bar til at sætte på headeren i midten, og derefter tilsluttede jeg på hver side de to modstande og kablerne fra knapperne i en række.
Trin 4: Python -koden
Vedhæftet her finder du koden (i python), der administrerer musikboksen. Jeg tilføjede en del kommentarer, så forhåbentlig er det selvforklarende. Bare i tilfælde her en hurtig forklaring. Det er bedst at begynde at læse variabelsektionen øverst og derefter springe helt til bunden.
I bunden finder du en loop, som kører hele tiden. Det kontrollerer først, om der blev trykket på en bestemt sekvens af knapper - det var min måde at bruge noget forældrekontrol på. Så er der de funktioner, der afspiller musikken.
Over hovedsløjfen finder du nogle hændelsesdetekter - disse udføres, hvis der trykkes på en af knapperne. Hver knap kalder ButtonPress -funktionen forbi en identifikator.
Så hvordan får man det til at afspille musikken? For at holde det enkelt, genererede jeg bare en mappe for hver knap. Uanset hvilke mp3'er du lægger i disse mapper, tilføjes funktionen til afspilningslisten.
Bemærk, hvis du ikke brugte fysiske pull -up -modstande, skal du ændre sektionen med BCM -nummereringen til dette:
# opsætning ved hjælp af BCM -nummereringGPIO.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)
Trin 5: Opsætning af din Rapsi
Du bliver selvfølgelig også nødt til at konfigurere raspi … Jeg har lige brugt standard Noop -installationen. Jeg er sikker på, at du finder masser af instruktioner om, hvordan du gør det …
For at bruge python skal du "sudo apt-get install python-dev"
Mit program bruger VLC til at afspille musikken:
- Jeg fik Python-forbindelsen herfra (håber dette stadig er opdateret):
- Derefter installerede jeg det ved hjælp af "sudo python setup.py install"
- Derefter installeret VLC "sudo apt-get install vlc"
- Stick filerne vlc.py og vlc.pyc i den samme mappe som dit program
- Flere oplysninger på
Mine noter siger, at du også skal installere følgende for at få adgang til GPIO Pins fra python (men dette kan være forældet):
- wget https://www.airspayce.com/mikem/bcm2835/bcm2835-1…. zxvf bcm2835-1.xx.tar.gz
- cd bcm2835-1.xx
- ./konfiguration
- lave
- sudo tjek
- sudo foretag installation
For at få dit program til at køre, bliver du nødt til at kalde "sudo python yourfilename.py".
Anbefalede:
Helt oplyst - programmerbart RGB LED -akrylskilt: 3 trin (med billeder)
Helt oplyst - Programmerbart RGB LED -akrylskilt: Har leget med laserskæreren/graveren, og blev virkelig forelsket i gravering for at klare akryl og skinne en lyskilde fra kanten. Tykkelsen af den anvendte acryl er a.25 " ark, der skærer virkelig rent af l
Sådan laver du en mus helt lydløs: 8 trin (med billeder)
Sådan laver du en mus helt lydløs: BAGGRUNDINFO: Jeg har altid hadet den høje klikende støj fra enhver mus, da jeg ikke kan lide at genere andre mennesker, mens jeg klikker væk i et videospil eller bare surfer på nettet. Af denne grund besluttede jeg mig for at ændre min første ordentlige gamingmus til tr
CrowPi-leder dig fra nul til helt med hindbær Pi: 9 trin
CrowPi-leder dig fra nul til helt med hindbær Pi: Hvad er CrowPi? CrowPi er et udviklingsbræt udstyret med 7 tommer skærm, der kan hjælpe dig med at lære Raspberry Pi på en lettere måde. Med CrowPi kan du ikke kun lære grundlæggende datalogi, men også øve programmering og gennemføre mange elektroner
Budgettering for unge forældre: 11 trin
Budgettering til unge forældre: Vi ved alle, hvordan det er at have lønregninger på et tidspunkt i vores liv. Det er ikke altid det nemmeste at gøre og finde ud af. Det kan dog blive vanskeligere, hvis du tilføjer bleer og servietter eller endda tøj. Jeg ved, hvor svært det kan b
Byg dit helt eget Nixie -ur HW og SW: 7 trin
Bygger dit helt eget Nixie -ur HW og SW: I denne instruktive opbygger vi et brugerdefineret Nixie -ur. Stor tak til JLC PCB for sponsorering af dette projekt. Vi går fra at bygge det brugerdefinerede printkort til 3D -udskrivning af kassen og kodning af softwaren til at køre den. Gratis forsendelse på Fir