
Programmeerbare MP3-audiospeler voor maquettes en bijzondere toepassingen
De laatse firmware revisie is versie 1.10, "build 4613", inclusief de pawn ontwikkelomgeving. Lees meer in de Engelstalige "firmware update description".
Voor gebruik in bezoekerscentra, winkelcentra (achtergrond muziek) en kiosk-applicaties ontwierpen wij een solid-state MP3-speler met een programmeerbare besturing en een koppeling naar externe elektronica. De H0420 MP3 speler biedt een audio signaal van hoge kwaliteit, afkomstig van een CompactFlash kaart (types 1 en 2). De externe elektronica kan bestaan uit een aantal programmeerbare schakelaars en/of LEDs, maar ook uit een micro-controller die via een parallelle of seriële bus communiceert met de MP3-speler. Een directe koppeling naar een PC is ook mogelijk via een RS232 poort of een Ethernet LAN. De functionaliteit van de MP3 besturingslogica is geheel "scriptable" (lees: programmeerbaar) in de pawn Script-taal.


Overzicht van extra informatie
Een productfolder van H0420 MP3 controller, datum 2020-04-03.
Het H0420 bestelformulier waarmee u kleine aantallen van de H0420 en accessoires direct bij ons kunt bestellen. U kunt ook het on-line bestelformulier gebruiken.
De technische documentatie van de H0420 ("datasheet") als PDF bestand, Engelstalig, datum 2020-04-03.
- Een lijst van toepassingsbeschrijvingen met referenties en aanvullend materiaal (grotendeels Engelstalig).
Firmware en ontwikkelomgeving
De nieuwste firmware update voor de H0420 programmeerbare MP3 controller/speler
is versie 1.10, build 4613.
Wanneer u een programmeerbare speler hebt aangeschaft voor 12 december 2011,
is het aan te bevelen de nieuwe firmware te installeren. Apparaten aangeschaft
na deze datum beschikken reeds over de laatste firmware.
De meeste recente versie van de pawn ontwikkelomgeving wordt ook
met deze download geïnstalleerd.
Firmware update versie 1.10, "Build 4613" (december 2011)
Beschrijving van version 1.10, build 4613 (release notes) (december 2011)
Eigenschappen & faciliteiten
Het overzicht hieronder is afkomstig uit het "data sheet" van het product (2020-04-03). Zie voor meer informatie, een folder en een bestelformulier ook de referenties onderaan deze pagina.
- "Solid state" ontwerp.
- Eenvoudig in te bouwen in consoles, schaalmodellen of kiosken, door de afmetingen en de standaard connectoren.
- Groot temperatuurbereik: -40 °C tot +85 °C, geschikt voor buitengebruik.
- Decodeert MPEG Laag 3 stereo/mono kanalen met ondersteuning van alle MPEG monstering frequenties en "bit"-snelheid tot 320 kb/s, inclusief variabele "bit"-snelheid en zeer lage "bit"-snelheden van de MPEG 2.5 uitbreiding (8 kb/s en 16 kb/s).
- Hoge kwaliteit audio signaal, gebaseerd op een 24-bit D/A omzetter met 8× "oversampling" digitaal filter, weinig ruis en weinig vervorming.
- 16 schakelaar connectoren, met dender-filters en Schmitt-"triggers".
- 16 algemene connectoren (I/O pinnen), individueel te configureren.
- 1 analoge uitgang, software-bestuurbaar, inclusief een signaalgenerator.
- I/O pinnen kunnen een LED of "opto-coupler" besturen (indien geconfigureerd als uitgang).
- Een standard LCD module, met een HD44780 controller, is direct ondersteund via 8-bit interface (dit neemt 11 van de 16 I/O pinnen).
- Serieel interface (RS232 met software "handshaking").
- MP3 audio bestanden worden gelezen van een CompactFlash kaart; type 1 en type 2 kaarten (zgn. "microdrives") worden ondersteund. De speler ondersteunt FAT16 en FAT32, en mappen ("directories").
- De speler ondersteunt ID3 tags, inclusief gesynchroniseerde "events" of liedteksten voor Karaoke of besturing van digitale apparatuur.
- Programmeerbaar door de eindgebruiker via een pawn script op de CompactFlash kaart.
- Programmeren is mogelijk, maar niet noodzakelijk. De MP3-speler komt inclusief een aantal kant-en-klare scripts, voor diverse toepassingen, die u direct kunt gebruiken.
- Algemene bestands-I/O naar de CompactFlash kaart wordt ondersteund, voor toepassingen als "log-bestanden", updating van een "playlist" over een seriële lijn, opslaan van de configuratie, of anderzins...
- Repeterend geluid ("sound loops") zonder pauzes of "kliks" zijn mogelijk met deze speler, wat waarschijnlijk uniek is voor een hardware MP3-speler (zelfs de meeste software decoders voor PCs ondersteunen dit niet).
- Ondersteuning voor versleutelde MP3 audio-fragmenten; bij aankoop kan een unieke 128-bit sleutel en bijbehorende software worden aangevraagd.
- Optionele uitbreidingsbus met I2C, SPI en parallel bus (met voeding- e.a. signalen).
Een typerend gebruik van de H0420 is binnen een apparaat of object waar geluid (audio) van hoge kwaliteit wordt gewenst en waar robuustheid en compacte behuizing van belang zijn. Wegens zijn grote temperatuur tolerantie is de speler geschikt voor buitengebruik. Extra ventilatie is niet nodig: de H0420 verbruikt weinig energie en produceert nauwelijks warmte. En door zijn "solid-state" ontwerp (geen bewegende onderdelen) is deze MP3 speler eveneens geschikt voor montage in bewegende/mobile objecten.
Er zijn verschillende behuizingen voor de H0420 MP3 speler/controller: van ontwerp-op-maat tot een standaard behuizing. De afbeelding linksboven toont een behuizing voor de MP3 speler met een barcode-pen, accuvoeding en een geïntegreerde audio-versterker. De afbeelding rechtsboven is van een standaard aluminium behuizing die, met een optionele clip, geschikt is voor montage op een DIN-rail.Klik op de afbeeldingen voor een foto van groter formaat.
De H0420 is "scriptable", dat wil zeggen volledig configureerbaar door de gebruiker. De speler kan reageren op verschillende vormen van invoer: schakelaars, digitaal en serieel (RS232 protocol). Evenzeer kan hij worden gebruikt om verscheidene uitvoervormen te sturen: een LCD, LEDs, "opto-couplers", of componenten die zijn verbonden met de seriële of digitale I/O bus. Via het "script" kan men selectiecriteria voor geluidsfragmenten bepalen en vastleggen. Zo kunt u bijvoorbeeld een spelend fragment afbreken of verschillende fragmenten samenvoegen. Ook kunt u geluid synchroniseren met externe signalen ("events"), gebaseerd op een interne klok van hoge precisie.
De pawn "embedded scripting language", waarop de MP3 player is gebaseerd, is een efficiënte, eenvoudige en betrouwbare Script taal, die in enkele dagen kan worden geleerd. Voor wie reeds vertrouwd is met de programmeersystemen C/C++ zullen enkele uren voldoende zijn. pawn kent een ingebouwd "event-driven" programmeermodel; door deze directe ondersteuning van en respons op gebeurtenissen vereenvoudigt pawn het construeren van reactieve en interactieve systemen.

