Table des matières:

Détecteur de fenêtre ouverte Arduino - pour l'hiver : 6 étapes
Détecteur de fenêtre ouverte Arduino - pour l'hiver : 6 étapes

Vidéo: Détecteur de fenêtre ouverte Arduino - pour l'hiver : 6 étapes

Vidéo: Détecteur de fenêtre ouverte Arduino - pour l'hiver : 6 étapes
Vidéo: Les Distributeurs Ne Veulent Pas Que Vous Sachiez Ça 2024, Novembre
Anonim
Détecteur de fenêtre ouverte Arduino - pour l'hiver
Détecteur de fenêtre ouverte Arduino - pour l'hiver

Il fait froid dehors, mais parfois j'ai besoin d'air frais dans mes chambres. Alors, j'ouvre la fenêtre, sors de la pièce, ferme la porte et veux revenir dans 5 à 10 minutes. Et au bout de quelques heures je me souviens que la fenêtre est ouverte… Peut-être que vous le savez ou avez des enfants, ce qui vous donne cette expérience.

Ma solution est le détecteur de fenêtre ouverte. La batterie durera plus d'un an, il suffit donc de la placer en automne et de la retirer au printemps.

Étape 1: Liste des pièces

Liste des pièces
Liste des pièces
Liste des pièces
Liste des pièces
Liste des pièces
Liste des pièces
Liste des pièces
Liste des pièces
  1. Carte Digispark d'eBay.
  2. Vieux écouteurs.
  3. Petit bouton de réinitialisation.
  4. Connecteurs pour haut-parleur - sinon il n'est pas possible de reprogrammer la carte.
  5. Câble.
  6. Pour l'alimentation, vous avez besoin de:

Boîtier de piles AAA avec interrupteur marche/arrêt. Vous pouvez même utiliser des piles usées, car le module fonctionnera jusqu'à 2,4 volts

OU

Ancienne batterie lipo (même 30% de capacité suffit à cet effet) et si vous n'en avez pas déjà, un chargeur pour batteries lipo d'eBay.

OU

Un support pour pile bouton CR2032

ET

Diode 1A 1N4001 ou équivalent -ou tout ce que vous avez dans cette taille- pour la protection contre l'inversion de polarité

Étape 2: Programmation de la carte Digispark

Programmation de la carte Digispark
Programmation de la carte Digispark
Programmation de la carte Digispark
Programmation de la carte Digispark

Installation du pilote

Vous devez installer le pilote Digispark avant de pouvoir programmer la carte. Téléchargez-le ici, ouvrez-le et exécutez " InstallDrivers.exe ".

Installation de l'IDE Arduino

Installez la carte Digispark pour l'IDE Arduino comme décrit dans

Je recommande d'utiliser comme URL de la carte Digispark dans Arduino File/Preferences le nouveau https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json au lieu de https://digistump.com/package_digistump_index.json et installer le Cartes Digistump AVR version 1.6.8.

