Wiimote Wireless-Modifikation für Menschen mit Behinderungen

17 Schritt:Schritt 1: XBee Funkchip-Konfiguration Schritt 2: Programmieren Sie die Arduino: Sender Schritt 3: Programmieren Sie die Arduino: Empfänger Schritt 4: Erstellen Sie Circuit Board: Sender Schritt 5: Erstellen Sie Circuit Board: Empfänger Schritt 6: Wiimote Modifikation: Demontieren Sie die Wiimote Schritt 7: Solder Drähte an Wiimote Leiterplatte Schritt 8: Schließen Sie Wiimote Drähte an DB-15-Anschluss Schritt 9: Erstellen Sie neue Fall für Wiimote Schritt 10: bis XBEE Empfängergehäuse Set Schritt 11: Fügen Interne Verbindungen der Empfängergehäuse Schritt 12: Setzen Sie den modifizierten Wiimote zusammen Schritt 13: Lap Papierzuführung Schritt 14: Mount und verbinden Sie den XBEE Einheit und Transmitter Platten Schritt 15: Schließen Sie Schalter Schritt 16: Schichten von Klett In den oberen Deckel Schritt 17: Montieren Sie den oberen Deckel und anfangen zu spielen

Wiimote Wireless-Modifikation für Menschen mit Behinderungen

Wiimote Wireless-Modifikation für Menschen mit Behinderungen

Diese Instructable baut weiter auf die vorherige Version von mit einem Wireless-Tasten getrennt von der Fernbedienung. Eine Runde Schale mit einem Klettschicht wurde geschaffen, um den Benutzer zu ermöglichen, externe Tasten zu platzieren, wo er oder sie wählt.

Die drahtlose Einheit verwendet einen Arduino XBEE Chips zu bedienen.

Die Instructable ist in drei Abschnitte unterteilt:
1. Programmierung des Arduino
2. Der Aufbau der Leiterplatten für die drahtlose Einheit
3. Wiimote Modification (Empfänger)
4. Lap Tray Unit (Transmitter)

Schritt 1: XBee Funkchip-Konfiguration

  1. Die Materialien für diesen Schritt sind wie erfordert:
    • 2 Arduino Duemilanove USB Boards (Sparkfun, SKU: DEV-00666)
    • 2 Arduino XBee Leere Shields (Sparkfun, SKU: DEV-09063)
    • 2 Xbee 1 mW Chipantenne (Sparkfun, SKU: WRL-08664)
    • 1 Standard-USB-Kabel AB (Adafruit Industries)
    • X-CTU Software (www.Digi.com)
    • Arduino Software (www.Arduino.cc)
    • 1 9V Geregelter DC-Wand-Energien-Adapter (Adafruit Industries)
    • 1 9V Batterie Halter mit Schalter und 2,1 mm Stecker (Adafruit Industries)
    • 1 9V Batterie

    Der erste Schritt besteht darin, die Xbee Chips so konfiguriert werden, dass sie in der Lage, effektiv miteinander kommunizieren können. Xbee Chip-Konfiguration erfordert die X-CTU Software.

    1. Downloaden und die X-CTU Software-Installation auf der Digi-Website
    2. Entfernen Sie vorsichtig den Mikroprozessor aus dem Arduino Board. Ein Schlitzschraubendreher ist ein gutes Werkzeug, um für diesen Einsatz. Achten Sie darauf, Stifte des Mikroprozessors beschädigen. Beachten Sie die Position des Mikrocontrollers, da Sie benötigen, um sie zu ersetzen, nachdem die XBee-Modul konfiguriert wurde.
    3. Legen Sie das XBee-Modul in den Proto-Schild
    4. Bringen Sie den XBee-Modul und die Proto-Schild auf das Arduino-Board
    5. Schalten Sie die beiden Jumper auf der Proto-Schild aus XBEE zu USB.
    6. Schließen Sie das USB-Kabel mit dem Computer und dem Arduino Board. Sie sollten in der Lage sein zu sehen, und die LED auf der Proto-Schild blinkt. HINWEIS: NIEMALS Schließen Sie das Netzteil an die ARDUINO GLEICHZEITIG AS das USB-Kabel
    7. Öffnen Sie die X-CTU-Programm
    8. Auf der Registerkarte PC-Einstellungen, wählen Sie den richtigen COM-Port für Ihr Arduino.
    9. Stellen Sie die Baudrate = 9600, Flow Control = none, Datenbits = 8, Parity = NONE, Stoppbits = 1
    10. Drücken Sie die Test / Abfrage-Taste. Wenn eine Meldung erscheint, die "Kommunikation mit modem..OK", sagt dann mit dem nächsten Schritt fortfahren. Wenn ein Fehler aufgetreten ist, dann ändern Sie die Baudrate, bis Sie die Kommunikation mit Ihrem Arduino etablieren.
    11. Wählen Sie die Registerkarte Modem-Konfiguration und wählen Sie die Schaltfläche "Lesen". Dies zeigt die Einstellungen, die derzeit auf dem XBee-Modul
    12. Klicken Sie auf PAN-ID und ändern Sie ihn auf 3137. Dies kann technisch auf jede vierstellige Zahl, solange ist es das gleiche in allen XBee-Module im Netzwerk geändert werden. Es wird empfohlen, diesen Wert aus der Standardwert zu ändern, da Sie von anderen XBee-Modul in der Gegend zu erleben.
    13. Ändern Sie den SH-Seriennummer Hoch bis 13A200 (dies kann nicht für das Setup erforderlich)
    14. Ändern Sie den SL-Seriennummer aufsteigend 404BF3B6 (dies kann nicht für das Setup erforderlich)
    15. Ändern Sie den BD-Schnittstelle Übertragungsgeschwindigkeit auf 19200 Dieser Wert ist für die neueren Chips. Vielleicht möchten Sie auch auf höhere Übertragungsraten zu testen, da dies erhöht die Übertragungsgeschwindigkeit. Beachten Sie, dass jedes Xbee Modul verfügt über eine maximale Baudrate, bevor ein Pufferüberlauf-Fehler auftritt. Wenn Sie testen höheren Baudraten dann stellen Sie sicher, um die gleiche Baudrate unter allen XBee-Module verwenden, oder Sie werden nicht in der Lage, erfolgreich zwischen den Modulen zu kommunizieren.
    16. Drücken Sie die Schaltfläche "Schreiben". Am unteren Rand des Fensters sollten Sie eine Meldung, die besagt, dass der Schreibvorgang erfolgreich war, zu erhalten.
    17. Sie werden nun mit der Konfiguration des XBee-Chip durchgeführt. Schalten Sie die beiden Jumper auf der Xbee Schild zurück zu XBEE. Entfernen Sie das USB-Kabel. Ihn wieder vorsichtig den Mikrocontroller in das Arduino-Board.

    Das gleiche Setup oben sollte verwendet werden, um die andere Xbee Chip zu konfigurieren. Der einzige Unterschied ist, dass in Schritt 13, sollte die SH-Seriennummer Hoch bis 404BF3B6 eingestellt werden, und in Schritt 14 wird die SL-Seriennummer Low sollte 13A200 eingestellt werden. Schritte 13 und 14 nicht erforderlich sein.

