Inhoudsopgave:

Dementievriendelijke mediaspeler: 4 stappen (met afbeeldingen)
Dementievriendelijke mediaspeler: 4 stappen (met afbeeldingen)

Video: Dementievriendelijke mediaspeler: 4 stappen (met afbeeldingen)

Video: Dementievriendelijke mediaspeler: 4 stappen (met afbeeldingen)
Video: How to install and set up Chromecast with Google TV 2024, Juli-
Anonim
Dementievriendelijke mediaspeler
Dementievriendelijke mediaspeler

Muziek kan een groot voordeel hebben voor mensen met dementie. Naast de amusementswaarde kan het een link leggen naar het verleden, herinneringen ontsluiten en maakt het steeds meer deel uit van de dementiezorg. Helaas zijn veel moderne home-entertainmentproducten niet dementievriendelijk met complexe gebruikersinterfaces.

De hier beschreven mediaspeler gedraagt zich als een basisradio met slechts twee bedieningselementen: een 'afstemknop' die de 'zender' selecteert en een volumeregelaar. In dit geval is een 'station' een map met audiobestanden die op een geheugenkaart zijn opgeslagen. Het idee is dat de gebruiker gewoon aan de knop draait totdat hij iets hoort dat hij leuk vindt. De 'station'-bestanden worden vervolgens in willekeurige volgorde afgespeeld.

Het is net als een radio die alleen goede muziek speelt zonder reclame!

Benodigdheden

De dementievriendelijke mediaspeler vereist slechts een handvol componenten die ongeveer £ 20 kosten: -

  1. Arduino single board microcontroller. Ik heb een Arduino UNO gebruikt, maar elk compatibel model zou moeten werken.
  2. DFPlayer-compatibele MP3-module. Ik gebruikte de goedkope Sodial MP3-TF-16P
  3. MicroSD-kaart voor muziekopslag
  4. Roterende encoder voor 'tuning'
  5. 10K ohm potentiometer voor volumeregeling
  6. 1K ohm weerstand
  7. Perfboard voor montage
  8. Externe voeding (9-12V @2A aanbevolen)
  9. Luidspreker (3ohm @ 5W of vergelijkbaar)

Er is ook een basiselektronica-toolkit nodig, samen met een pc waarop de Arduino IDE draait om de schets te uploaden.

Stap 1: De hardware

de hardware
de hardware

Het hart van de mediaspeler is de DFPlayer MP3-module. Deze combineert een MP3-decoder, SD-kaartlezer en een 3 Watt monoversterker in een klein, voordelig pakket. De MP3-module wordt aangestuurd door een Arduino-microcontroller. Er zijn slechts een paar verbindingen nodig met de DFPlayer-module: -

  1. +5V (pin1)
  2. Serieel ontvangen (pin2)
  3. Serieel verzenden (pin 3)
  4. Uitgang naar luidspreker (pinnen 6 en 8)
  5. Massa (pinnen 7 en 10)
  6. Bezet (pin 16)

De Arduino krijgt input van een roterende encoder (de afstemknop) en een potentiometer (volumeregeling). De Busy-pin van de DFPlayer-module is verbonden met Digital-pin 6 van de Arduino.

De bedrading van het breadboard-prototype is hierboven weergegeven. Let op de 1K-weerstand tussen de Arduino en de seriële RX-pin van de MP3-module. Dit is nodig om de 5V Arduino te koppelen aan de 3.3V DFPlayer.

Houd er ook rekening mee dat de DFPlayer-module een stabiele voeding vereist en waarschijnlijk niet correct zal werken met alleen USB-voeding. Ik nam de 5V-voeding van de Arduino die op zijn beurt wordt gevoed via een externe PSU. Hoewel dit werkte, zou je misschien een aparte voeding voor de MP3-module kunnen overwegen.

Stap 2: De software

De software
De software

De Arduino-schets die de mediaspeler bestuurt, is relatief eenvoudig. De hoofdlus wordt 100 keer per seconde uitgevoerd en heeft drie functies: -

  1. Controleer de status van de 'tuning'-encoder
  2. Controleer de status van de volumepot
  3. Controleer of het afspelen van de huidige track is afgelopen.

De afspeelstatus wordt bepaald door de 'busy'-pin van de DFPlayer-module te pollen die is gekoppeld aan digitale pin 6 van de Arduino Uno.

