Paso 6: Programación de PCB y pruebas
Una vez montado, cada uno de los 19 PCB necesita ser programado y probado. En primer lugar es necesario programar los bits del fusible con un reloj externo rápido y programado con el firmware que responda a las solicitudes de serie devolviendo los valores de los cuatro sensores. Este código tuvo algunos trabajos: terminé corriendo la ADCs a toda velocidad; es a partir de la próxima conversión en la rutina de interrupción por finalización de la conversión anterior. En la rutina de interrupción enciende el LED infrarrojo apropiado. Después de ciclismo a través de los cuatro LEDs de infrarrojos y sensores, lo hice otra vez con los LEDs de IR apagado, almacenar los valores. Resta entonces el el valor en el valor de apagado, dando un número positivo proporcional a la reflectividad detectada y normalizado por el ambiente ir
Cada PCB tenía su propia dirección única programado en él. Para el control de sanidad tenía el microcontrolador parpadear la dirección en código Morse en el arranque por lo que podría asegurarse que tenían programado correctamente. Los PCB fueron conectados a la misma RS-485 del autobús con un protocolo "hablar sólo-cuando-hablado-a": el microcontrolador pone datos en el bus sólo en respuesta a una consulta desde el host a su dirección particular. Esto evita que la contención de bus.