Étape 7: Programmation de l’écluse
Tout d’abord, nous avons créé un code de débogage simple pour nous aider à mettre en place nos capteurs. En s’assurant que vos lectures de capteurs changement lorsque vous placez des objets sur eux est nécessaire, comme beaucoup de petites erreurs dans le câblage ou l’installation peuvent empêcher un petit capteur de lire toutes les valeurs du tout. Nous avons utilisé ce code de débogage graphique nos lectures du capteur, puis décider quel type de capteur de pression que nous devrions utiliser. Nous avons découvert que les capteurs de la maison a fait nettement pire en lisant régulièrement les changements de poids.
Dans le code de l’Arduino, nous installerons le combo dans le programme d’installation. Dans la fonction de boucle, nous définissons les valeurs comme les valeurs actuelles des capteurs. Si la porte est déverrouillée, nous définissons le combo sur les valeurs. Nous comparons le combo aux valeurs actuelles à l’aide d’une fonction de comparaison. Nous avons trouvé cette erreur quadratique moyenne (EQM) a travaillé bien (wikipedia ). Pour ce faire, nous avons pris la valeur absolue de la différence entre le combo pour échelle j’ai et la valeur de l’échelle j’ai (e.. g abs(combo[i]-value[i]) et divisé par le combo pour échelle j’ai. Nous au carré et a résumé ces erreurs et prend ensuite la racine carrée de la somme. RMSE fait un très bon travail en élevant erreurs importantes et en réduisant l’effet de petites erreurs. Objets être mis et enlevé de la nôtre, les capteurs font des changements importants dans notre erreur faisant RMSE idéal. Petites erreurs en raison des différents taux d’humidité et divers autres effets environnementaux sont également réduites au minimum lorsque vous utilisez RMSE.
Nous avons comparé cette erreur à la valeur du bouton de potentiomètre qui contrôlait l’erreur maximale. Si l’erreur était toujours moins d’une demi-seconde, nous avons débloqué la porte avec le servo. Les petites LEDs indiquent que l’erreur courante était inférieur au maximum, et le voyant lumineux indique que la porte est verrouillée ou déverrouillée.
Le traitement graphique a été utilisé pour observer les valeurs actuelles des variables dans le code de l’Arduino. Nous avons utilisé un protocole simple pour envoyer des messages via le port série. Par exemple, « COMBO < port >< valeur > » indique la valeur actuelle de la combinaison de port. Nous avons exposé ces messages sous forme de texte dans la fenêtre de traitement. En outre, nous graphiquement les valeurs des échelles au fil du temps et la valeur d’erreur au fil du temps.