Schritt 2: Programmieren Sie die Arduino: Sender


  1. Arduino Sender wurde so programmiert, dass, wenn einer oder mehrere der Schalter zu dem digitalen I / O 2-13 wurde betätigt, dass ein bestimmter Buchstabe des Alphabets würde drahtlos über serielle übertragen werden. Es wird zum Beispiel Schalter 1 auf AUS ist, der Buchstabe "a" wurde drahtlos über serielle gesendet. Wenn Schalter 1 sollte auf dann der Buchstabe "b" wurde drahtlos über serielle gesendet. Wenn Schalter 2 war, aus zu sein, wurde der Buchstabe "c" drahtlos über serielle gesendet. Wenn Schalter 2 sollte auf dann den Buchstaben drehen "d" gesendet wurde. Ein Beispiel für die gesamte serielle Übertragung von 12 Schaltern unten zu sehen:
    • Beispiel 1: Schalter 1 und 3 werden geschlossen, alle anderen Schalter offen sind
    o "bcfgikmoqsuw"
    • Beispiel 2: Schalter 2, 3 und 5 geschlossen und alle anderen Schalter offen sind
    o "adfgjkmoqsuw"

    Unten ist die Aufschlüsselung, wie die Arduino-Sender programmiert.
    1. Nehmen Sie die Proto-Schild aus dem Arduino, das Sie als den Sender zu wählen. Die ATMEGA Mikroprozessor sollte in der Arduino-Board sein.
    2. Laden Sie das Programm von der Arduino Arduino Homepage (www.arduino.cc)
    3. Schließen Sie das Arduino an einen Computer über das USB-Kabel.
    4. Öffnen Sie die Arduino-Software-Programm auf Ihrem Computer
    5. Wählen Sie Werkzeuge -> Serieller Port -> und wählen Sie den COM-Anschluss, um Ihren Arduino Board bezieht. Dieser ist in der Regel die erste COM-Anschluss in der Liste.
    6. Kopieren Sie den folgenden Code in das Codefenster Arduino. Beachten Sie, dass dieser Code für die Übertragung in einem 19200 Baud-Rate. Wenn Sie auf einer anderen Baudrate als überall im Code, heißt es 19200 zu übertragen, ändern Sie ihn auf Ihrem gewünschten Baudrate.

    // Dieses Programm sendet Informationen aus einer MaxStream XBee Radio.

    // Serien out ist an Port 1
    // Serien in ist an Port 0

    // Ein digitaler Eingang ist an den Ports 2 bis 13

    int switchPin2 = 2;
    int switchPin3 = 3;
    int switchPin4 = 4;
    int switchPin5 = 5;
    int switchPin6 = 6;
    int switchPin7 = 7;
    int switchPin8 = 8;
    int switchPin9 = 9;
    int switchPin10 = 10;
    int switchPin11 = 11;
    int switchPin12 = 12;
    int switchPin13 = 13;

    // Ein Byte zu senden, Daten:
    char thisByte2 = 0;
    char thisByte3 = 0;
    char thisByte4 = 0;
    char thisByte5 = 0;
    char thisByte6 = 0;
    char thisByte7 = 0;
    char thisByte8 = 0;
    char thisByte9 = 0;
    char thisByte10 = 0;
    char thisByte11 = 0;
    char thisByte12 = 0;
    char thisByte13 = 0;
    Leere Setup () {
    // Satz Stifte mit Eingangs- und Ausgangs angemessen
    pinMode (switchPin2, INPUT);
    pinMode (switchPin3, INPUT);
    pinMode (switchPin4, INPUT);
    pinMode (switchPin5, INPUT);
    pinMode (switchPin6, INPUT);
    pinMode (switchPin7, INPUT);
    pinMode (switchPin8, INPUT);
    pinMode (switchPin9, INPUT);
    pinMode (switchPin10, INPUT);
    pinMode (switchPin11, INPUT);
    pinMode (switchPin12, INPUT);
    pinMode (switchPin13, INPUT);
    // Startet die serielle Verbindung mit 19200-8-n-1-true (nicht invertierte):
    Serial.begin (19200);

    // Es aus irgendeinem Grund scheint zu helfen, um eine beliebige Zeichen ersten senden
    // dann für die Schutzzeit unterbrechen bevor Sie das Kommando-Modus
    Serial.print ("X");
    Verzögerung (1100);
    // Das XBee im Befehlsmodus setzen
    Serial.print ("+++");
    Verzögerung (1100);
    // Warten auf eine Antwort von dem XBee für 2000 ms oder Start
    // Über mit Setup, wenn keine gültige Antwort kommt

    if (returnedOK () == 'T') {
    // Wenn ein OK empfangen wurde dann weiter
    }
    else {
    einrichten(); // Andernfalls gehen Sie zurück und versuchen Sie Setup erneut aus
    }

    // Die PAN (Personal Area Network) ID-Nummer
    // Das Beispiel verwendet 0x3330, aber Sie wollen Ihr eigenes wählen
    // Eindeutige hexadezimale Zahl zwischen 0x0 und 0xFFFE
    // (Beachten Sie die Komma am Ende des Befehls, der anzeigt, dass ein anderer Befehl folgen)
    Serial.print ("ATID3330");
    // Die Destination Hoch auf 0x0 gesetzt
    // Die Option 16-Bit-Adressierungsmodus. Diese Adressen können
    // Durch das Senden von Befehlen von einem Microcontroller zugewiesen und geändert werden
    Serial.print ("DH0");
    // Die Destination Niedrig (16-Bit-Adresse) eingestellt
    // Dieses Beispiel 0x0 für Sende- und 0x1 für empfangen, aber du wirst
    // Wollen Ihr eigenes hexadezimale Zahlen zwischen 0x0 und 0xFFFE wählen

    Serial.print ("DL1");
    // Ausfahrt Befehlsmodus (beachten Sie, dass wir Serial.println Sie hier, um einen Zeilenvorschub, die die Befehlsfolge beendet Ausgabe)
    Serial.println ("CN");

    // Die vorhergehenden Befehle können auch in einer einzigen Zeile wie dieses gesendet werden, unter Verwendung eines einzigen AT-Befehl mit Komma:
    // Serial.println ("ATID3330, DH0, DL1, CN");

    // Vorangehenden Befehlszeile könnte auch als separate Befehle gesendet werden, durch Neuausstellung den Befehl AT:
    // Serial.println ("ATID3330");
    // Serial.println ("ATDH0");
    // Serial.println ("ATDL1");
    // Serial.println ("ATCN");

    // Warten auf eine Antwort von dem XBee für 2000 ms oder Start
    // Über mit Setup, wenn keine gültige Antwort kommt

    if (returnedOK () == 'T') {
    // Wenn ein OK empfangen wurde dann weiter
    }
    else {
    einrichten(); // Andernfalls gehen Sie zurück und versuchen Sie Setup erneut aus
    }

    }

    Leere Schleife () {
    // Lesen Sie den Schalter:
    thisByte2 = digitalRead (switchPin2);
    // Es in eine lesbare ASCII-Wert zu konvertieren, es versenden die serielle Schnittstelle:
    // Verzögerung (20);
    if (thisByte2 == 0) {
    thisByte2 = 'a'; }
    if (thisByte2 == 1) {
    thisByte2 = "b";}
    Serial.print (thisByte2);

    thisByte3 = digitalRead (switchPin3);
    // Verzögerung (20);
    if (thisByte3 == 0) {
    thisByte3 = 'c'; }
    if (thisByte3 == 1) {
    thisByte3 = "d";}
    Serial.print (thisByte3);

    thisByte4 = digitalRead (switchPin4);
    // Verzögerung (20);
    if (thisByte4 == 0) {
    thisByte4 = "e"; }
    if (thisByte4 == 1) {
    thisByte4 = "f";}
    Serial.print (thisByte4);

    thisByte5 = digitalRead (switchPin5);
    // Verzögerung (20);
    if (thisByte5 == 0) {
    thisByte5 = 'g'; }
    if (thisByte5 == 1) {
    thisByte5 = "h";}
    Serial.print (thisByte5);

    thisByte6 = digitalRead (switchPin6);
    // Verzögerung (20);
    if (thisByte6 == 0) {
    thisByte6 = "i"; }
    if (thisByte6 == 1) {
    thisByte6 = 'j';}
    Serial.print (thisByte6);

    thisByte7 = digitalRead (switchPin7);
    // Verzögerung (20);
    if (thisByte7 == 0) {
    thisByte7 = 'k'; }
    if (thisByte7 == 1) {
    thisByte7 = "l";}
    Serial.print (thisByte7);

    thisByte8 = digitalRead (switchPin8);
    // Verzögerung (20);
    if (thisByte8 == 0) {
    thisByte8 = 'm'; }
    if (thisByte8 == 1) {
    thisByte8 = 'n';}
    Serial.print (thisByte8);

    thisByte9 = digitalRead (switchPin9);
    // Verzögerung (20);
    if (thisByte9 == 0) {
    thisByte9 = "o"; }
    if (thisByte9 == 1) {
    thisByte9 = 'p';}
    Serial.print (thisByte9);

    thisByte10 = digitalRead (switchPin10);
    // Verzögerung (20);
    if (thisByte10 == 0) {
    thisByte10 = "q"; }
    if (thisByte10 == 1) {
    thisByte10 = "r";}
    Serial.print (thisByte10);

    thisByte11 = digitalRead (switchPin11);
    // Verzögerung (20);
    if (thisByte11 == 0) {
    thisByte11 = 's'; }
    if (thisByte11 == 1) {
    thisByte11 = "t";}
    Serial.print (thisByte11);

    thisByte12 = digitalRead (switchPin12);
    // Verzögerung (20);
    if (thisByte12 == 0) {
    thisByte12 = 'u'; }
    if (thisByte12 == 1) {
    thisByte12 = 'v';}
    Serial.print (thisByte12);

    thisByte13 = digitalRead (switchPin13);
    // Verzögerung (20);
    if (thisByte13 == 0) {
    thisByte13 = 'w'; }
    if (thisByte13 == 1) {
    thisByte13 = 'x';}
    Serial.print (thisByte13);

    }

    char returnedOK () {
    // Diese Funktion überprüft die Antwort auf der seriellen Schnittstelle zu sehen, ob es ein "OK" ist oder nicht
    char incomingChar [3];
    char okString [] = "OK";
    char führen = 'n';
    int starttime = millis ();
    while (millis () - starttime <2000 && result == 'n') {// verwenden Sie ein Zeitlimit von 10 Sekunden
    if (Serial.available ()> 1) {
    // Lesen drei ankommenden Bytes, die "O", "K" sein sollte, und einen Zeilenvorschub:
    for (int i = 0; i <3; i ++) {
    incomingChar [i] = Serial.read ();
    }
    if (strstr (incomingChar, okString)! = null) {// überprüfen, ob die respose ist "OK"
    // If (incomingChar [0] == 'O' && incomingChar [1] == 'K') {// überprüfen, ob die ersten beiden Zeichen sind "OK"
    result = 'T'; // T zurück, wenn "OK", war die Antwort
    }
    else {
    result = 'F'; // Andernfalls zurückkehren F
    }
    }
    }
    Rückergebnis;
    }

    7. Sobald der Code in dem Codefenster Arduino kopiert wurde, wählen Sie "Übersetzen", um zu überprüfen, dass es keine Fehler im Code. Wenn keine Fehler vorhanden sind, drücken Sie die "Laden in I / O Board-Taste".
    8. Sobald der Code auf die Arduino-Board hochgeladen, trennen Sie das USB-Kabel, und bringen Sie die Proto (einschließlich des XBee-Modul). Sie sind jetzt fertig Hochladen der Code an die Arduino-Sender.

