Anfänger: Projekt Blaswandler: Mp3, Lcd, etc.

Hallo Leute,

ich bin neu hier und auch völlig neu in der Welt der Mikrocontroller. :smiley:
Da ich mir aber in den Kopf gesetzt habe mir einen eigenen Blaswandler in Form einer Ocarina zu bauen, und nun nicht komplett durchsehe, suche ich hier bei euch etwas Hilfe. :slight_smile:

Kurz zur Vorgeschichte. (Wen das nicht interessiert, überspringt besser den Absatz)
Ich habe vor gut einem Jahr angefangen die Ocarina selber zu spielen. Das geht auch ganz gut. Leider ist so eine Tonflöte kein leises Instrument, woraufhin ich mir immer ein paar Beschwerden anhören durfte. Kurzum habe ich angefangen zu recherchieren ob es nicht eine elektrische Ocarina gibt, mit der man einfach Leise üben kann. Ich bin dabei auf dieses Youtube-Video (siehe unten) gestoßen. Nach kurzer Suche fand ich dann auch den elektischen Dudelsack und damit die Erkenntnis, dass es eigentlich relativ einfach sein sollte, eine eigene Flöte auf Basis des eChanter zu bauen. Mit der Programmierung, der Logik, dürfte ich als Programmierer jedenfalls keine großen Probleme haben.
Leider hab ich fast gar keinen Plan mehr wie ich Schaltpläne lesen muss oder was die ganzen Kürzel bedeuten. :slight_smile:

Ich habe mir eine Teileliste erstellt, was ich brauche und mir dann ein Starterkit von irgendwo her besorgt, mit einem Steckbrett einem Arduino Nano, Kabeln usw. Ein "Gehäuse" durfte natürlich nicht fehlen. Dazu habe ich einen Drucksensor (MPX 2200AP), Batteriehalter, Akku (9v Block), Lautsprecherchen, eine Lautsprecherbuchse und ein Audio Board (VS1053) geholt.

Die ersten Schritte waren noch einfach. Lautsprecher, Arduino Nano, eine Hand voll Reißzwecken, als Taster (siehe eChanter) und Kabel auf das Steckbrett gepflanzt und den eChanter Code auf den Arduino geladen. Funktioniert Prima.

Woran ich derzeit scheitere ist, wie ich das Audio Board an den Arduino und den Lautsprecher verbinden muss um die Töne, die ja derzeit der Arduino erzeugt in irgendeiner Form Sampeln zu lassen und einen Satten Ocarina-Klang zu erzeugen. Natürlich möchte ich die ganze Sache "extravagant" und das Teil soll am ende auf Wunsch z.B. wie eine eGitarre klingen. (Ich hoffe, dass ich das mit dem Board bewerkstelligen kann.) Ich gebe zu ich habe etwas blauäugig und ggf. vorschnell eingekauft. :slight_smile: Aber ich konnte es einfach nicht erwarten :smiley:

Die zweite Sache die mir im Kopf herum spukt, ist wie ich die Pins vom Arduino richtig verwalte. Wenn ich richtig liege hat der Nano 16 Pins, die ich benutzen kann.
13 davon müsste ich eigentlich schon für die Löcher der Flöte belegen. Da die "Taster" für einen Ton z.B. alle gleichzeitig gedrückt werden müssen, kann ich die Pins kaum doppelt belegen. Ich habe gesehen, dass es Möglichkeiten gibt, die Pins einfach zu erweitern. z.B. damit oder so einem Shift Register Ding. Wäre das eine Sinnvolle Möglichkeit um Pins für das Audio Board frei zu schaufeln? Die Töne sollen so schnell wie möglich verarbeitet werden, ich weiß nicht ob die Lösung über so eine Weiche die Angelegenheit nicht eventuell verlangsamt.

Darüber hinaus wollte ich zuletzt in das ganze Teil ein kleines LCD Display einfügen, was mir die Möglichkeit eines eleganten Auswahlmenüs für die Flöte gibt.

Ich hoffe, es nimmt sich jemand die Zeit und liest meinen kleinen Aufsatz und kann mir prompt weiter helfen.
Ich freue mich jedenfalls auf eure Ratschläge. :smiley:

Bis dahin...

Der Nano hat 20 Pins, die Du dafür benutzen kannst. Für das MP3-Board musst Du 4 Stück reservieren (9, 11, 12 und 13), das Display könntest Du per I2C ansteuern (entsprechendes Modell kaufen), dann brauchst Du nur A4 und A5 zu reservieren. Wenn Du dann die seriellen Pins für's Debugging frei halten willst, bleibt Dir nach Abzug des Sensor-Analog-Eingangs immer noch ein Pin übrig. Die Auswahl der Menüpunkte solltest Du also mit der bestehenden "Tastatur" bewerkstelligen, sonst könnte es eng werden.

Hallo,

