Paso 6: Arduino
Arduino controla el signo. Ya que por lo general se coloca el signo en algún lugar donde no tiene acceso a Wi-Fi, arduino escucha los comandos en la radio XBee y enciende las luces apropiadamente. Hay muy poca inteligencia en el letrero.
Arduino Shield Xbee y XBee Router
Leer el número de serie de una de sus radios Xbee y escribe--usted necesitará más adelante, y se monta su duro leerlo una vez. Tomar el escudo de XBee y soldadura los Xbee encabezados y headers apilables arduino a él. Me parece que funciona bien para poner uno de las radios Xbee en las tomas, mientras que en la soldadura para conseguirlos alineado bien. Del mismo modo, si tienes otro arduino shield ahí, usted puede utilizar para asegurarse de que los pines de arduino se alinean bien. Asegúrese que el interruptor en el Xbee shield es a DLINE por ahora. Si se establece a UART, no serán capaces de programar tu arduino con el cable USB. Monte su Arduino Mega en la placa que montado en la parte delantera con un par de separadores y 8 tornillos. Poner el escudo de Xbee en el arduino. Tenga en cuenta que algunos de los pernos no tienen un enchufe que empareja en la Mega. El escudo fue hecho para un Uno R3 y la Sainsmart Mega tiene un más viejo esquema de los terminales. Tampoco puede ignorar los que no coinciden (no los necesita), o les cortar--su elección. Ahora, ponga su radio Xbee en su enchufe en el escudo. El Xbee es fresco fuera de la caja, la configuración predeterminada (enrutador en con la configuración predeterminada) funcionarán correctamente.
Alambre de Arduino
Para poder acceder al arduino fácil, usé otro conjunto de encabezados apilable de Arduino que enchufado el escudo. Así, si usted necesita sacar el arduino por alguna razón, puede desconectar las clavijas sin mezclar para arriba. Cada segmento es controlado por un solo pin PWM de arduino. Porque hay 8 segmentos, necesita 8 Sinuosidal, así que tienes que usar un Arduino Mega. Tienes 8 cables blancos de la femtobucks. A partir del segmento 1, corte a la longitud y al final, la tira enchufe DIO2 (no usar 0 y 1, que es el puerto serial). Introduzca el cable de control de segmento 2 DIO3, etc.. Segmento 8 debe terminar en DIO9. Encontré que tenía que inclinarse las cabeceras para que había suficiente espacio para el arduino shield, XBee y cables caber en el tubo.
El Arduino acepta una amplia gama de voltajes. Pin de Vin de Arduino (no 5V) puede conectarse el cable blanco del autobús de la energía, al igual que la femtobucks. Uno de los pines de tierra de Arduino conectarse el cable negro del bus de energía. Soldadura y cinta de esas conexiones.
Una vez que usted está seguro de que tienes el Arduino cableado derecho, opcionalmente puede usar pegamento para fijar permanentemente el control y cables de alimentación a los encabezados de arduino. Solo ver hacia fuera--los vapores del pegamento pueden hacer el plástico transparente sobre los LED haze sobre - poner un ventilador en la cola mientras está secando para disipar vapores.
Programar el Arduino
Supongo que has trabajado con Arduino. Si no lo has hecho, te recomiendo que pasa algún tiempo con uno de los muchos tutoriales comenzados consiguiendo gran.
Con el poder de la señal desconectado, conecte su Arduino al ordenador mediante un cable USB. Asegúrese que el interruptor en el XBee shield es a DLINE (por lo que no está conectado al puerto serie). Utilice el IDE de Arduino para descargar y ejecutar el código de SignArduino desde mi repositorio de GitHub. Este código es bastante básico: estoy pensando en mejorar en los próximos meses.
Pruébalo
Desconecte el cable USB, cambiar el escudo de XBee a UART y encendido la señal. El Arduino hacer un encendido de prueba y vuelva a cada uno de los segmentos en secuencia, luego los apaga todo.
Puede probar las comunicaciones en serie. Desconecte el cable de Vin del autobús de la energía, poner el interruptor a DLINE y enchufe el cable USB. Encender la señal y comenzar al monitor serial en el IDE de Arduino. Tipo "+111111111-". Todos los segmentos deben encenderse en el brillo más bajo. Tipo "+99999999-"--todo debe ir el brillo completo. Tipo "+ 00000000-"--que debe desactivarlos todos. El '+' y '-' caracteres actúan como un protector simple protocolo y tiene que ser de 8 dígitos, '0' a '9' el Arduino da un error si no ve esto y dice "Aceptada" cuando proviene de una secuencia correcta.
No se olvide de desconectar el cable USB, cambiar el escudo de XBee a UART y vuelva a colocar la línea Vin cuando termines.
Posibles mejoras
El diseño permite la intensidad de cada segmento a ser regulable, que es demasiado flexible. Con algunas mejoras de electrónica, podría reducir el número de Sinuosidal y permitir el uso de un Arduino más barato. Además, originalmente tenía la intención de tener un fotosensor en Arduino para permitir que el signo atenuar a sí mismo basado en las condiciones ambientales, pero opté por un método más simple para obtener la cosa hacia fuera la puerta. Gustaría tener una mejor cadena de respuesta a los comandos, y quisiera recuperar el estado de la conexión Xbee y volver a la Pi de frambuesa.