Modificación de Wiimote de inalámbrica para las personas con discapacidad (3 / 17 paso)

Paso 3: Programar el Arduino: receptor


El receptor fue programado para que recibió datos serie del transmisor y entonces envió a 5V a través de los pines de E/S digitales apropiados. Por ejemplo, si "a" recibió, la placa de Arduino receptor haría 1 entrada-salida Digital ser 0V. Si "b" fue recibida, la placa de Arduino receptor haría 1 entrada-salida Digital ser 5V. Si "c" fue recibido, la placa de Arduino receptor tendría entrada-salida Digital 2 ser 0V. Si "d" fue recibido entonces la placa de Arduino receptor tendría entrada-salida Digital 2 ser 5V. A continuación se muestran los pasos necesarios para cargar el código para el Arduino receptor:

1. Retire el escudo de Proto de Arduino que escojas como microprocesador ATMEGA el receptor debe estar en la placa Arduino.
2. conectar el Arduino al ordenador mediante el cable USB.
3. Abra el programa de software de Arduino en el ordenador
4. Seleccione Puerto de serie de herramientas y luego seleccione el COM port que se refiere a la placa Arduino. Esto suele ser el primer puerto de COM en la lista.
5. Copie y pegue el código siguiente en la ventana de código de Arduino. Tenga en cuenta que este código es para la transmisión a una velocidad de 19200 baudios. Si necesita transmitir a una velocidad diferente que dondequiera en el código dice 19200, cambie a la velocidad deseada.
Este programa recibe la información de una radio MaxStream XBee.

serie está en el puerto 1
en es en el puerto 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;

un byte para recibir datos:

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;

void setup () {}
Set pasadores para entrada y salida debidamente

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

poner en marcha la conexión serie con 19200-8-n-1-verdadero (no invertida):
Serial.Begin(19200);

por alguna razón parece ayudar a enviar primero un carácter arbitrario
a continuación, pausa para el tiempo de guardia antes de solicitar el modo de comando
Serial.Print("X");
Delay(1100);
poner el XBee en modo comando
Serial.Print("+++");
Delay(1100);
esperar una respuesta de lo XBee de 2000 ms, o iniciar
con la instalación si no hay respuesta válida viene

Si (returnedOK() == ' t ') {}
Si recibió una autorización continúe
}
Else {}
Setup(); de lo contrario volver atrás y vuelva a intentarlo configuración
}

configurar la bandeja de número de identificación (red de área personal)
Este ejemplo utiliza 0x3330, pero usted querrá elegir su propio
único número hexadecimal entre 0 x 0 y 0xFFFE
(observe la coma al final del comando que indica que seguirá otro comando)
Serial.Print("ATID3330,");
establecer la mi (dirección de 16 bits)
Este ejemplo utiliza 0 x 0 para enviar y 0 x 1 para recibe sin embargo
quieres elegir tus propios números hexadecimales entre 0 x 0 y 0xFFFE
Serial.Print("MY1,");
salir del modo de comando (note que utilizamos Serial.printLN aquí dar un salto de línea que completa la secuencia de comandos)
Serial.println("cn");

los comandos anteriores también se pueden enviar en una sola línea, con un solo mando con comas:
Serial.println("ATID3330,MY1,CN");

la línea de comandos anterior también podría ser enviada como comandos separados, por volver a emitir el comando AT:
Serial.println("ATID3330");
Serial.println("ATMY1");
Serial.println("ATCN");

esperar una respuesta de lo XBee de 2000 ms, o iniciar
con la instalación si no hay respuesta válida viene

Si (returnedOK() == ' t ') {}
Si recibió una autorización continúe
}
Else {}
Setup(); de lo contrario volver atrás y vuelva a intentarlo configuración
}

}

void loop () {}
obtener los datos de entrada:
Si (Serial.available() > 1) {}
leer un byte
inByte = Serial.read();
Serial.Print(inByte);
enciende el LED si se ha recibido un 1
Si (inByte == 'a') {}
digitalWrite (outputPin2, bajo);
}
Si (inByte == 'b') {}
digitalWrite (outputPin2, HIGH);
}

Si (inByte == 'c') {}
digitalWrite (outputPin3, bajo);
}
Si (inByte == había ') {}
digitalWrite (outputPin3, HIGH);
}