wenn schon I²C für das Display verwendet wird, könnte auch ein Portexpander wie z.B. ein PCF8574 für die Tasten zur Menüauswahl benutzt werden.

Da der PCF8574 bereits Pull-Up-Widerstände hat, braucht man mit den Tastern die Anschlüsse nur auf Masse ziehen, einfacher geht's fast nicht mehr.

Grüße

Martin

Hallo,

danke für die Antworten :slight_smile:
Das der Nano sogar 20 benutzbare Pins hat habe ich bis dato noch nicht überzogen. Jetzt muss ich halt schauen wie ich die alle ansprechen kann. :slight_smile:
Die Menüauswahl darf ruhig über die "Tasten" erfolgen. Wenn man sich durchs Menü navigiert, spielt man nicht.
Dass ich das Display auch zum Zeitpunkt des Spielens jetzt theoretisch ansteuern könnte freut mich. Heißt ich kann dann z.B. die Notation während des Spielens für stumme Übungen anzeigen.

Wenn ich zusammenfasse, bräuchte ich ergo:
13 Pins für Eingaben (Menüsteuerung und Noten, könnte ggf. auf 12 reduziert werden)
1 Pin für Lautsprecher/Buchse. (Kann ja z.B. mit einem Schalter zwischen Buchse und Lautsprecher wechseln)
1 Pin? für den Luftsensor (Das Schema davon hab ich leider auch noch nicht ganz verstanden)
2 Pins für das Display
4 Pins für Audioboard
1 Pin für einen Knopf/Taster um das Menü zu starten (Könnt man eventuell auch über eine Tastenkombo abfangen, wenn nicht gespielt wird.)
Insgesamt also schon 22+? Pins verplant.

Wie es aussieht muss ich wohl auf den Menü-Knopf und den 13. Taster verzichten, was aber OK ist.
Falls so ein Portexpander mit kaum merklichem Geschwindigkeitsverlust läuft, wäre das vermutlich die andere Lösung für mein Pinproblem :slight_smile:

Jetzt müsst ich erst einmal noch herausfinden, wo ich die Pins 9, 11, 12 und 13 am MP3-Board anstecken muss und wie ich das Ding ansprechen kann, dann ist alles andere ja so gut wie gegessen. Für den Rest hab ich schon Unmengen an Beispielen gefunden :smiley:

Bis dahin...

Mit einem Schiebregister wie dem 74HC165 könnte man noch wesentlich mehr Tasten abfragen. Mit einem dieser ICs lassen sich bereits 8 Taster über 3 Pins abfragen. Bei 2 ICs kommst du schon auf 16 Tasten - immer noch bei 3 Arduinopins, da die Schieberegister einfach kaskadiert werden.

Der Arduino Nano hat sogar 22 Pins wovon aber 2 (A6 und A7) nur als analoge Eingänge verwendbar sind.

13 davon müsste ich eigentlich schon für die Löcher der Flöte belegen.

Bist Du ein Superheld mit 13 Fingern? Hat eine Okarina/Flöte nicht nur maximal 10 Löcher. Ok es gibt bei Flöten 3 Löcher die man halb öffnen muß damit bestimmte Töne erzeugt werden.

Der VS1053 ist ein Player für verschiedene Audioformate und ein MIDI-Synthesizer. Ich finde das einfachste und simpelste wenn Du MIDI verwendest. Dann kannst Du die Instrumente, die er einprogrammiert hat spielen (Seite 33 von https://www.sparkfun.com/datasheets/Components/SMD/vs1053.pdf )
Der VS1053 hat einen Ausgangsverstärker an dem Du Kopfhörer mit mindestens 32 Ohm Impedanz direkt anschließen kannst.
Bezüglich Spielen der Okarina/Flöte besteht dies aus 2 Komponenten: Verschließen bzw offen halten der diversen Löcher und das blasen. Ich weiß jetzt nicht wie das bei einer Okarina ist aber bei einer Flöte kann man durch die Luftmenge beim Blasen die Tonhöhe ändern und durch weiches oder harten anblasen die Klangeigenschaften des Tons verändern.

Zum Messen wie Du die Flöte bläst mußt Du die Luftmenge messen. Eine Möglichkeit die Luftmenge zu messen ist im Luftkanal einen Luftwiderstand (Verengung) einzubauen und den Druck vor und nach der Verengung zu messen. Der von Dir ausgesuchte Drucksensor kann das. Du brauchst nur nen Differenzverstärker in Form eine Instrumentenverstärkers aus 3 Operationsverstärkern aufgebaut. Der verstärkt die Spannungsdiffernz der 2 Ausgänge des Druckwandlers. Instrumentenverstärker – Wikipedia Der Druckwandler könnte aber etwas zu großen Druckmeßbereich haben ( 0 bis ca 2 Bar bei 0 bis 40mV Spannungsdifferenza an den Ausgängen). Wahrscheinlich wäre ein anderes Model mit kleineren Meßbereich bessere geeignet.

Grüße Uwe