Schritt 3: Programmieren Sie die Arduino: Empfänger


  1. Wurde das Gerät so programmiert, daß sie empfangenen seriellen Daten von dem Sender gesendet und dann 5V durch die entsprechenden Digital-I / O-Pins. Zum Beispiel, wenn "a" empfangen wurde, kann die empfang Arduino Board würde Digital I / O 1 0 V sein. Wenn "b" empfangen wurde, würde die Aufnahme Arduino Board Digital I / O 1 sei 5V zu machen. Wenn "c" empfangen wurde, würde die Aufnahme Arduino Board machen Digital I / O 2 0 V sein. Falls "d" empfangen wurde, dann würde die empfang Arduino Board Digital I / O 2 betragen 5 V zu machen. Angezeigt werden die erforderlich sind, um den Code für den Erhalt Arduino hochladen Schritte:

    1. Nehmen Sie die Proto-Schild aus dem Arduino, die Sie als Empfänger Die ATMEGA Mikroprozessor sollte in der Arduino-Board sein wählen.
    2. Schließen Sie das Arduino an einen Computer über das USB-Kabel.
    3. Öffnen Sie die Arduino-Software-Programm auf Ihrem Computer
    4. Wählen Sie Extras Serial Port und wählen Sie die COM-Schnittstelle, die auf Ihre Arduino Board bezieht. Dieser ist in der Regel die erste COM-Anschluss in der Liste.
    5. Kopieren Sie den folgenden Code in das Codefenster Arduino. Beachten Sie, dass dieser Code für die Übertragung in einem 19200 Baud-Rate. Wenn Sie auf einer anderen Baudrate als überall im Code, heißt es 19200 zu übertragen, ändern Sie ihn auf Ihrem gewünschten Baudrate.
    // Dieses Programm Informationen von einem MaxStream XBee Radio.

    // Serien out ist an Port 1
    // Serien in ist an Port 0

    int outputPin2 = 2;
    int outputPin3 = 3;
    int outputPin4 = 4;
    int outputPin5 = 5;
    int outputPin6 = 6;
    int outputPin7 = 7;
    int outputPin8 = 8;
    int outputPin9 = 9;
    int outputPin10 = 10;
    int outputPin11 = 11;
    int outputPin12 = 12;
    int outputPin13 = 13;

    // Ein Byte, Daten zu empfangen:

    char InByte = 0;
    char inByte2 = 0;
    char inByte3 = 0;
    char inByte4 = 0;
    char inByte5 = 0;
    char inByte6 = 0;
    char inByte7 = 0;
    char inByte8 = 0;
    char inByte9 = 0;
    char inByte10 = 0;
    char inByte11 = 0;
    char inByte12 = 0;
    char inByte13 = 0;

    Leere Setup () {
    // Satz Stifte mit Eingangs- und Ausgangs angemessen

    pinMode (outputPin2, OUTPUT);
    pinMode (outputPin3, OUTPUT);
    pinMode (outputPin4, OUTPUT);
    pinMode (outputPin5, OUTPUT);
    pinMode (outputPin6, OUTPUT);
    pinMode (outputPin7, OUTPUT);
    pinMode (outputPin8, OUTPUT);
    pinMode (outputPin9, OUTPUT);
    pinMode (outputPin10, OUTPUT);
    pinMode (outputPin11, OUTPUT);
    pinMode (outputPin12, OUTPUT);
    pinMode (outputPin13, OUTPUT);

    // Startet die serielle Verbindung mit 19200-8-n-1-true (nicht invertierte):
    Serial.begin (19200);

    // Es aus irgendeinem Grund scheint zu helfen, um eine beliebige Zeichen ersten senden
    // dann für die Schutzzeit unterbrechen bevor Sie das Kommando-Modus
    Serial.print ("X");
    Verzögerung (1100);
    // Das XBee im Befehlsmodus setzen
    Serial.print ("+++");
    Verzögerung (1100);
    // Warten auf eine Antwort von dem XBee für 2000 ms oder Start
    // Über mit Setup, wenn keine gültige Antwort kommt

    if (returnedOK () == 'T') {
    // Wenn ein OK empfangen wurde dann weiter
    }
    else {
    einrichten(); // Andernfalls gehen Sie zurück und versuchen Sie Setup erneut aus
    }

    // Die PAN (Personal Area Network) ID-Nummer
    // Das Beispiel verwendet 0x3330, aber Sie wollen Ihr eigenes wählen
    // Eindeutige hexadezimale Zahl zwischen 0x0 und 0xFFFE
    // (Beachten Sie die Komma am Ende des Befehls, der anzeigt, dass ein anderer Befehl folgen)
    Serial.print ("ATID3330");
    // Stellen Sie die MY (16-Bit-Adresse)
    // Dieses Beispiel 0x0 für Sende- und 0x1 für empfangen, aber du wirst
    // Wollen Ihr eigenes hexadezimale Zahlen zwischen 0x0 und 0xFFFE wählen
    Serial.print ("MY1,");
    // Ausfahrt Befehlsmodus (beachten Sie, dass wir Serial.println Sie hier, um einen Zeilenvorschub, die die Befehlsfolge beendet Ausgabe)
    Serial.println ("CN");

    // Die vorhergehenden Befehle können auch in einer einzigen Zeile wie dieses gesendet werden, unter Verwendung eines einzigen AT-Befehl mit Komma:
    // Serial.println ("ATID3330, MY1, CN");

    // Vorangehenden Befehlszeile könnte auch als separate Befehle gesendet werden, durch Neuausstellung den Befehl AT:
    // Serial.println ("ATID3330");
    // Serial.println ("ATMY1");
    // Serial.println ("ATCN");

    // Warten auf eine Antwort von dem XBee für 2000 ms oder Start
    // Über mit Setup, wenn keine gültige Antwort kommt

    if (returnedOK () == 'T') {
    // Wenn ein OK empfangen wurde dann weiter
    }
    else {
    einrichten(); // Andernfalls gehen Sie zurück und versuchen Sie Setup erneut aus
    }

    }

    Leere Schleife () {
    // Erhalten alle eingehenden Daten:
    if (Serial.available ()> 1) {
    // Ein Byte gelesen
    InByte = Serial.read ();
    Serial.print (InByte);
    // Licht der LED, wenn eine 1 empfangen worden ist
    if (InByte == 'a') {
    digital (outputPin2, LOW);
    }
    if (InByte == 'b') {
    digital (outputPin2, HIGH);
    }

    if (InByte == 'c') {
    digital (outputPin3, LOW);
    }
    if (InByte == 'd') {
    digital (outputPin3, HIGH);
    }

    if (InByte == 'e') {
    digital (outputPin4, LOW);
    }
    if (InByte == 'f') {
    digital (outputPin4, HIGH);
    }

    if (InByte == 'g') {
    digital (outputPin5, LOW);
    }
    if (InByte == 'h') {
    digital (outputPin5, HIGH);
    }

    if (InByte == 'i') {
    digital (outputPin6, LOW);
    }
    if (InByte == 'j') {
    digital (outputPin6, HIGH);
    }

    if (InByte == 'k') {
    digital (outputPin7, LOW);
    }
    if (InByte == 'l') {
    digital (outputPin7, HIGH);
    }

    if (InByte == 'm') {
    digital (outputPin8, LOW);
    }
    if (InByte == 'n') {
    digital (outputPin8, HIGH);
    }

    if (InByte == 'o') {
    digital (outputPin9, LOW);
    }
    if (InByte == 'p') {
    digital (outputPin9, HIGH);
    }

    if (InByte == 'q') {
    digital (outputPin10, LOW);
    }
    if (InByte == 'r') {
    digital (outputPin10, HIGH);
    }

    if (InByte == 's') {
    digital (outputPin11, LOW);
    }
    if (InByte == 't') {
    digital (outputPin11, HIGH);
    }

    if (InByte == 'u') {
    digital (outputPin12, LOW);
    }
    if (InByte == 'v') {
    digital (outputPin12, HIGH);
    }

    if (InByte == 'w') {
    digital (outputPin13, LOW);
    }
    if (InByte == 'x') {
    digital (outputPin13, HIGH);
    }

    }
    }

    nichtig blinkLED (int targetPin, int numBlinks) {
    // Diese Funktion blinkt die Status-LED-Licht, so oft wie gewünscht
    for (int i = 0; i
    digital (targetPin, HIGH); // Setzt die LED auf
    Verzögerung (250); // Wartet auf eine zweite
    digital (targetPin, LOW); // Setzt den LED aus
    Verzögerung (250);
    }
    }

    char returnedOK () {
    // Diese Funktion überprüft die Antwort auf der seriellen Schnittstelle zu sehen, ob es ein "OK" ist oder nicht
    char incomingChar [3];
    char okString [] = "OK";
    char führen = 'n';
    int starttime = millis ();
    while (millis () - starttime <2000 && result == 'n') {// verwenden Sie ein Zeitlimit von 10 Sekunden
    if (Serial.available ()> 1) {
    // Lesen drei ankommenden Bytes, die "O", "K" sein sollte, und einen Zeilenvorschub:
    for (int i = 0; i <3; i ++) {
    incomingChar [i] = Serial.read ();
    }
    if (strstr (incomingChar, okString)! = null) {// überprüfen, ob die respose ist "OK"
    // If (incomingChar [0] == 'O' && incomingChar [1] == 'K') {// überprüfen, ob die ersten beiden Zeichen sind "OK"
    result = 'T'; // T zurück, wenn "OK", war die Antwort
    }
    else {
    result = 'F'; // Andernfalls zurückkehren F
    }
    }
    }
    Rückergebnis;
    }

    6. Sobald der Code in dem Codefenster Arduino kopiert wurde, wählen Sie "Übersetzen", um zu überprüfen, dass es keine Fehler im Code. Wenn keine Fehler vorhanden sind, drücken Sie die "Laden in I / O Board-Taste".
    7. Sobald der Code auf die Arduino-Board hochgeladen, trennen Sie das USB-Kabel, und bringen Sie die Proto (einschließlich des XBee-Modul). Sie sind jetzt fertig Hochladen der Code an die Arduino-Empfänger.