Puisque nous voulons économiser de l'énergie, l'horloge de la carte est commutée sur 1 MHz dans notre configuration (), vous pouvez choisir Digispark (1mhz - Pas d'USB) comme carte dans le menu Outils.

Compiler et télécharger le programme sur le tableau

Dans l'IDE Arduino, créez une nouvelle esquisse avec File/New et nommez-la par ex. " OpenWindowAlarm ". Copiez le code depuis OpenWindowAlarm.ino

OU

Téléchargez et extrayez le référentiel. Ouvrez le croquis avec Fichier -> Ouvrir… et sélectionnez le dossier " OpenWindowAlarm ".

Compilez-le et téléchargez-le. Gardez à l'esprit que ce téléchargement ne fonctionnera pas si l'enceinte est connectée. Si tout fonctionne bien, la LED intégrée du Digispark clignotera 5 fois (pour le délai d'alarme de 5 minutes) puis commencera à clignoter après 8 secondes avec un intervalle de 24 secondes pour signaler chaque lecture de température.

Étape 3: Réduction de la puissance

Réduction de puissance
Réduction de puissance
Réduction de puissance
Réduction de puissance

Notre carte Digispark utilise 5mA à 3, 0 volts. Avec 2 piles AAA (1000mAh), il fonctionnera pendant 8 jours. Mais il est possible de réduire la consommation d'énergie jusqu'à 26 µA en 3 étapes.

  1. Désactiver la LED d'alimentation en cassant le fil de cuivre qui relie la LED d'alimentation à la diode avec un couteau ou en enlevant/désactivant la résistance 102 permet d'économiser 1,3 mA.
  2. Le retrait du régulateur de tension VIN permet d'économiser 1,2 mA.
  3. La déconnexion de la résistance USB Pullup (marquée 152) de 5 volts (VCC) permet d'économiser les 2,5 mA restants. Déconnectez-le en cassant le fil de cuivre du côté de la résistance qui pointe vers l'ATTiny. Cela désactive l'interface USB et à son tour la possibilité de programmer la carte Digispark via USB. Pour le réactiver, tout en économisant de l'énergie, connectez la résistance (marquée 152) directement à l'USB 5 volts facilement disponible sur le côté extérieur de la diode.

    Le bon côté de la diode peut être trouvé en utilisant un testeur de continuité. Un côté de cette diode est connecté à la broche 8 de l'ATtiny (VCC). L'autre côté est connecté à l'USB 5 volts.

Désormais, la résistance de rappel USB n'est activée que si la carte Digispark est connectée à l'USB, par ex. pendant la programmation et la carte consomme 26 µA en veille.

Si vous reprogrammez les fusibles, vous pouvez obtenir une consommation électrique de 6 µA.

Pour reprogrammer les fusibles, vous avez besoin d'un FAI (qui peut être construit avec un Arduino) et d'un adaptateur de connexion. Pour la reprogrammation, vous pouvez utiliser ce script.

Étape 4: bouton de réinitialisation

Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation
Bouton de réinitialisation

Si vous ne souhaitez pas couper l'alimentation pour réinitialiser l'alarme, connectez un bouton de réinitialisation entre PB5 et la terre. J'ai fait cela en connectant la surface de cuivre VIN non connectée à PB5 et en soudant le bouton de réinitialisation directement au trou de broche VIN et à la grande surface de masse du régulateur de tension VIN retiré.

Si vous souhaitez vous débarrasser des 5 secondes d'attente pour la connexion USB après la réinitialisation, vous pouvez changer le noyau de micronoyau sur l'ATtiny85. Exécutez le script "0_Burn_upgrade-t85_recommended.cmd", puis rechargez à nouveau l'application OpenWindowAlarm avec l'IDE Arduino.

Étape 5: Conférencier

Conférencier
Conférencier
Conférencier
Conférencier
Conférencier
Conférencier

J'ai démonté un vieux casque et connecté le connecteur mâle au câble.

Étape 6: Fonctionnement

en fonctionnement
en fonctionnement
en fonctionnement
en fonctionnement
en fonctionnement
en fonctionnement

Pour utiliser la carte, placez-la sur un rebord de fenêtre et connectez-la à une batterie. Si la température sur le rebord est inférieure à la température où se trouvait la carte à l'origine, il faudra 5 minutes supplémentaires pour adopter intelligemment la nouvelle valeur de départ.

Vous serez alors alarmé si vous laissez la fenêtre ouverte plus de cinq minutes.

Fonctionnement interne

  • Une fenêtre ouverte est détectée après TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) secondes de lecture d'une température avec une valeur de TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) inférieure à la température TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE_SECONDS (192) -> 3 minutes et secondes.
  • Le délai est mis en œuvre en dormant 3 fois à `SLEEP_MODE_PWR_DOWN` pendant une période de 8 secondes pour réduire la consommation d'énergie.
  • Une détection d'une fenêtre ouverte est indiquée par un clignotement plus long de 20 ms et un clic court toutes les 24 secondes. Par conséquent, le capteur interne dispose d'un temps de 3 minutes pour s'adapter à la température extérieure afin de capturer même les petits changements de température. Plus le changement de température est important, plus tôt la valeur du capteur changera et détectera une fenêtre ouverte.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) minutes après la détection de fenêtre ouverte, l'alarme est activée.

    L'alarme ne démarre pas ou une alarme activée s'arrête si la température actuelle est supérieure à la température minimale mesurée (+ 1) c'est-à-dire que la fenêtre a déjà été fermée.

  • L'alarme initiale dure 10 minutes. Après cela, il est activé pendant une période de 10 secondes avec une pause croissante de 24 secondes à 5 minutes.
  • Toutes les VCC_MONITORING_DELAY_MIN (60) minutes, la tension de la batterie est mesurée. Selon le type de batterie détecté à la mise sous tension (voir VCC_VOLTAGE_LIPO_DETECTION (3,6 volts)), une tension de batterie inférieure à VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) ou VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Le millivolt est indiqué par un bip et un clignotement de la LED toutes les 24 secondes. Seul le bip (pas le flash) est significativement plus long que le bip pour une détection de fenêtre ouverte.
  • Après la mise sous tension, le temps de stabilisation inactif est de 5 minutes. Si la carte se refroidit pendant le temps de stabilisation, 4h15 (ou 8h30) minutes sont ajoutées pour éviter les fausses alarmes après la mise sous tension.

Conseillé: