Arduino an Android - Mikrofon

guten abend,

ich habe gelesen dass das mikrofon eines smartphones mit rund 2,5v arbeitet. kann ich nun ähnlich wie in diesem bild http://fritzing.org/media/fritzing-repo/projects/c/cellphone-headset-clicker/images/headset_schem.png ein programm so schreiben, dass ich praktisch einen sinusgenerator am mikrofoneingang meines smartphones habe? die frequenz werde ich später über eine app auslesen… wenn dies geht :stuck_out_tongue:

danke für die rückmeldung

Ich seh kein Mikrofon.

Nein. Der Arduino (außer dem DUE) hat keinen A/D Wandler sondern nur PWM Ausgänge. Darum bekommst Du keine Sinusförmige Spannung zustande.

Meines Erachtens ist die Schaltung auch falsch, dh nicht funktionierend.

Grüße Uwe

uwefed: Der Arduino (außer dem DUE) hat keinen A/D Wandler sondern nur PWM Ausgänge. Darum bekommst Du keine Sinusförmige Spannung zustande.

Nicht ganz, man kann mit PWM-Sinuswellen und mehr erzeugen.

Beispiele: arduino-dds-sinewave-generator

oder womit ich schon erfolgreich gearbeitet habe: arduino-sketch-high-frequency-precision-sine-wave-tone-sound-synthesis

Um eine brauchbare Sinuskurve zu bekommen, muss man das Signal über Widerstände und Kondensatoren filtern.

Mein Ziel war die DTF-Wahltöne fürs Telephon zu erzeugen. Das Projekt ist aber vor längerem eingeschlafen. Im Prinzip kann man ausreichend gute Sinustöne erzeugen. Das ganze ist nicht besonders einsteigerfreundlich, da die Programme nicht leicht zu verstehen sind und die Timermanipulationen dazu führen, dass z.B. millis() nicht mehr funktioniert..

Ja man kann Sinuskurven (und andere Spannungsformen) durch PWM emulieren aber eben nicht erzeugen. Grüße Uwe

gibt es die Möglichkeit trotzdem ein Signal auf einer Frequenz zu erzeugen? Sodass ich in meiner App die Frequenz herausfiltern kann

Hallo,

am einfachsten kannst du es mit Tone() versuchen. Das ist ein Rechtecksignal und kein Sinus.Vielleicht reicht das schon.

Was ist der Zweck von deinem Projekt? Vielleicht gibt es bessere Lösungsmöglichkeiten.

Ich entwickel ein Spiel in Unity. Ich möchte praktisch einen Hardware Controller bauen den ich an den Mikrofoneingang mit Hilfe des Arduino anschließe. Dieser soll dann einige Knöpfe beiinhalten die ein gewisses Signal an den Eingang geben. Die Frequenz soll dann in der App ausgelesen werden.

Vielleicht gibt es andere Vorschläge für einen Hardware Controller!

Ich habe ein Bluetooth Modul HC06 zuhause. Das Problem ist dass dieses nur ein Serielles Protokoll hat und somit nicht direkt von Android (5) gebunden werden kann.

Es würde mir auch sehr Helfen wenn jmd eine Idee hat wie man ein einfache Bluetooth Tastatur mit dem Arduino bauen kann, sodass die Tasten an das Handy übermittelt werden

danke im VOrraus

MasterTim17:

Es würde mir auch sehr Helfen wenn jmd eine Idee hat wie man ein einfache Bluetooth Tastatur mit dem Arduino bauen kann, sodass die Tasten an das Handy übermittelt werden

Du bräuchtest einen HID-BT-Controller. Beispiel wäre Bluefruit EZ-Key oder https://www.sparkfun.com/products/10938

Danke das was ich gesucht habe! Aber für den Preis kann ich mir gleich eine fertig Bluetooth Tastatur oder Controller kaufen :b

Basteln macht halt mehr Spaß ;)

MasterTim17: Danke das was ich gesucht habe! Aber für den Preis kann ich mir gleich eine fertig Bluetooth Tastatur oder Controller kaufen :b

Basteln macht halt mehr Spaß ;)

Basteln heiß aber auch, daß man oft mehr ausgibt als für ein Produkt von der Stange.

Grüße Uwe

Man kann auch statt die DTMF-Töne live zu synthetisieren, dies vorher mit einem Soundeditor am Mac oder PC tun und dann sorgfältig jeweils das kleinstmögliche Stück exakt in einem Nulldurchgang herausschneiden. Ich weiss, dass DTMF-Töne jeweils aus 2 Frequenzen bestehen und deshalb wird man mit einer einzigen Periode nicht hinkommen. Dann als Wave speichern (8 Bit, mono, unkomprimiert, 10kHz Samplingrate) und mit dem Hexeditor den Haeder entfernen.

Diese Soundstücke sollte man in einer 31kHz-PWM und einem Loop, der wenigstens 0,5s dauert, halbwegs sauber abgespielt bekommen ...