Schritt 4: Erstellen Sie Circuit Board: Sender

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Die für die nachfolgenden Schritte erforderlich Materialien sind wie folgt:
    • 11 2.2K Widerstände
    • 11 33K-Widerstände
    • 11 75 Ohm-Widerstände
    • 11 NPN Schalttransistoren
    • 2 Leere Circuit Boards (mindestens 3 "x 5")
    • Elektrische Leitungen (mehrfache Farben, dh, schwarz, blau, rot)
    • Werkzeuge für Löten
    • DB-15-Steckverbinder (männlich und weiblich)
    • 2 Kippschalter
    • Blatt Lexane
    DC-DC Step Up - VPack PCB

    Das Schaltungsdiagramm für den Sender in dem gegenwärtigen Schritt zu sehen. Dieses Diagramm stellt nur einen der Schalter. Diese Schaltung wurde für jede einer der Schalter konstruiert ist. Diese Schaltung wurde dem Arduino Sender verbunden. Die DI / O war der digitalen Ein- / Ausgabe auf dem Arduino Board. Die + 5V und Erde kam auch von der Arduino. Diese Schaltung ist ein Pull-up-Schalter. Die Funktion dieser Schaltung ist, dass, wenn der Schalter offen ist, die digital in liest 0V. Wenn der Schalter der digitalen in geschlossenen liest 5V.

    Auf einem leeren Leiterplatte zu erstellen 11 dieser Schaltungen und löten Sie die Verbindungen zusammen.

