Alarme pas cher piège à souris sans fil à l’aide d’un ATtiny85 (6 / 8 étapes)

Étape 6: Le code

Télécharger le fichier ci-joint .ino et utilisez votre méthode préférée pour compiler et télécharger à votre ATtiny85. Ma méthode préférée consiste à utiliser un Arduino UNO en tant que programmeur comme décrit ici. Définissez votre ATtiny de fonctionner à 1MHz avant de télécharger si possible. Si vous voulez juste faire avec elle, puis vous avez ma permission pour passer à l’étape suivante, mais j’espère que vous trouverez le bit suivant instructif.

Ce code tire parti de veille de la ATtiny85 afin d’économiser les piles. Il passe quelque chose comme ceci :

Réveille >> circuit de commutation souricière sur >> vérifier si le circuit de la souricière est ouvert >> s’il est ouvert, passer sur le circuit d’émetteur pour 250 millisecondes >> circuit souricière Switch off >> aller dormir pendant 10 minutes... etc.

En mode "veille", le microcontrôleur utilise une minuscule petite quantité de puissance. En théorie la petite batterie cr2032 pourrait maintenir pendant mois, voire des années. Puisqu’il se réveille seulement pour une fraction de seconde que toutes les dix minutes ou exigence tant, puissance est maintenue basse. Si vous êtes vraiment folle de tirer le meilleur parti de votre batterie, je vois au moins un endroit où vous pourriez peut-être ajouter une résistance dans le circuit et il y a quelques réglages, que vous pourriez faire au code - mais je vous laisse découvrir. S’il vous plaît commentaire si vous le faites !

Alors, comment le ATtiny ne sait pas quand il est temps de se réveiller ? Le code met en place ce qu’on appelle un « Watchdog Timer » (WDT) pour déclencher une interruption lorsqu’il expire (ou déborde). Par défaut, un débordement de WDT entraîne le ATtiny pour remettre à zéro si le programme est bloqué pour une raison quelconque, mais nous ne voulons pas le faire ici. Heureusement, cette fonctionnalité peut être désactivée et la WDT peut être mis en place juste au feu une interruption.

Le code ci-joint est principalement un sketch Arduino assez standard. Si vous êtes un Arduinohead comme je suis, certaines parties de ce code peuvent frontière sur un territoire inconnu. Il s’agit d’un peu de maths peu (voir cette introduction fantastique) avec référence à la feuille de données ATtinyx5. Le programme manipule le Watchdog Timer Control Register de la ATtiny85 - voyez la Section 8.5.2 de la feuille de données pour plus de détails. Ce registre est un morceau de huit bits de mémoire dans la puce qui contrôle ce que fait le temporisateur. Chaque bit de ce registre a une certaine importance pour le microcontrôleur - ils activer certaines fonctionnalités ou désactiver selon que le bit est un 1 ou un 0. Ces bits sont gérées dans le code par un peu de magie de mathématiques pour le bit C !

par exemple

WDTCR | = (1 << WDCE | 1 << WDE)

WDTCR se réfère au livre de contrôle Timer chien de garde, disons que pour des raisons de cet exemple c’est d’abord 00000001.

Le | = est le composé au niveau du bit ou opérateur dans C - c’est juste une façon abrégée de désigner une opération OR sur un groupe de bits (8 bits dans le cas de WDTCR).

<< est un opérateur de décalage vers la gauche au niveau du bit. Un coup de œil à la Section 8.5.2 de la fiche technique indique que le bit WDCE (chien de garde changement active) du Registre WDTCR est le cinquième de la droite. WDCE est défini en tant que 4, donc 1 << 4 déplacerait une 1 valeur de droite à gauche (commençant à la position 0) afin de donner 00010000. WDE correspond à 3 qui donne 00001000. | est la notation C opération de bits OR. Donc (1 << WDCE | 1 << WDE) est (00010000 | 00001000) qui donne 00011000.

C’est pourquoi 00000001 | = 00011000 donnera 00011001. Ouf !

La fonction ISR(WDT_vect) est l’Interrupt Service Routine qui est appelée chaque fois que le temporisateur provoque une interruption. Le WDT_vect identifie le vecteur d’interruption de la minuterie chien de garde. Le délai d’attente maximal à que la WDT pouvait être fixée est d’environ 8 secondes. Pour cette raison, l’ISR incrémente un compteur et le microcontrôleur vérifiera seulement le circuit de la souricière, lorsque le compteur atteint 75, ce qui serait une dizaine de minutes.

Articles Liés

Gant de souris sans fil

Gant de souris sans fil