Si (inByte == 'e') {}
digitalWrite (outputPin4, bajo);
}
Si (inByte == 'f') {}
digitalWrite (outputPin4, HIGH);
}

Si (inByte == 'g') {}
digitalWrite (outputPin5, bajo);
}
Si (inByte == 'h') {}
digitalWrite (outputPin5, HIGH);
}

Si (inByte == 'i') {}
digitalWrite (outputPin6, bajo);
}
Si (inByte == 'j') {}
digitalWrite (outputPin6, HIGH);
}

Si (inByte == 'k') {}
digitalWrite (outputPin7, bajo);
}
Si (inByte == 'l') {}
digitalWrite (outputPin7, HIGH);
}

Si (inByte == estoy ') {}
digitalWrite (outputPin8, bajo);
}
Si (inByte == ' n ') {}
digitalWrite (outputPin8, HIGH);
}

Si (inByte == ' o ') {}
digitalWrite (outputPin9, bajo);
}
Si (inByte == 'p') {}
digitalWrite (outputPin9, HIGH);
}

Si (inByte == 'q') {}
digitalWrite (outputPin10, bajo);
}
Si (inByte == 'r') {}
digitalWrite (outputPin10, HIGH);
}

Si (inByte == de ') {}
digitalWrite (outputPin11, bajo);
}
Si (inByte == ' t ') {}
digitalWrite (outputPin11, HIGH);
}

Si (inByte == 'u') {}
digitalWrite (outputPin12, bajo);
}
Si (inByte == 'v') {}
digitalWrite (outputPin12, HIGH);
}

Si (inByte == 'w') {}
digitalWrite (outputPin13, bajo);
}
Si (inByte == 'x') {}
digitalWrite (outputPin13, HIGH);
}

}
}

{} void blinkLED (int targetPin, int numBlinks)
Esta función parpadea el estado LED luz tantas veces por requerimiento
para (int i = 0; i
digitalWrite (targetPin, HIGH); el LED se pone en
Delay(250); espera un segundo
digitalWrite (targetPin, bajo); fija el LED apagado
Delay(250);
}
}

char returnedOK () {}
Esta función comprueba la respuesta en el puerto serie para ver si era un "OK" o no
char incomingChar [3];
char okString [] = "OK";
char el resultado = ' n ';
int startTime = millis();
mientras que (millis() - startTime < 2000 & & resultado == ' n ') {/ / usar un tiempo de espera de 10 segundos
Si (Serial.available() > 1) {}
leer tres bytes de entrada que deben ser "O", "K", un salto de línea:
para (int i = 0; i < 3; i ++) {}
incomingChar [i] = Serial.read();
}
Si (strstr (incomingChar, okString)! = NULL) {/ / comprobar si la respuesta es "OK"
Si (incomingChar [0] == ' o ' & & incomingChar [1] == 'K') {/ / comprobar si los dos primeros caracteres son "OK"
resultado = ' t '; T retorno si "OK" fue la respuesta
}
Else {}
resultado = 'F'; de lo contrario volver F
}
}
}
volver a resultado;
}

6. una vez que el código ha sido copiado en la ventana de código de Arduino, seleccionar "Compile" para verificar que no hay ningún error en el código. Si no hay errores presentes Pulse "Añadir al botón de la placa de E/S".
7. una vez que el código se ha subido a la placa Arduino, desconecte el cable USB y vuelva a colocar el ProtoShield (incluye el módulo Xbee). Ahora termine cargando el código en el receptor de Arduino.

Artículos Relacionados

Modificación de Wiimote para las personas con discapacidad

Modificación de Wiimote para las personas con discapacidad

este instructable le mostrará cómo recablear el botón del Wiimote para botones más grandes para que las personas con discapacidad serán capaces de utilizar eficazmente el Wiimote por no tener a los pequeños botones en el Wiimote. Los botones que será
Perro bebe del tazón de fuente señalización de nivel de agua para las personas con discapacidad visual

Perro bebe del tazón de fuente señalización de nivel de agua para las personas con discapacidad visual

Tareas que parecen obvio para nosotros pueden ser un verdadero desafío para una persona con discapacidad visual. Comprobar si está vacío el depósito de agua de su perro guía era un desperdiciador de tiempo y físicamente exigente trabajo para invident
Un hacker para las personas con discapacidad de mano