Schritt 5: Erstellen Sie Circuit Board: Empfänger

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Die Empfängerschaltung in dem gegenwärtigen Schritt gezeigt. Diese Schaltung wurde für jede Taste auf der Wiimote gemacht (11 Tasten insgesamt). Bei 5 V aus einer der DI / O-Pins auf dem Arduino gesendet, diese Schaltung schließt einen Knopf auf der Wiimote. Ein NPN-Transistor ist für diese Schaltung verwendet, um die Wiimote-Schalter zu schließen, wenn 5 V wird von der Digital Out auf dem Arduino erhalten.

    Auf einem leeren Leiterplatte zu erstellen 11 dieser Schaltungen und löten Sie die Verbindungen zusammen.

    Beachten Sie, dass es möglich ist, die Wiimote Leistung aus dem Arduino Board, da das Arduino-Board verfügt über eine 3 V Ausgangsstift. Um dies zu tun, die 3V Stift aus dem Arduino muss auf die richtige Batterieanschluss auf der Wiimote angeschlossen werden, und der Boden muss auf die richtige Strommasseanschluss auf der Wiimote angeschlossen werden.

    Damit ist die Einrichtung der Wireless-Geräte. Nun, wenn ein Schalter auf der Arduino-Sender geschlossen, sollte der Schalter auf der Wiimote zu schließen.

    Beachten Sie, dass es dauert etwa 10 Sekunden für die Arduinos zu starten erfolgreich Übertragung drahtlos, nachdem sie Macht gegeben.

    Achten Sie darauf, jedes Empfängerschaltung mit 1 beginnend und endend mit 11. Auch etikettieren, versuchen Sie, die Empfängerschaltung Gebrauch so wenig Fläche wie möglich zu machen, weil es an die Wiimote Schaltung angeschlossen werden.