Matériaux nécessairesUn gant qui respire.Fer de Sautering (ou comme l'appellent certains, fer à souder)Sauter (métal)Gant sans fil pas cherCouteau X-actoVelcro autocollant et la colle forte (par exemple, la colle silicone)BatteriesFilsRuban isolantÉt
DIY USB Chargeur pour batteries téléphone portable lithium-ion, un chargeur de souris sans fil

DIY USB Chargeur pour batteries téléphone portable lithium-ion, un chargeur de souris sans fil

ce un excellent moyen pour recharger les batteries de téléphones portables sans un téléphone cellulaire, plupart des cartes de téléphone portable AC ne chargera pas une pile efficacement car ils sont environ 5 volts DC le téléphone lui-même a le char
Modification de souris sans fil 555 timer

Modification de souris sans fil 555 timer

tout d'abord, mon blog/the original.Seconde de tous, je voudrais mentionner Instructables est-il facile à utiliser. C'est juste tellement plus facile de donner des instructions lorsque vous pouvez étiqueter vos photos et commentaires.Permet de faire
Faire une poche pour votre souris sans fil

Faire une poche pour votre souris sans fil

J'ai décidé de faire une pochette pour ma souris sans fil nouvellement acheté, à fin de voyage.Il est facile de faire un !Préparer :3 ~ 4 pièces (format A4) des documents de la fibre de laine (pour la peau et également prototype)1 pièce (format A4) d
Volume de la télécommande avec souris sans fil

Volume de la télécommande avec souris sans fil

Ever voulait changer votre volume de loin ? Assis sur le canapé en regardant un film ou écouter de la musique sur votre ordinateur uniquement pour décider du volume trop fort ou trop calme ? Vous êtes bien souvent trop loin pour pouvoir facilement vo
Faire une souris sans fil rechargeable

Faire une souris sans fil rechargeable

comme tout le monde je déteste ça quand les piles de ma souris sont épuiser, un couple de jours, je me suis retrouvé à devoir utiliser mon bureau quand tout d'un coup la souris effondrés de travail, tout de suite je savais que c'était les piles et co
Arrêt automatique au bout vers le bas de la souris sans fil (Prototype)

Arrêt automatique au bout vers le bas de la souris sans fil (Prototype)

AVERTISSEMENT : Ceci est un prototype et rendra votre souris sans fil « filaire ». De plus, selon votre souris, il peut perdre sa capacité à faire glisser sur la table/tapis de souris.Pour notre dernier projet en CPE 133 Digital Design à Cal Poly, le
Souris sans fil rechargeable

Souris sans fil rechargeable

Hi guys récemment j'ai acheter une souris sans fil, pour allumer la souris nous voulons pile AAA. J'ai utilisé continuellement pour PC dans 3 semaines batterie déchargée alors que j'ai décidé de faire une souris sans fil rechargeable.Étape 1: matérie
Rendre la souris sans fil de charge

Rendre la souris sans fil de charge

Je préfère la souris filaire souris sans fil pour une raison, qui est sur batterie. C'est gênant pour moi de chercher la machine de charge recharger une batterie à plat ou acheter batterie neuve lorsqu'il est déchargé. Parfois, il va mal aux moments
Récepteur de souris sans fil LEGO

Récepteur de souris sans fil LEGO

Étape 1: outilsVous aurez besoin les éléments suivants et les outils pour rendre le récepteur de souris sans fil de Lego-1 x 2 pièces Lego (ou n'importe quel morceau pourrait travailler-Récepteur de souris cassé-Dremel outil-Super Glue-Pinces (facult
Faire un réseau sans fil à l’aide d’un Modem de Cricket

Faire un réseau sans fil à l’aide d’un Modem de Cricket

Bonjour là et Bienvenue sur mon Instructable !Je veux vous montrer comment faire un réseau sans fil à l'aide d'un modem de Cricket et un MacBook Pro.Étape 1: Connectez le modemConnectez votre modem et démarrer l'application à large bande de Cricket.S
Utilisez votre téléphone portable comme une souris sans fil

Utilisez votre téléphone portable comme une souris sans fil

Bonjour tout le monde. Dans ce projet simple, nous allons utiliser Arduino Leonardo pour contrôler la souris de l'ordinateur. À l'aide d'un module bluetooth, ce qui est attaché à l'Arduino, nous sommes en mesure de connecter sans fil à un androïde mo
Faire un avion vol pas cher à domicile mouches gud sans servos...

Faire un avion vol pas cher à domicile mouches gud sans servos...

helo amis je montre u un simple n pas cher vol avion de rcÉtape 1: Corps d'un avion prenez un carton et coupez le corps comme indiqué dans l'imageEnsuite, prenez un fil d'aluminium et coller comme indiquéÉtape 2: ailes ailes sont coupées de plaque st
MBot commandé par Joystick sans fil à l’aide de moi prise USB

MBot commandé par Joystick sans fil à l’aide de moi prise USB

Me USB Host est un adaptateur pour les périphériques USB. Vous pouvez l'utiliser pour se connecter à une carte Arduino à un périphérique USB, comme une manette de jeu USB, une souris ou une clé USB. Donc vous pouvez contrôler votre robot avec votre p