Un hacker para las personas con discapacidad de mano

Este es un instructivo que le muestre cómo puede hacer un tajo para las personas que tienen algún tipo de dificultad con sus manos. Usted podrá modificar esta tabla para adaptarse más a una persona ya que algunas personas pueden tener artritis y otra
Cartera para las personas con espasticidad

Cartera para las personas con espasticidad

Yo quería hacer una cartera para las personas con espasticidad. Podría ser útil porque no pueden mantener cosas con sus manos así que por qué no hacer una cartera que se ajusta alrededor de su muñeca.Paso 1: La carpeta 'perfecta'Imaginemos una carter
Facilitar una DS Lite a mango para las personas con pobre

Facilitar una DS Lite a mango para las personas con pobre

mi abuela tiene un agarre débil, porque ella tenía poliomielitis cuando era pequeño.Pero a ella le gusta jugar Braintraining en el DS.Esto es lo que he hecho para que sea más fácil para ella jugar al juego.  Voy a llevarlo hasta ella en Navidad.(Mi p
Trapo apretando la ayuda para las personas con sólo un brazo funcional

Trapo apretando la ayuda para las personas con sólo un brazo funcional

Para una persona que sólo tiene un brazo funcional algunas acciones cotidianas a veces pueden ser difíciles. La acción de exprimir un trapo es un ejemplo de este fenomenal. El movimiento de sacar típico utilizado para secar un trapo requiere dos mano
(8) que era fácil micro interruptor o CW fallo para permitir que las personas con discapacidad

(8) que era fácil micro interruptor o CW fallo para permitir que las personas con discapacidad

conocí a un operador de Radio aficionado que es Quadriplegic.Él no puede usar sus manos para exprimir el pepinillo (mic).Lo mejor que puedes hacer es pivotar su brazo para dejar caer su mano sobre la mesa.Por lo tanto, hice un interruptor Mic, que pu
Brazo robótico para personas con discapacidad

Brazo robótico para personas con discapacidad

brazo robótico en las estadísticasUn brazo mecánico es robótica, generalmente programable, con funciones similares a un brazo humano. Los enlaces de un manipulador de tal están conectados por uniones permitiendo el movimiento de rotación (tal como en
Tablero de comunicación para personas con discapacidad

Tablero de comunicación para personas con discapacidad

La incapacidad para hablar o expresarse puede ser frustrante y puede producir un grave obstáculo en una relación paciente-médico. Este dispositivo simple y de bajo costo permite a las personas con discapacidad para comunicarse con cuidadores y provee
Hacer la Web más accesible para personas con discapacidad

Hacer la Web más accesible para personas con discapacidad

informes indican que por lo menos 2,1 millones de unos 54,4 millones de estadounidenses con discapacidades usar el Internet. Para personas con discapacidad, acceder y experimentar completamente materiales presentados en Internet a menudo pueden ser d
Mejor configuración inalámbrica para DD-WRT TP-LINK TL-WR841ND V10

Mejor configuración inalámbrica para DD-WRT TP-LINK TL-WR841ND V10

Mejor configuración inalámbrica para DD-WRT TP-LINK TL-WR841ND V10
Programa de carga inalámbrica para Arduino sin cable USB

Programa de carga inalámbrica para Arduino sin cable USB

Programador de Arduino Wireless está diseñado para cargar el programa desde tu PC/laptop a Arduino board solo por Bluetooth.Ahora que puede actualizar el programa a las placas Arduino que incluida en la caja o estuche sin ningún gato del usb, usted n
GESTO asistida interruptor remoto CONTROL para personas con discapacidad

GESTO asistida interruptor remoto CONTROL para personas con discapacidad

Muchas personas con incapacidad física causaron ya sea por enfermedad y lesión no puede interactuar con el ambiente exterior. Fácilmente no puede participar en el acto más simple de interacción con el mundo exterior. Tecnología asistiva que fue desar
Ejercicios de fuerza y acondicionamiento físico para personas con discapacidad

Ejercicios de fuerza y acondicionamiento físico para personas con discapacidad

ser voluntario con una organización llamada AccesSports que tiene actividades que los más ágiles de atletas desafiantes y trae estos deportes a niños y adultos con discapacidad. La emoción inherente a cada deporte es sólo una parte de la experiencia