Étape 2: Programmer l’Arduino
Cette section suppose que vous savez comment connecter votre microcontrôleur Arduino à votre ordinateur, compiler et télécharger une esquisse. Si vous ne savez pas comment faire que vous ne devriez pas probablement faire ce Instructable. Mais passé quelque temps sur cette page et faire certains exemples et didacticiels il pourrait vous apporter de la vitesse.Nous allons télécharger notre croquis avant tout de l’électronique faisant, nous pouvons tester l’électronique que nous allons.
#1: Télécharger
Téléchargez le fichier secret_knock_detector.pde en bas de cette section et copiez-le dans votre carnet de croquis. (Ou voir le texte et couper et coller dans une nouvelle esquisse.)
(Astuce : si le nom du fichier téléchargé est quelque chose comme « BARS5HS13H8SW.tmp » simplement renommer en secret_knock_detector.pde. et vous voilà prêt à partir.)
#2 :
Ouvrez l’esquisse et compilez-le. Il devrait compiler correctement du premier coup, mais il est bon de s’assurer.
#3 :
Connectez votre Arduino et télécharger le croquis.
Si vous avez des problèmes, consultez la section Dépannage sur le site d’Arduino.
Vue d’ensemble du code :
Pour les curieux, voici un regard sur quelques bouts de code si vous êtes intéressé à bricoler :
(Si vous n’êtes pas curieux, passez à la section suivante)
sur la ligne 28 :const int seuil = 4;
Il s’agit de la sensibilité du détecteur de cognement. Si vous obtenez beaucoup de bruit, soulever ce (jusqu'à 1023), si vous rencontrez un coups d’audience mal vous pouvez l’abaisser (aussi bas que 1).
sur la ligne 29 :const int rejectValue = 25 ;
sur la ligne 30 :const int averageRejectValue = 15 ;
Ces deux sont utilisées pour déterminer la précision avec laquelle une personne doit frapper. Ils sont des pourcentages et devraient se situer entre 0 et 100. Abaissement de ces moyens quelqu'un doit avoir plus précis, plus élevée est plus indulgent. averageRejectValue doit toujours être inférieure à rejectValue.
Paramètres d’environ 10 et 7, il est difficile pour deux personnes pour le même TOC-TOC même s’ils connaissent le rythme. Mais il augmente aussi le nombre de faux négatifs. (c’est à dire: vous frapper correctement et il ne fonctionne pas toujours.)
sur la ligne 31 :const int knockFadeTime = 150 ;
Il s’agit d’une minuterie debounce brut pour le capteur de cognement. Après qu’un coup, il entend il arrête d’écouter pour cela nombre de millisecondes alors il ne compte pas la frapper même plus d’une fois. Si vous obtenez un seul coup compté deux puis augmentez cette minuterie. Si elle n’est pas inscrire deux coups rapides puis diminuer.
sur la ligne 32 :const int lockTurnTime = 650 ;
C’est maintenant le nombre de millisecondes nous laisser tourner le moteur pour déverrouiller la porte. Combien de temps cela devrait être dépend de la conception de votre moteur et votre serrure. C’est pas grave si il fonctionne un peu plus longtemps puisque j’ai conçu un embrayage simple dans la conception, mais il est préférable pour toutes les parties, si elle ne fonctionne pas trop.
sur la ligne 34 :const int maximumKnocks = 20 ;
Combien frappe nous record. 20 est beaucoup. Vous pouvez augmenter ce si votre cachette secrète est protégé par des batteurs sournois avec bons souvenirs. Il augmente trop et vous ne manquerez pas de mémoire.
sur la ligne 35 :const int knockComplete = 1200 ;
Également connu sous le nom, le nombre maximal de millisecondes, qu'il attendra pour frapper. Si elle n’entend pas un coup pour ce que temps il assumera que c’est fait et vérifier pour voir si le coup est tout bon. Porter ce si vous êtes un heurtoir lent. Il diminue si vous êtes un heurtoir rapide et sont impatients d’attendre 1,2 secondes pour votre porte à déverrouiller.
sur la ligne 39 :int secretCode [maximumKnocks] = {50, 25, 25, 50, 100, 5...
Il s’agit de la frapper par défaut qu’elle reconnaît lorsque vous l’allumez. Il s’agit d’une notation rythmique bizarre étant donné que chaque valeur représente un pourcentage de la frapper plus longue. Si vous avez un moment difficile de lui faire reconnaître « rasage et une coupe de cheveux » changement à {100,100,100,0,0,0... et une simple séquence de 3 coups l’ouvrira.
Débogage :
sur la ligne 51 : Serial.begin(9600) ;
sur la ligne 52 :Serial.println ("programme start.") ;
Décommentez ces lignes pour voir certains debug info sur le port série. Il y a quelques autres lignes de déboguer le code défini dans le reste du code que vous pouvez décommenter pour voir ce qui se passe en interne.
N’oubliez pas de mettre votre port série à la bonne vitesse.
Le reste du code est commenté afin que vous pouvez voir comment il fonctionne, mais vous n’aurez probablement pas besoin de le changer si vous n’êtes pas en train de changer la conception.