BLIT2008-Board kann sprechen
Aus BraLUG-Wiki
(Die Seite wurde neu angelegt: Kategorie:Hardware Kategorie:BLIT2008-Board Diese Geschichte ist eigentlich dem Zufall geschuldet. Letztens habe ich (aus Langerweile) einen kleinen [[ATtiny-S...) |
(...) |
||
(2 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
[[Kategorie:BLIT2008-Board]] | [[Kategorie:BLIT2008-Board]] | ||
− | Diese Geschichte ist eigentlich dem Zufall geschuldet. Letztens habe ich (aus Langerweile) einen kleinen [[ATtiny-Sonntagsspielereien#Melodiegenerator|Melodiegenerator]] mit einem ATtiny85 aufgebaut und programmiert. Ein Kollege sah dies und brachte mir neulich eine Baugruppe mit einem lustigen Schaltkreis mit | + | =Motivation= |
+ | Diese Geschichte ist eigentlich dem Zufall geschuldet. Letztens habe ich (aus Langerweile) einen kleinen [[ATtiny-Sonntagsspielereien#Melodiegenerator|Melodiegenerator]] mit einem ATtiny85 aufgebaut und programmiert. Ein Kollege sah dies und brachte mir neulich eine Baugruppe mit einem lustigen Schaltkreis mit und meinte: ''"... hier, kannst du zeitweise mal haben und probiere ein wenig rum..."''. | ||
− | + | [[Bild:Speakjet.JPG|320px|Speakjet-Schaltkreis]] | |
− | + | Bei dem angesprochenen Spezialschaltkreis (Bezeichnung [http://www.magnevation.com/pdfs/speakjetusermanual.pdf Speakjet]) auf der Baugruppe handelt es sich um einen Sprachsyntheshizer, den man via serieller Schnittstelle steuern und somit Töne oder sogar halbwegs natürlich klingende (englische) Grundsprachlaute entlocken kann. | |
+ | |||
+ | =Hardware= | ||
+ | |||
+ | ==Speakjet-Baugruppe== | ||
+ | [[Bild:Blit_board_speakjet.JPG|320px|BLIT-Board mit Speakjet-Baugruppe (rechts im Bild)]] | ||
+ | |||
+ | Hier ist eigentlich nicht viel zu sagen. Der Speakjet wird am besten nach der Refenzschaltung aus dem [http://www.magnevation.com/pdfs/speakjetusermanual.pdf Datenblatt] verschaltet. Es bietet sich an, das NF-Ausgangssignal noch zu verstärken. Mein Kollege hat dazu einen Verstärker-IC vom Typ LM386 verwendet, jede andere geeignete Schaltung sollte aber auch funktionieren. | ||
+ | |||
+ | Leider habe ich keinen deutschen Anbieter gefunden, der den Speakjet aktuell im Angebot hat, denn eigentlich ist das Ding ganz lustig und Debug-Meldungen über einen Lautsprecher ausgeben, macht auch nicht jeder...;-) | ||
+ | |||
+ | ==BLIT-Board-Modifiktion== | ||
+ | [[Bild:Blit_board_modifikation.JPG|320px|Modifikation des BLIT-Board]] | ||
+ | |||
+ | Der Speakjet-Chip wird via serieller Schnittstelle (im TTL-Pegel, also ohne übliche Pegelwandler!) angesprochen. Der ATmega8 auf dem BLIT-Board hat intern ein Modul, mit dem es auf bequeme Art und Weise möglich ist, eine serielle Schnittstelle zu realisieren. Wird dieses interne Modul softwareseitig aktiviert, ist Pin 2 des Mikrocontroller als Empfangseingang (RxD) und Pin 3 als Sendeausgang (TxD) festgelegt. | ||
+ | |||
+ | Zur Steuerung des Speakjet benötigen wir den Sendeausgang (Pin 3; TxD). Um nicht irgendwelche wilden Verkabelungen machen zu müssen, habe ich mich entschlossen, diesen Pin des Mikrocontrollers auf einen noch freien Anschluss der TWI-Buchse zu legen. | ||
+ | |||
+ | Ein Problem zieht dies allerdings nach sich: Pin 3 des ATmega8 auf dem BLIT-Board ist auch mit dem Datenausgang des Infrarot-Empfängers verbunden. D.h. also beides zusammen (serielle Schnittstelle und IR-Empfänger) kann nie zusammen in einer Applikation verwendet werden! Eine Alternative wäre die Verwendung eines Software-UART, also die softwareseitige Realisierung einer seriellen Schnittstelle auf einem beliebigen (nicht beschalteten) Pin des Controllers. Im Internet sind einige Beispielimplementierungen zu finden. | ||
+ | |||
+ | =Software= | ||
+ | ==Sprache== | ||
+ | Hier ein kleines [http://bralug.de/wiki-common/images/d/da/Speakjet.tar.gz Programm] für das BLIT-Board mit angeschlossenem Speakjet, welches dem Ding einen Spruch entlockt und dann fortlaufend von 0 bis 9 zählt. Die meiste Mühe hatte es gemacht, die halbwegs richtigen Grundsilben für die einzelnen Worte aus dem Datenblatt zu suchen. Ich hoffe es ist mir halbwegs gelungen.... | ||
+ | |||
+ | ==andere Töne== | ||
+ | ...kommt vielleicht noch...! |
Aktuelle Version vom 25. April 2009, 14:14 Uhr
Inhaltsverzeichnis |
[Bearbeiten] Motivation
Diese Geschichte ist eigentlich dem Zufall geschuldet. Letztens habe ich (aus Langerweile) einen kleinen Melodiegenerator mit einem ATtiny85 aufgebaut und programmiert. Ein Kollege sah dies und brachte mir neulich eine Baugruppe mit einem lustigen Schaltkreis mit und meinte: "... hier, kannst du zeitweise mal haben und probiere ein wenig rum...".
Bei dem angesprochenen Spezialschaltkreis (Bezeichnung Speakjet) auf der Baugruppe handelt es sich um einen Sprachsyntheshizer, den man via serieller Schnittstelle steuern und somit Töne oder sogar halbwegs natürlich klingende (englische) Grundsprachlaute entlocken kann.
[Bearbeiten] Hardware
[Bearbeiten] Speakjet-Baugruppe
Hier ist eigentlich nicht viel zu sagen. Der Speakjet wird am besten nach der Refenzschaltung aus dem Datenblatt verschaltet. Es bietet sich an, das NF-Ausgangssignal noch zu verstärken. Mein Kollege hat dazu einen Verstärker-IC vom Typ LM386 verwendet, jede andere geeignete Schaltung sollte aber auch funktionieren.
Leider habe ich keinen deutschen Anbieter gefunden, der den Speakjet aktuell im Angebot hat, denn eigentlich ist das Ding ganz lustig und Debug-Meldungen über einen Lautsprecher ausgeben, macht auch nicht jeder...;-)
[Bearbeiten] BLIT-Board-Modifiktion
Der Speakjet-Chip wird via serieller Schnittstelle (im TTL-Pegel, also ohne übliche Pegelwandler!) angesprochen. Der ATmega8 auf dem BLIT-Board hat intern ein Modul, mit dem es auf bequeme Art und Weise möglich ist, eine serielle Schnittstelle zu realisieren. Wird dieses interne Modul softwareseitig aktiviert, ist Pin 2 des Mikrocontroller als Empfangseingang (RxD) und Pin 3 als Sendeausgang (TxD) festgelegt.
Zur Steuerung des Speakjet benötigen wir den Sendeausgang (Pin 3; TxD). Um nicht irgendwelche wilden Verkabelungen machen zu müssen, habe ich mich entschlossen, diesen Pin des Mikrocontrollers auf einen noch freien Anschluss der TWI-Buchse zu legen.
Ein Problem zieht dies allerdings nach sich: Pin 3 des ATmega8 auf dem BLIT-Board ist auch mit dem Datenausgang des Infrarot-Empfängers verbunden. D.h. also beides zusammen (serielle Schnittstelle und IR-Empfänger) kann nie zusammen in einer Applikation verwendet werden! Eine Alternative wäre die Verwendung eines Software-UART, also die softwareseitige Realisierung einer seriellen Schnittstelle auf einem beliebigen (nicht beschalteten) Pin des Controllers. Im Internet sind einige Beispielimplementierungen zu finden.
[Bearbeiten] Software
[Bearbeiten] Sprache
Hier ein kleines Programm für das BLIT-Board mit angeschlossenem Speakjet, welches dem Ding einen Spruch entlockt und dann fortlaufend von 0 bis 9 zählt. Die meiste Mühe hatte es gemacht, die halbwegs richtigen Grundsilben für die einzelnen Worte aus dem Datenblatt zu suchen. Ich hoffe es ist mir halbwegs gelungen....
[Bearbeiten] andere Töne
...kommt vielleicht noch...!