Schritt 6: Wiimote Modifikation: Demontieren Sie die Wiimote

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Beginnen Sie, indem Sie die Batterien. Entfernen Sie die vier dreieckigen Kopf Schrauben. Für beste Ergebnisse verwenden einen dreieckigen-End-Schraubendreher. Die Schrauben können jedoch mit einem kleinen genug Minischlitzschraubendreher entfernt werden. Knacken den Fall mit einer Miniatur-Schlitzschraubendreher durch Ablassen des Drucks Clip am vorderen Teil des Gehäuses. Nehmen Sie die Platine.

Schritt 7: Solder Drähte an Wiimote Leiterplatte

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen

    Wiimote Wireless-Modifikation für Menschen mit Behinderungen

    Die vorgesehenen Anzeige die Lötstellen für die Drähte Bilder an den Stromkreis angeschlossen werden. Vor dem Löten, schneiden 13 Leitungen, die etwa 2 cm in der Länge. 11 dieser Leitungen sollte man Farbe sein. In unserem Beispiel ist die Farbe blau verwendet. Schließlich, stellen Sie sicher, dass die roten und schwarzen Kabel sind Strom und Masse auf. Dieser Schritt ist nicht notwendig. Jedoch kontrolliert es leicht identifizieren Drähte zu einem späteren Zeitpunkt anzuschließen. Außerdem sollten die verwendeten Drähte flexible für später erwähnten Gründen.

    Bitte tragen Sie eine Schutzbrille beim Löten. Ist es wichtig, auf die richtige Seite des Knopfkontakt oder die Taste nicht richtig funktionieren zu löten.

    Sobald die Drähte mit den Tasten auf der Platine gelötet, nehmen Sie den Receiver Platine früher gebaut und verbinden und löten die Drähte an den Empfänger Bord wie im Schaltplan angegeben. Auch sicher sein, um zu notieren, und beachten Sie die Schaltfläche, um die Verbindung auf der Empfängerplatine entspricht.

