De NANO Arduino is een leuke cpu voor diverse kleine projectjes. Naast digitale in- en uitgangen heeft hij ook ADC en PWM functies aan boord. Samen met een ethernetshield kun je hier digitaal audio mee overbrengen over een LAN.
Met slecht 16 Mhz cpu snelheid blijkt een sample frequentie van 31Khz en 8 bit audio simpel te realiseren. De overdracht van het audio gebeurt via een zend- en ontvang buffer van 2x 512 byte. Door om en om de helft ervan te lezen en te schrijven wordt voorkomen dat de fifo zichzelf inhaald.
Om de 5v van de ADC volledig te benutten wordt het microfoon signaal met een LM386 opamp versterkt en dient de DC uitgang tevens als bias voor de ADC ingang. Met 8 bit audio is er geen groot dynamisch bereik, dus om te voorkomen dat het audio gaat clippen wordt een eenvoudige, maar effectieve AVR toegepast.
Voor de weergave wordt PWM gebruikt via een (klasse D) PCM uitgang. Het hele concept kan eenvoudig getest worden door op een PC een UDP echo server te runnen. Je hoort dan jezelf terug met een kleine vertraging. De AVR is nu nog de enige wijze waarop het volume geregeld wordt, maar wanneer alle units met elkaar worden verbonden via een sterpunt (centrale server), kan daar bepaald worden wie wat hoort en hoe luid. Hiervoor is een extra byte aan het audio buffer toegevoegd waarmee we onze wensen bij de 'centrale' bekend kunnen maken.
Daartoe is elke unit voorzien van een rotary knop en een display en communiseert zo de instellingen van het betreffende menu item. Om de audio cpu niet extra te belasten is gekozen voor een tweede cpu (AT85) die de rotary info verwerkt en het display aanstuurt. De AT85 deelt zijn info met de NANO door de SDA lijn van het display als OneWire communicatie te gebruiken. De timing van deze vorm van communicatie gebeurt via een state-proces, om zo het main proces (audio) van de Arduino zo min mogelijk te storen. De 'centrale' kan zo via een matrix aan alle gebruiker hun eigen audio mix afgegeven. De rotary push functie is tevens oproep toets.
Met wat passen en meten past het geheel in een doosje van 6x10x2.5 cm en zou het zelfs gevoed kunnen worden over het netwerk met PoE.
De hierboven beschreven hard- en software is freeware, maar een vermelding naar de auteur wordt op prijs gesteld. [vervolg]