Hallo, ich brainstorme gerade über ein Projekt mit dem ich das Tretauto meines Patenkindes ein wenig "pimpen" kann. Es handelt sich um eine kleine Elektronik (4,5V) mit einem Lautprecher und zwei Birnchen, die das Teil zum Einsatzwagen mutieren lassen soll. Momentaner Stand: - Blinken der Glühbirnchen (!) - Tuten - Beides auf Tastendruck Da möchte ich hin: - Vier verschiedene Leuchtchtmodi (An-Aus (weiche Übergänge), Wechselblinken, Daueran, Daueraus), weiterschalten über Tastendruck (Ext.Int0) - Vier verschiedene Soundmodi (Sirene, Ice-Hockey-Sound, Motorensound, Aus), weiterschalten über Tastendruck (Ext.Int1). Der Sound soll in Dauerschleife laufen. - Mikrofoneingang (3,5mm Klinke) über den die Stimme verstärkt auf den Lautsprecher ausgegeben werden soll. Während der Sprechzeit soll der Sound stumm geschalten werden. Als Mikrofonverstärker wollte ich den MAX4468 nehmen und die Verstärkung über ein Poti am Spannungsteiler des positiven Eingangs einstellen. Der ATTiny soll den Shutdown steuern. Die zwei Punkte, die mir Kopfzerbrechen bereiten: - Wie erkenne ich, dass gesprochen wird um die Sounds stumm zu schalten? - Wo und wie lege ich die Sounds ab (ext. Flash <-> int. Flash, Wie sieht so ein Sound aus?) Vielleicht hat jemand einen Denkanstoß für mich. Viele Grüße Sascha
Hi Zum Sound: AVR335: Digital Sound Recorder with tinyAVR or megaAVR and DataFlash AVR336: ADPCM Decoder on tinyAVR and megaAVR devices MfG Spess
Hi Spess, Also Beispiel 335 ist sicherlich zuviel für meine Anwendung. Habe mich aber auch nicht klar ausgedrückt. Ich will keine Sounds auf nehmen, sonder fertige Sounds quasi in das System "programmieren". Ich brauche ja für das Mikro nur die Ein- bzw. Ausgabe. Dafür werde ich den MAX4468 nehmen. Mit Beispiel 336 kann ich auch wenig anfangen. Ich habe doch kein ADPCM-Signal. Korrigier mich, wenn ich die Bedeutung nicht erkenne. Viele Grüße
Hi >Ich will keine Sounds auf nehmen, sonder fertige Sounds quasi in das System > "programmieren". Wo sollen die Sounds den herkommen? >Mit Beispiel 336 kann ich auch wenig anfangen. Ich habe doch kein >ADPCM-Signal. Da wären wir wieder bei der vorherigen Frage. Ehrlich gesagt würde ich mir einen AVR mit mehr Flash aussuchen. So in Richtung ATMega48/88/168/328. Der ATTiny ist meiner Meinung nach für Soundanwendungen etwas schwach auf der Brust (falls du keinen externen Speicher verwenden willst). MfG Spess
Mir wäre auch ein AVR lieber bei dem ich keinen ext. Speicher benötige. Ich habe halt nur sehr, sehr wenig Platz (42x23x5mm). Deswegen kam mir spontan der ATTiny in den Sinn. Zum Thema Sounds. Die habe ich auf meinem Rechner als .wav bzw. .mp3 liegen. Nur wie man sowas auf den AVR bringt ist eine Sache, wo ich mal überhaupt keine Ahnung von habe; deswegen der Thread.
Sascha L. schrieb: > Zum Thema Sounds. Die habe ich auf meinem Rechner als .wav bzw. .mp3 > liegen. Nur wie man sowas auf den AVR bringt ist eine Sache, wo ich mal > überhaupt keine Ahnung von habe; deswegen der Thread. Dann fang mal damit an, die Größer deiner MP3 Dateien mit der Größe deines SRAMS zu vergleichen. Und MP3 kannst du dir gleich abschminken. Das schafft der Tiny nicht mehr zu dekodieren. WAV ginge noch, aber auch da hast du natürlich das Platzproblem. Entweder du beschränkst dich bei deinen Sounds auf Tatü-Tata bzw. alles was man billig mit Rechteckschwingungen in verschiedenen Frequenzen erschlagen kann, oder aber du machst dich mit dem Gdanken vertraut, einen halben MP3-Player aufzubauen. Dafür gibt es fertige IC. Andere Möglichkeit: Über WAV gehen, die von einer SD Karte oder sonstigem externen Speicher eingelesen werden. Womit du eventuell Glück haben könntest: Mit einem Soundeditor ein winzig kleines Soundstück aus einer WAV auszuschneiden (am besten nur 1 Schwingung) und die dann zu wiederholen. Andere Möglichkeit: du recherchierst, ob es fertige Soundmodule gibt, die die von dir gewünschten Sounds beinhalten. Eisenbahnmodellbauer, Schiffsmodellbauer haben solche Soundmodule, die einen Schiffsdiesel bzw Dampfmaschine oder auch andere Motoren imitieren.
> Vier verschiedene Leuchtchtmodi (An-Aus (weiche Übergänge), > Wechselblinken, Daueran, Daueraus), weiterschalten über Tastendruck > (Ext.Int0) Externer Interrupt ist schon falsch.
Hi > Nur wie man sowas auf den AVR bringt ist eine Sache, wo ich mal >überhaupt keine Ahnung von habe; deswegen der Thread. Um welche Programmiersprache geht es denn hier. >Zum Thema Sounds. Die habe ich auf meinem Rechner als .wav bzw. ... Bei den Softwarefiles zur AVR336 ist ein Konvertierungsprogramm von .wav nach ADPCM C-Array dabei. MfG Spess
Mit m Waveplayer von Win lassen sich Musikdateien runterrechnen. Für ne billige Soundausgabe reichen 8bit mono 8kHz Samplerate. Meist sind so Sirenensounds auch periodisch und dann braucht man nur eine "Periodendauer" speicchern. Brauchst dann bloß einen passenden Flash/AVR entsprechender Größe für die Sounds.
@Spess: Dass ich keine mp3-Dateien nehme war mir klar. Du fragtest ja auch nur, als was ich die Sounds vorliegen habe. Ich fragte, als was ich die Sounds auf den µC bringen kann. Eine Dauerschleife von sehr kurze Sound-Sequenzen ist auch logisch. Ich werde einen AVR mit größerem Speicher nehmen. Hast Du da ne konkretete Empfehlung? Programmieren wollte ich das Ganze in C. Die Sache mit der Konvertierung von .wav zu ADPCM scheint das zu sein wohin es gehen sollte. Sorry, dass ich aufgrund meiner Unwissenheit da skeptisch war. Muss mich aber erst mal schlau lesen. Danke erstmal für den Input. @Karl heinz Buchegger: Was dann?! Pollen?
Hallo Sascha! Das mit der Wiedergabe von WAV-Dateien ist eigentlich nicht schwierig. Du lässt einen 8-Bit-Timer im PWM-Modus laufen, (das sind je nach Einstellung bis zu knapp 80k Durchläufe je Sekunde. Gleichzeitig kann er jedesmal einen Interrupt auslösen, in dem Du das OCR-Register mit dem nächsten PWM-Wert belädst. Als sonnvoller Wert wurden hier schon 8 k Samples/Sekunde genannt, und hier liegt das Problem: die müssen irgendwo herkommen. Es gibt von Atmel dafür eine ApplicationNote mit dem Titel "Soundrecorder", wo das mit einem DataFlash (SPI-EEPROM) gemacht würde. Die solltest Du dir mal raussuchen. Was auch gut und preisgünstig ist, ist eine SD-Karte, die genauso angeschlossen wird. Nur leider wirst Du in den 4k Programmspeicher des Tiny nicht die Verwaltung für ein FAT-dateisystem unterbringen können, wäre vielleicht auch zu zeitkritisch. Bliebe dann noch die Möglichkeit die Daten "roh", ohne Dateisystem auf die Karte zu schreiben, was dann aber unter Windows etwas schwieriger ist. Die Klänge im Tiny zu synthetisieren, halte ich dann doch für zu schwierig. Ich sitze hier gerade an einer Ansteuerung für einen Sinuswechselrichter, mit 4 um 90° verdrehten Ausgängen, wo ich es gemacht habe, wie oben beschrieben, mit 4 PWM's aber die Sinuswerte aus einer Tabelle mit 120 Werten geholt. Das klappt gut und läuft alles in einer Interruptroutine, die den Proc zu 1/6 auslastet (mit 4 Kanälen). mfG ingo
Wie wäre es mit eine microSD(11,0 × 15,0 × 0,7 mm)? Hier sogar mit einem kleinen ATTiny85: http://elm-chan.org/works/sd8p/report.html
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.