Forum: Mikrocontroller und Digitale Elektronik Midi-Ausgabe über µC


von Flo B. (bluefoxxp)


Lesenswert?

Hallo,

Ich möchte gern mit einem µC (z.B.At89C2051) Töne über einen 
Lautsprecher ausgeben.

In einem früheren Thread hatte schon jemand die entsprechenden 
Code-Segmente für BASIC genannt:
1
$baud = 31250
2
Open "com3.1:31250" For Output As #1
3
Put #1 , 153   'kanal
4
Put #1 , 45     'ton
5
Put #1 , 90     'lautstärke
6
Close #1

Eine entsprechende Verstärkerschaltung für den Lautsprecher habe ich 
schon gefunden: http://bwir.de/schaltungen/miniverstaerker

Allerdings ist mir nicht so ganz klar wie ich diese Schaltung mittels µC 
ansteuern kann:
Muss ich PWM-Signale verwenden? Oder ist es einfacher, wenn ich die Töne 
als Gleichspannung ausgebe und dann mittels VCO in oszillierende Signale 
umwandle? Ist obige Verstärkerschaltung dafür überhaupt geeignet?
Wieviel Speicher benötigt man für eine einfache MIDI-Ausgabe?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Das Basic-Fragment erzeugt keinen einzigen Ton. Sondern es steuert ein 
Midi-Instrument an, und das wird dann wohl einen Ton erzeugen.

Hast Du ein Midi-Instrument? Ein Keyboard, ein Soundmodul o.ä.?

von Flo B. (bluefoxxp)


Lesenswert?

Rufus t. Firefly wrote:
> Das Basic-Fragment erzeugt keinen einzigen Ton. Sondern es steuert ein
> Midi-Instrument an, und das wird dann wohl einen Ton erzeugen.
>
> Hast Du ein Midi-Instrument? Ein Keyboard, ein Soundmodul o.ä.?

Leider hab ich kein Soundmodul. Aber soweit ich gesehen hab, sind die ja 
verdammt teuer (100€++).
Gibts denn nicht eine günstige Variante?

Bzw. ich könnte ja einfach die Gleichspannung des µC-Ausgangs mit einem 
AC-Wandler in eine Sinusspannung (=Ton) umwandeln. Oder ist das zu 
simpel gedacht?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Natürlich kannst Du auch mit Deinem µC Töne erzeugen, nur hat das dann 
mit Midi gar nichts mehr zu tun.
Am simpelsten ist die Erzeugung eines Rechtecksignales, dazu musst Du 
nur zyklisch einen Portpin von 1 auf 0 und umgekehrt schalten. Der 
Portpin wird dann über einen Kondensator mit dem Lautsprecher bzw. einem 
Verstärker verbunden, und schon hast Du einen recht hässlichen und sehr 
lauten Ton.
Die Frequenz ist die, mit der Du am Portpin wackelst.

Alternativ kannst Du auch zyklisch die Werte einer Sinustabelle auf 
einen DAC ausgeben und den mit Lautsprecher/Verstärker verbinden (wieder 
über einen Kondensator, um den Gleichspannungsanteil zu eliminieren).

Die Ausgaberoutine sollte in beiden Fällen in einem Timerinterrupt 
ausgeführt werden, weil Du nur so eine Kontrolle über die erzeugte 
Frequenz hast und Dein µC auch noch Zeit hat, andere Dinge zu tun.

von Benedikt P. (benediktpatt)


Lesenswert?

Ich bin mir fast sicher, dass es in Bascom Funktionen zum erzeugen von 
Tönen per PWM gibt. Das wird wahrscheinlich nicht vergleichbar mit MIDI 
sein, aber man sollte schon unterschiedliche Töne erzeugen können ;)

Gruß
Benedikt

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Gibts denn nicht eine günstige Variante?
Doch, sowas:
http://cgi.ebay.de/Bontempi-PM747-Keyboard-MIDI-Schnittstelle-WIE-NEU_W0QQitemZ280315764529QQcmdZViewItemQQptZTasteninstrumente?hash=item280315764529&_trksid=p3286.c0.m14&_trkparms=72%3A1229|66%3A2|65%3A12|39%3A1|240%3A1318

Ohne Witz:
Midi In+Out, Tastatur, Tonerzeuger und Verstärker alles für den Anfang.
Und nein, ich bin nicht der Verkäufer.

> verdammt teuer (100€++).
Fang mal an zu Sparen, du wirst noch sehr viel mehr Gled liegen lassen, 
wenn du dieses Hobby weiter betreiben willst ;-)

von Jörg B. (manos)


Lesenswert?

Ich denke mal, eine ganz einfache Lösung wird es wohl nicht geben. 
Natürlich ist es denkbar mit einem µC das Midi-Signal einzulesen, 
auszuwerten und als Ton auszugeben, aber richtig begeistern wird dich 
das Ergebnis dann erstmal nicht.

Bin mir jetzt nicht sicher ob es "AC-Wandler" für sowas gibt, aber 
normalerweise würde ich davon ausgehen, dass die eine statische Frequenz 
haben und genau die will man ja nicht haben. Die Frequenz wird der µC 
machen müssen.

Aber wenn Du ein Midi-Keyboard hast und Klang haben willst wirst Du 
wahrscheinlich ein richtiges Gerät kaufen müssen.

von Flo B. (bluefoxxp)


Lesenswert?

>>Fang mal an zu Sparen, du wirst noch sehr viel mehr Gled liegen lassen,
wenn du dieses Hobby weiter betreiben willst ;-)

Hm. Mein Ziel war es, zunächst ein "Ding" zu bauen, das einfach immer 
nur das selbe MIDI-Lied (welches auf einem Speicher liegt) abspielt. Das 
wird so wohl nichts :-)

Wie machen es denn Spielzeughersteller? Ein sprechender Stoffbär kostet 
ja auch keine 300€. Oder eine dieser Musik-Glückwunschkarten...

von Jörg B. (manos)


Lesenswert?

Flo Bien wrote:
> Wie machen es denn Spielzeughersteller? Ein sprechender Stoffbär kostet
> ja auch keine 300€. Oder eine dieser Musik-Glückwunschkarten...

Massenproduktion und Sound-Samples würde ich mal vermuten...

P.S. Außerdem gibt es noch Soundchips die für sowas gedacht sind.

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
Noch kein Account? Hier anmelden.