Schritt 8: Schließen Sie Wiimote Drähte an DB-15-Anschluss

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Nach wie vor schneiden einen weiteren Satz von 13 Drähten etwa 6-8 cm in der Länge und die gleiche Farbschema, das vor folgte. Löten Sie 11 der Taste Drähte an die Digital Out Eingang jeder Schaltung auf der Empfängerkarte. Löten Sie die Stromversorgung und Erdungskabel direkt an die Power und Ground Verbindung.

    Nun, da die Drähte an den Empfänger Platte gelötet, werfen Sie einen Male DB-15-Stecker, um auf gelötet werden. Bevor Sie beginnen, notieren Sie die Tasten, um die Leitung von der Platine übereinstimmen. Auf der DB-15 Steckverbinder, lassen Sie die ersten beiden Pin-Anschlüsse für Strom und Masse. Pins 3-15 kann beiseite für digitale Out-Verbindungen eingestellt werden.

    Verwenden Sie die Tabelle unten, um mit Anschlusshinweise zu helfen.

    Button || Rcvr Vorstands Pin || DB-15-Pin (männlich / weiblich)
    =================================================
    EIN
    B
    Herauf
    Nach unten
    Links
    Recht
    Zurück
    Vorwärts
    1
    2
    Zu Hause

Schritt 9: Erstellen Sie neue Fall für Wiimote

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Ein neuer Fall muss, damit das drahtlose XBEE Einheit eingebaut werden, um die Wiimote befestigt werden. Dieses Gehäuse besteht aus einem Dübel für die der Benutzer greifen, einem Kasten groß genug ist, um die XBEE Haus und dem tatsächlichen Fall selber. Die ursprüngliche Wii-Fernbedienung Fall ist eine Hartplastik Fall, dass die Wii in die und aus zu gleiten.

    Vom Blick auf die zugeordneten Bild, beachten Sie bitte, dass der Griff wird, die Wiimote in einer vertikalen Ausrichtung zu halten. Der Dübel Griff ist auch mit Schaumstoff gepolstert für mehr Komfort und das kreisförmige Ende sichert die Dübelgriff nicht abrutschen aus der Warteschleife des Benutzers. Die Box enthält die XBEE Fall und enthält ein DB-15 (weiblich) Anschluss an die Wiimote angeschlossen werden.

Schritt 10: bis XBEE Empfängergehäuse Set

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Verwenden Sie das Feld aus dem vorherigen Schritt, sind weitere Modifikationen notwendig, um die Wiimote zu verbinden. Zuerst schneiden oder bohren Löcher groß genug, um einen DB-15-Buchsenleiste und einen Kippschalter hinzuzufügen. Wieder Lötdrähte von ca. 3-4 cm in der Länge auf den DB-15-Buchse. Danach nehmen Sie die Enden der Drähte und verlöten Sie sie auf Anschlussstifte an den XBEE Gerät angeschlossen werden. Auch zur Kenntnis nehmen, welche Pins an der XBEE entsprechen die Tasten auf der Wiimote. Verwenden Sie den vorherigen Tabelle, die ausgefüllt wurde und notieren Sie die XBEE Stift. Die einzigen Stifte, die nicht mit den Anschlussstiften verlötet werden, sind die Leistungs- und Erdungsverbindungen. Sie werden in der nächsten Stufe verbunden werden. Nur die Pins 2-13 am XBEE Einheit für Knopfverbindungen verwendet werden.

    Button || Rcvr Vorstands Pin || DB-15-Pin (männlich / weiblich) || XBEE Stift
    =================================================
    EIN
    B
    Herauf
    Nach unten
    Links
    Recht
    Zurück
    Vorwärts
    1
    2
    Zu Hause

    Sobald Sie fertig sind, montieren Sie den DB-15-Stecker, Schalter, und XBee-Einheit in das Gehäuse. Die XBEE Einheit ist mit Kunststoff-Betriebe, die mit dem Gehäuse selbst superglued werden kann montiert werden.

