
Let wel, dat is een theoretische berekening (het ding verbruikt slechts 6 à 7 mA stroom, met oortjes zo'n 10mA) maar één praktijktest gaf al aan dat het zeker 7 uur is. Dan was de batterij leeg (gezakt van 3.2 naar 2 Volt) en de spraak was niet meer verstaanbaar (hij was er nog wel). Hoe lang het met een volle batterij duurt (dit was een gebruikte) weet ik nog niet, maar dat wordt snel duidelijk. Ik heb ook knoopcellen in de aanbieding die 550 mAh capaciteit bezitten, de huidige slechts 180. Dat is dus desnoods nog een optie.
Technisch
De Arduino sketch werkt in de microcontroller en haalt 8-bit mono samples uit het WinBond SPI flash geheugen van 4 of 16Mb. Ik soldeer voorlopig enkel de 4Mb chips, omdat ik daar al meer dan 4 minuten geluid op kwijt kan. Ik haal maximaal een samplefrequentie van 15kHz en dat is te wijten aan de vreemde opzet van het RAM-geheugen. Elke byte die je door de D/A convertor hoort, moet uiteraard eerst uit het geheugen opgehaald worden. Maar daarvoor moet ik seriëel eerst een commando en drie adresbytes sturen, dan ontvang ik één byte antwoordjes. Je zou per pagina kunnen lezen (en dus veel hogere snelheden halen), maar dat is geen optie omdat er dan geen constante stroom aan bytes naar de D/A convertor loopt. Daar komt bij dat de Attiny85 microcontroller zonder kristal werkt om energie te sparen, en dat halveert de snelheid.
Dat stelde wel enkele praktische problemen. Een samplefrequentie van 15 kHz kan ik niet creëren. De meeste gratis software kan wel downsamplen naar hele factoren, dus van 44 kHz naar 22 kHz, maar een exacte match kon ik niet maken (het is in 't echt 15250 Hz gemeten op de oscilloscoop). Die software heb ik dus zelf geschreven in Delphi XE.
Verder moet ik de samples van de PC in de geheugenchip krijgen en ook dat is niet simpel. Ik wil dat namelijk altijd kunnen, ook als de chip gesoldeerd is, en ik heb geen plaats voor een extra RAM-connector op mijn mini printplaatje waar ik hem mee zou kunnen programmeren. De enige optie was een seriële verbinding tussen mijn Delphi programma (dat toch al draait voor de conversie) en mijn Arduino sketch. Die geeft dan commando's door aan de RAM chip om bytes op de seriële poort (USB-poort) op te slaan.

Nu kan ik eindelijk mijn Rondje Vlaanderen Zwijndrecht weer online brengen. Ik kan immers dit potje overal verstoppen, de vorige verstopplaats was verdwenen, alsook mijn 2.0 potje van toen. Dat is nu ineens niet zo erg meer :)
Geen opmerkingen:
Een reactie posten