Spielerei mit Bluetooth modul von Pollin für 1€

  • Angefangen hat alles mit folgendem Thread
    http://www.mikrocontroller.net/topic/290615#3159512


    Ich habe mir auch einige von den Modems geholt, mit dem Hintergedanken, dass auch wenn das Bluetoothmodul Schrott ist, ich das Gehäuse und einpaar Bauteile davon noch nutze für 1€ / Stk .
    Die Platine habe ich rausgeholt und Antenne, Rj11 Buchse, Buzzer und Schalter ausgelötet, anstatt der Antenne habe ich einfach ein Stück roten Draht gelötet. Dazu noch die Kondensatoren und die Widerstände wie im obigen Link entfernt. Auf der Unterseite habe ich TX an dem PAD von R32 und RX an dem PAD von R34 gefädelt und mir von oben GND geholt.


    Dies habe ich mit meinem kleinen Board verbunden aus:
    kleines Mega88Board & kleines LM317 Board
    Dabei habe ich TX des Moduls mit RXD (PD0 beim Atmega88 ) des Boards, RX des Moduls mit TXD (PD1 beim Atmega88 ) des Boards und GND miteinander verbunden.
    Wichtiger Hinweis:
    Das Bluetoothmodul wie auch mein Board arbeiten mit 3,3V Pegel, somit braucht man kein Pegelwandler.
    Das Bluetoothmodul arbeitet mit 115200 Baud 8N1, damit der Error (Siehe atmega88 Datenblatt Seite 197) möglichst klein ist, habe ich den Quarz meines Boards gegen ein 3,6864MHz Quarz ausgetauscht, das ist ein sogenannter Baudratenquarz, somit habe ich bei 115,2k Baud 0% Error.


    Also bis jetzt nichts wildes gemacht.


    Hyperterminal Einstellungen 115200 8N1, davor muss man das Bluetoothmodul (nachdem man es mit seinem Bluetooth Manager gefunden hat) als serielle Schnittstelle konfigurieren, man bekommt ein Comport zugewiesen, den man auch in Hyperterminal einstellt.


    Die Software die auf dem µC kommt habe ich mir zusammenkopiert da ich faul war meine alten Projekte durchzugehen.
    Hat man die Hardware richtig angeschlossen und eine Verbindung aufgebaut, so behandelt man die Software so als ob man mit der seriellen Schnittstelle des Rechners kommuniziert, dabei ignoriert man einfach das Bluetoothmodul.
    Ich habe hauptsächlich Code von hier genommen und etwas angepasst:
    http://www.mikrocontroller.net…AVR-GCC-Tutorial/Der_UART


    Mein Code:




    Der Code bewirkt, dass die LEDS die am PortC hängen ausgeschaltet werden wenn man "a" drückt und eingeschaltet wenn irgend eine andere Taste gedrückt wird.
    Programiert habe ich mit WinAVR in C und mit AVR Studio den Code übertragen.


    Bevor man zum ersten mal die Fuses schreibt, sollte man sie auslesen, danach kann man den Hacken bei "CKDIV8" wegmachen und "EXTCrystal osc 3.0 - 8MHz" ( das dritte von unten aus dem Bereich der mit " EXTCrystalosc 3.0 - 8MHz" beginnt) einstellen.
    Somit bekommt man als Fuses:
    Extended 0xF9
    High 0xDF
    Low 0xDD


    Ich lese immer die Fuses aus, danach schreibe ich sie so wie ich sie haben möchte wieder rein und erst danach übertrage ich zum ersten Mal das Program.