Schritt 11: Fügen Interne Verbindungen der Empfängergehäuse

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Da es nur eine begrenzte Menge an Energie durch die Batterien aus der Wiimote selbst erzeugt, ist eine konsistente Stromversorgung notwendig, um die XBEE Einheit anzutreiben. VPack PCB aus dem Sparkfun Homepage gefunden - Um dies zu lösen, wird ein Schritt Spannung Pack in das Gerät, das ein DC-DC Step Up ist eingearbeitet. Schließen VPack wie durch die Datenblätter zu den XBEE Einheit beschrieben. Der Schalter ist jedoch verbindet Strom und Masse zusammen auf dem VPack. Dieser Schalter-Verbindung wird das Gerät einzuschalten und lassen Sie das VPack um die 5 V benötigt wird, um das Gerät laufen zu generieren.

Schritt 12: Setzen Sie den modifizierten Wiimote zusammen

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Eine letzte Sache zu tun, ist das Ändern der aktuellen Gehäuse auf der Wiimote. Die obere Abdeckung des Wiimote muss modifiziert, um die zusätzlichen Receiver Platine unterzubringen und in den Bildern zu sehen ist. Die modifizierte Abdeckung entfernt alles bis auf die Power-Taste und die LED-Anzeige-Beleuchtung. Es kann in dem endgültigen Bild mit dem zusammen und funktionierende angeschlossene Gerät zu sehen.

Schritt 13: Lap Papierzuführung

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen

    Wiimote Wireless-Modifikation für Menschen mit Behinderungen

    Nehmen Sie ein Blatt Lexan und schneiden Sie Stücke, um eine Schachtel mit Abmessungen von 14 "x 8" x 2 "zu konstruieren. Kleben Sie die Stücke zusammen, mit Ausnahme der oberen Abdeckung mit Epoxid-Kleber. Das Epoxid ist stärker als Sekundenkleber und kann höheren Druck und Kraft zu widerstehen. Sobald die Hauptbasis der Runde Fach erstellt wird, lassen Sie die Box zu sitzen für mindestens eine Stunde, um sicherzustellen, dass Epoxidharz wird abgerechnet. Fahren Sie mit einem Loch an jeder Ecke der Box bohren, um für die Montage der oberen Abdeckung zu ermöglichen. Machen Sie dasselbe für die obere Abdeckung, und stellen Sie sicher, die Löcher auf der Box mit den Löchern auf der oberen Abdeckung. Auch sollten die Bohrungen ermöglichen eine Schraube montiert werden und zu helfen, halten Sie die obere Abdeckung an Ort und Stelle.

    Fortzufahren, um Löcher auf der Vorderseite des Beckenablagekasten zu bohren, so dass Anschlüsse können in diesen Räumen angeordnet werden. Achten Sie darauf, um sie in einer Weise, die logisch und einfach zu verbinden ist, bohren. Auch ein Loch bohren, so dass ein Kippschalter kann hinzugefügt werden.

Schritt 14: Mount und verbinden Sie den XBEE Einheit und Transmitter Platten

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Mit den Kunststoffhalterungen aus der Zeit vor, montieren sie mit hotglue auf dem Schoß Fach. Der Montageabstand sollte zu den Löchern auf der XBEE entsprechen. Sobald die Kunststoffhalterungen werden getrocknet und ließ sich in, gehen Sie zu den XBEE Einheit und Sender Platte zu montieren.

    Die Verbindungen von der Senderplatine sollte bereits nummeriert werden. Nun nehmen Sie 11 Drähte und schneiden Sie sie auf mindestens 6 cm in der Länge und löten sie an die digitalen Eingänge der Schaltungen auf der Senderplatine. Löten die Enden der Drähte mit den Anschlußstiften an die XBEE Gerät angeschlossen werden. Auch sicher sein, zu beachten, welche angeschlossen ist, um die XBEE Stift beim Anschließen des Senders Bord .. Die folgende Tabelle soll für die weitere Abbildung der Verbindungen.

    Button || Rcvr Vorstands Pin || DB-15-Pin (männlich / weiblich) || || XBEE Stift Transmitter Vorstand Pin
    ================================================== ==================
    EIN
    B
    Herauf
    Nach unten
    Links
    Recht
    Zurück
    Vorwärts
    1
    2
    Zu Hause

    Fahren Sie mit Stereo-Anschlüsse zu befestigen, wie durch den Schaltplan vom Sender Bord schema gegeben gefolgt und legen Sie sie in den Anschlussbohrungen.

Schritt 15: Schließen Sie Schalter

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Sobald alles miteinander verbunden ist, fahren Sie den Kippschalter auf dem Batteriepack zu verbinden.

Schritt 16: Schichten von Klett In den oberen Deckel

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Normal 0 false false false MicrosoftInternetExplorer4

    Nehmen Rollen Klettverschluss und setzen Sie ihn über den oberen Deckel. Schicht Klettbänder, um jegliche Leerräume, die zwischen den Streifen bestehen können, zu minimieren. Auch vermeiden, dass Klettverschluss über den Schraubenlöchern. Die letzte Schicht der Klettverschluss am oberen Deckel sollte ähnlich dem, was in dem Bild zu erkennen suchen.

Schritt 17: Montieren Sie den oberen Deckel und anfangen zu spielen

  1. Wiimote Wireless-Modifikation für Menschen mit Behinderungen
    Montieren Sie den Deckel auf den Schoß Fach mit Schrauben und verbinden Tasten. Auf dem Bild ist nur eine Schaltfläche angezeigt.

    Vor dem Spiel, sicher sein, dass alle Schalter und Taste Stecker korrekt beschriftet. Sobald dies geschehen ist, schalten Sie alle Geräte mit den Schaltern und den Netzschalter auf der Wiimote. Jetzt ist die neue drahtlose Wii-System ist bereit, mit gespielt werden.