Étape 6: Émissions de PCB et de tester
Une fois assemblé, chacun des 19 PCB devait être programmé et testé. Tout d’abord, j’ai besoin de programmer les bits de fusible à courir avec une horloge externe rapide, puis programmé avec le firmware qui répondrait aux demandes de la série en retournant les valeurs de quatre capteurs. Ce code a pris un travail : je me suis retrouvé en tournant les convertisseurs a/n à grande vitesse ; qui commence la conversion suivante dans la routine d’interruption appelée par l’achèvement de la conversion précédente. Dans la routine d’interruption, je me suis tourné sur la LED IR approprié. Après avoir parcouru toutes les quatre LEDs IR et capteurs, je l’ai fait à nouveau avec les LEDs IR éteint, stocker les valeurs. J’ai ensuite soustrait la la valeur sur la valeur off, donnant un nombre positif proportionnel à la réflectance télédétection et normalisé par l’IR ambiant.
Chaque PCB avait sa propre adresse unique programmé dedans. Pour la vérification de santé mentale, j’ai eu le microcontrôleur clin l’adresse dans le code Morse au démarrage, alors je pourrais m’assurer que je les avais correctement programmé. Tous les PCB ont été connectés au même RS-485 de bus avec un protocole « parler-seulement-quand-parlé-to »: le microcontrôleur met les données sur le bus qu’en réponse à une requête de l’hôte en son adresse particulière. Cela empêche la prétention de bus.