De MP3 speler ondersteunt het decoderen van de ID3 "tag" (versie 2), een optioneel aanhangsel van een MP3 bestand. Een ID3 tag geeft extra relevante informatie, meestal voorafgaande aan het desbetreffende geluidsfragment. In versie 1 was een vaste set velden beschikbaar met een vaste lengte. In versie 2 bevat elk ID3 aanhangsel één of meer informatiesegmenten ("frames") van een variabele lengte. Elk segment bevat een specifieke omschrijving, zoals de naam van het album, de artiest of de band, de componist, de liedtekst(en), het voorkeursvolume, de klankvoorkeur enz.
Een bijzonder interessante faciliteit van ID3v2 is de mogelijkheid voor het vastleggen van muzieksynchrone songteksten. Oorspronkelijk toegepast voor Karaoke kan men dit nu ook algemeen benutten: met pawn kan de programmeur nagaan welke "opdracht" ("cue") via de tijdcode synchronisatie actueel is. Zie ook de applicatie-noten voor een on-line artikel dat deze toepassing in detail bespreekt.
Bij veel MP3-spelers moeten de geluidsfragmenten in de speler worden "gedownload" via een (USB) kabel naar de PC. Bij bezoekerscentra en kiosk-applicaties is dit onhandig: de MP3-spelers zijn na inbouw in een meubel vaak niet meer te verplaatsen en de maximum lengte van een USB kabel is ook vaak onpraktisch. Bij ons ontwerp staan de MP3-geluidfragmenten op een CompactFlash kaart. Hierdoor kunnen de fragmenten eenvoudig worden aangepast door het verwisselen van de kaart. Om fragmenten op een CompactFlash kaart te zetten, is een goedkope kaartlezer aan een PC (via USB) voldoende. Uploaden/downloaden van bestanden kan nog steeds over RS232 of (m.b.v. een extensie-board) over het netwerk of internet.
Bij sommige toepassingen kunt u de audio-fragmenten op de CompactFlash kaart willen beschermen tegen kopiëren (naar PCs of consumenten-MP3 spelers). De H0420 ondersteunt daartoe versleutelde MP3 tracks met een krachtig algoritme en aan 128-bit sleutel. Deze sleutel is onderdeel van de firmware en de firmware zelf heeft een blokkering tegen lezen. Met andere woorden, de sleutel wordt nooit verstuurd of gecommuniceerd naar de H0420 en staat niet op een plek die toegankelijk is van buitenaf. Een klant kan een unieke 128-bit sleutel aanvragen bij destelling van de H0420, en deze sleutel naar behoefte verrijken met een extra wachtwoord die de klant zelf kiest. Neem contact op met ons om een unieke sleutel te registreren, of voor informatie over deze toepassing.
De H0420 MP3-speler wordt geleverd met diverse applicaties voor configuratie, programmering en besturing. De twee bovenstaande pictogrammen zijn van "FileLink", een programma om bestanden over te zetten via een seriële kabel, en de pawn ontwikkelaarsomgeving "Quincy".
![]()
![]()
Toepassingen
Door zijn programmeerbaarheid is de H0420 flexibel in te passen in veel ontwerpen. We noemen een aantal toepassingsgebieden op, maar de onderstaande lijst is bij lange na geen van volledige opsomming van alle mogelijkheden (voor meer ideeën, zie ook de lijst met beschrijvingen voor specifieke toepassingen aan het einde van dit document).
- Met standaard schakelaars kunt u tracks selecteren en instellingen wijzigen. De mogelijkheden zijn legio: elke schakelaar een eigen track, twee schakelaars om voorwaarts en achterwaards door de tracks te "wandelen", of een combinatie van beide. U kunt een track laten starten bij een druk op een knop, of de track laten afspelen zo lang als dat de knop ingedrukt wordt gehouden. Bovendien kunt een een track willekeurig ("at random") kiezen uit een serie, zodat het audio-effect elke keer weer anders is.
- Naast de schakelaar-invoer beschikt de H0420 ook over digitale I/O-pinnen. Deze pinnen kunnen andere apparaten en/of controllers aansturen, of invoer krijgen van sensoren (zoals afstandssensoren of lichtpoortjes).
- De schakelaar-invoer laat zich prima koppelen aan een "apparaatmodule" ("appliance module") voor het X-10 protocol, ten behoeve van domotica en het op afstand bedienen van apparaten. Apparaatmodules hebben normaliter een aantal relais die reageren op verschillende X-10 opdrachten, waardoor één apparaatmodule een serie van schakelaars op de H0420 kan bedienen.
- Met een barcode scanner aan de RS232 connector kunt u tracks selecteren op basis van barcodes op badges of bonnen. U kunt voor de keuze van de track die barcodes ook combineren met andere criteria, zoals bijvoorbeeld invoer van schakelaars. Tevens hebben wij een eenvoudige, goedkope barcode penscanner direct op de digital I/O pinnen van de MP3-speler aangesloten (Engelstalig artikel).
- Via de RS232 aansluiting koppelt u de H0420 aan vele andere apparaten, zoals computers, bonnenprinters, en professionele audio-apparatuur.
-
De digitale I/O-pinnen van de H0420 kunnen LED's of opto-coupler's aansturen. Eveneens is er ingebouwde ondersteuning voor een LCD (alfa-numeriek).
- Met een minimum aan extra componenten (een infrarood sensor en een weerstand), kunt een een afstandsbediening gebruiken om van track te wisselen of installingen van de H0420 te wijzigen. De analyse van het infrarood-protocol gebeurt in software (door de klant aan te passen) en daardoor is het protocol op maat te maken voor algemene danwel specifieke afstandsbedieningen. U kunt hier een Engelstalig artikel over infrarood afstandsbediening lezen.
- Met een netwerk-uitbreidingskaart, kan de MP3-speler bijvoorbeeld: streaming audio van internet afspelen, zich laten besturen via een web-browser interface, en statusinformatie doorgeven via SNMP.
- Acties, zoals het aansturen van LED's of andere apparaten via de digitale I/O-pinnen, kunnen worden gesynchroniseerd met tijdcodes in de MP3 track.
De inbouw van de H0420 MP3-speler in een standaard autoradio blijkt een uitmuntend voorbeeld van de flexibiliteit en configureerbaarheid van de MP3-speler. De MP3-speler neemt hierbij de plaats in van de casette-tape speler, maar reageert op dezelfde knoppen als waarmee de casette-tape werd bestuurd. Ook de radio is nog steeds volledig functioneel. Wanneer een MP3-track extra informatie bevat in een ID3, toont de H0420 deze informatie (met horizontale scrolling) op het LCD van de autoradio. De koppeling naar het LCD loopt over een I2C bus.
![]()
![]()
Klik op de afbeeldingen voor een foto van groter formaat.
Een voorloper van het huidige model H0420 (model H0410) is toegepast in een viertal
objecten in bezoekerscentrum "De Hoep" van PWN
in Castricum.
Het betreft:
- "De strandpaal" (geen afbeelding): één MP3-speler met daaraan vier hoofdtelefoons gekoppeld. De bediening is met standaard (vandaalbestendige) drukschakelaars. De MP3-speler stuurt ook de LED-verlichting in de schakelaars aan.
- "Water bellen" (geen afbeelding): een MP3-speler met twee schakelaars (model "deurbel") voor de keuze van het fragment.
- "Pompen of verzilten": een MP3-speler die reageert op impulsen van micro-switches die op de constructie zijn gemonteerd.
- "Dierenduin": een MP3-speler met 11 schakelaars voor de fragmentkeuze. Vanwege het grote aantal schakelaars gebruiken we hier een uitbreidingsschakeling die bovenop de MP3-speler zit (via een standaard PCB-connector).
Het bekende expositiecentrum "Madurodam" gebruikt eveneens MP3 spelers van beide types (H0410 en H0420). Het LEGOLAND park gebruikt MP3 controllers van het type H0420 in enkele attracties. Het amusementspark Duinrell gebruikt een aangepaste H0420 speler, die zowel audio kan opnemen (vanaf een microfoon) als afspelen.
De H0420 MP3 speler geeft op de analoge audio-uitgangen standaard uitvoerniveaus, waarmee deze speler op een algemene eindversterker kan worden aangesloten. Bij verscheidene applicaties in informatie/bezoekerscentra combineerden wij de MP3 speler met een eindversterker en een voeding in één behuizing.
Referenties
Documentatie
- H0420 bestelformulier
- Kleine aantallen van de H0420 kunt u bestellen met dit formulier. Voor grotere aantallen verzoeken wij u contact met ons op te nemen voor een offerte.
- H0420 productfolder
- Een algemene folder van de H0420 MP3 speler (2020-04-03).
- H0420 MP3 Controller - User Guide
- Dit Engelstalige boekje, dat bij het product word geleverd, bevat een algemene beschrijving van de H0420 en een introductie van de programmering ervan.
Engelstalig - H0420 MP3 Controller - Programmer's Guide & Reference
- Het, eveneens Engelstalige, handboek voor de programmeur, welke alle programmeerbare functies van de H0420 beschrijft.
- De technische documentatie van de H0420 ("datasheet")
- Dit document is beschikbaar in de Engelse taal als PDF bestand; het huidige document is gedateerd op 2020-04-03.
- H0415A Amplifier - User Guide
- Deze beknopte handleiding wordt geleverd bij de 2 × 2.1 Watt audioversterker, die onder de H0420 MP3 controller kan worden gemonteerd. (Date: 2020-04-03).
- H0415E Ethernet Network Interface - User Guide
- Een beknopte handleinding voor uitbreidingsbord voor Ethernet en TCP/IP. Dit document beschrijft model 1 van het uitbreidingsbord. (Date: 2020-04-03).
- H0416E Ethernet Network Interface - User Guide
- Een beknopte handleinding voor uitbreidingsbord voor Ethernet en TCP/IP. Dit document beschrijft model 2 van het uitbreidingsbord. (Date: 2020-04-03).
- Ethernet Network Interface - Programmer's Reference
- De programmeurs-handleiding met gedetailleerde documentatie voor de TCP/IP netwerk- functionaliteir. Deze handleiding beschrijft beide uitbreidingsborden: H0415E en H0416E. (Date: 2020-04-03).
- CE declaration
- De conformiteitsverklaring voor de CE normeringen (EMC, veiligheid en RoHS) als een meertalig document.
- Pawn: embedded programmeertaal
- De pawn programmeertaal wordt uitgebreid beschreven op een aparte pagina op deze site.
Toepassingsbeschrijvingen
- Programming the MP3 controller/player: getting started
- 2011-08-01
Dit artikel gaat stap-voor-stap door het maken van een eenvoudig programma voor de H0420, van installering van de ontwikkelomgeving tot het beluisteren van het resultaat.
Engelstalig - Playing tracks sequentially
- 2008-09-22
Een vervolg op de bovenstaande "tutorial" waarin we een script ontwikkelen dat MP3 tracks (in een willekeurige volgorde) achter elkaar afspeelt.
Engelstalig - Track and artist separation
- 2012-05-15
Wanneer het script de af te spelen tracks willekeurig kiest, zal het vaak gewenst zijn dat de gekozen track niet te snel wordt herhaald. Beter is nog wanneer de artiest niet de snel wordt herhaald: andere tracks van dezelfde artiest moeten dus eveneens voorlopig niet worden gekozen. Dit document beschrijft hoe een dergelijke routine is te bouwen.
Engelstalig - Synchronizing activities with music
- 2018-03-05
Een ID3 tag in een MP3 track kan optioneel tekst of opdrachten met tijdcodes bevatten. Deze tijdcodes laten toe deze opdrachten/tekstregels te synchroniseren met de muziek. De H0420 ondersteunt deze extensie en het artikel geeft een compleet voorbeeld.
Engelstalig - Gapless looping MP3 tracks
- 2020-11-05
Vanwege het bestandsformaat en de algoritmes is het niet eenvoudig een "lus" van audio te maken zonder "klik" of "gat". Dit geldt nog sterker wanneer u gebruik maakt van een hardware-decoder (in plaats van een programma dat op de PC draait). De H0420 en Starling MP3 spelers kunnen een track naadloos herhalen, mits de track met speciale software is bewerkt.
Engelstalig - A remote-controlled MP3 player
- 2018-03-05
Voor het ontvangen van opdrachten van een infrarood afstandsbediening is slechts een IR-ontvanger chip en een weerstand nodig, samen met een script dat de codes analyseert. Dit artikel gaat in op de details en geeft een voorbeeld voor de bekende RC5 codes.
Engelstalig - Connecting a bar-code wand to the MP3 controller/player
- 2011-08-01
De H0420 MP3-speler kan een goedkope barcode pen direct ondersteunen op zijn digitale I/O pinnen (slechts een weerstand als extra component is soms nodig, afhankelijk van het merk barcode pen). Dit artikel beschrijft de aansluiting van de barcode pen op de I/O pinnen en illustreert de werking met een script dat het formaat "interleaved 2 of 5" decodeert.
Engelstalig - Synchronizing time with DCF77
- 2018-03-05
Dit artikel beschrijft hoe u de interne klok ("real-time clock) van de H0420 MP3-speler synchroniseert op het tijdsignaal van de atoomklok op de radiozender "DCF77".
Recente aanpassing: Dit artikel beschrijft nu ook het protocol van de MSF60 radiozender (in Engeland).
Engelstalig - Encrypted MP3 tracks
- 2018-03-05
De H0420 MP3 controller kan versleutelde MP3-tracks direct afspelen (zonder de track eerst uit te hoeven pakken). Dit artikel beschrijft de software en de procedure die nodig zijn om MP3-tracks met een 128-bit sleutel te versleutelen (en hoe deze bestanden af te spelen).
Engelstalig - A MIDI to RS232 converter
- 2024-11-25
Het MIDI protocol is een seriëel communicatieprotocol dat gebruik maakt van stroomsturing ("current loop"). Dit artikel beschrijft wat er nodig is om de stroomsturing te vertalen naar standaard RS232-signalen. Daarmee kan de H0420 direct in een keten van MIDI-instrumenten worden opgenomen. Het tweede deel van het artikel gaat in op de programmering die nodig is om de H0420 MIDI-commando's te verzenden en te ontvangen.
Engelstalig - Power-outputs for the H0420 programmable MP3 controller/player
- 2013-02-11
De programmeerbare MP3-speler heeft digitale I/O pinnen met TTL uitgangniveau's. Wanneer meer vermogen uit de pinnen moet worden gehaald (of een andere uitgangsspanning), geeft dit korte artikel een eenvoudige oplossing.
Engelstalig - A voltage inverter circuit
- 2010-04-15
De H0420 ondersteunt LCD's met een HD44780 controller en een positieve "LC-driving" spanning. Met de spanningsinverter in dit artikel kunt u ook LCD's aansluiten die een negatieve spanning vereisen.
Engelstalig - H0420 Internals
- 2018-03-05
Het ontwerp en de interne componenten van de H0420 worden in dit artikel kort beschreven. Het artikel gaat in op zowel de hardware als de firmware.
Engelstalig - The STA013 MP3 decoder
- 2024-11-24
Dit artikel bestaat uit een verzameling van notities over de MP3 decoder van STMicroelectronics die de H0420 gebruikt. Verder bevat het algemene informatie over het MP3 bestandsformaat.
Engelstalig
Overig
- ID3 tags
- Informele standaards, informatie voor ontwikkelaars, verwijzingen naar programmatuur, en de historie van "tagging".