lege lus () {

boolean bezet = onwaar; vertraging (10); if (myDFPlayer.available()) myDFPlayer.read(); // nodig om ack buffer schoon te houden checkVol(); checkTuning(); bezet = digitalRead (busyPin); // controleer of het huidige nummer klaar is if (busy == 1) { playStation(); vertraging (300); // wacht op bezet pin } } }

Uitgebreide foutopsporingscode is opgenomen in de schets. Dit verzendt regelmatig statusberichten via de IDE seriële poort om te helpen bij het oplossen van problemen. Het kan worden in- of uitgeschakeld door regel 14 te bewerken.

boolean serialDebug = false; // probleemoplossing in-/uitschakelen

Evenzo kan de volgorde waarin de nummers worden afgespeeld, worden gewijzigd van willekeurig naar sequentieel door regel 15. te bewerken

boolean randomTrackPlay = true; // randomiseer de trackvolgorde

Er moeten twee externe bibliotheken worden opgenomen om de schets correct te compileren - SoftwareSerial.h en DFRobotDFPlayerMini.h

De volledige schets is te vinden op mijn GitHub-pagina.

Stap 3: De muziek organiseren

De muziek organiseren
De muziek organiseren

De muziekbestanden worden gekopieerd naar een SD-kaart die in de DFPlayer-kaartsleuf wordt geplaatst. Dit project behandelt elke map op de SD-kaart als een 'station' dat kan worden geselecteerd via de afstemknop.

De bestanden moeten op een specifieke manier zijn georganiseerd om herkend te worden. Bestanden worden opgeslagen in directory's met de namen 01, 02, enz. De directorynamen moeten twee cijfers lang zijn met een voorloop 'nul', d.w.z. 01 tot een maximum van 99.

Binnen elke map moeten de audiobestanden de naam 001.mp3, 002.mp3 tot 999.mp3 hebben. Elke bestandsnaam is drie cijfers lang met voorloop 'nullen' en een mp3-bestandsextensie. De DFPlayer-module zal ook. WAV-bestanden afspelen, hoewel ik dit niet heb geprobeerd.

De bestandsnaamconventie die door de module wordt gebruikt, maakt het moeilijk om te bepalen welk nummer welk nummer is, maar dit maakt niet uit voor deze toepassing aangezien bestanden willekeurig worden afgespeeld.

Ik heb de cd-collectie van mijn moeder geript naar 128 kbs MP3's en de muziek per genre geordend, waarbij ik alle opera-, orkest-, soundtrack-, enz.-tracks in hun eigen mappen plaatste. Dit resulteerde in een klein aantal stations met elk een groot aantal tracks - vergelijkbaar met een echte radio.

Stap 4: Eindmontage

Eindmontage
Eindmontage

Voor deze build heb ik een oude bakelieten radiokoffer gebruikt die al tientallen jaren op mijn boekenplank wacht op een geschikt project. Het ziet er niet alleen mooi uit, maar het is direct herkenbaar als een radio en heeft slechts twee bedieningselementen waardoor het perfect is voor dit project. Het grootste probleem dat ik tegenkwam, was om de ouderwetse knoppen op de moderne pot en encoder te laten passen. Sommige vijlen en krimpkous losten het probleem op.

De eenvoudige schakeling rechtvaardigde het maken van een PCB niet, dus ik heb het apparaat met de hand bedraad met behulp van een UNO-prototype breakout-bord zoals hierboven weergegeven.

Toekomstige verbeteringen omvatten een geschakelde volumeregeling om het apparaat aan en uit te zetten. Dit gebeurt momenteel aan het stopcontact. Er zullen enkele interne LED's worden toegevoegd om aan te geven of het apparaat wordt gevoed.

De mediaspeler werkt zoals bedoeld en mijn moeder wist instinctief hoe ze hem moest bedienen, wat het hoofddoel van het project was. Doordat ze niet met een onbegrijpelijke afstandsbediening hoeft te navigeren, heb je haar muzikale herinneringen altijd bij de hand.

De willekeurige interface in radiostijl biedt ook een verfrissend directe manier om naar elke muziekcollectie te luisteren - de volgende taak is om er een voor mezelf te maken en deze te laden met Classic Rock!

Assistive Tech-wedstrijd
Assistive Tech-wedstrijd
Assistive Tech-wedstrijd
Assistive Tech-wedstrijd

Tweede prijs in de Assistive Tech-wedstrijd

Aanbevolen: