Timer d'aération Covid
Pour aérer 10' toutes les heures
Cet outil, c'est comme la cavalerie ! Il arrive après la bagarre... Ce n'est pas de la Hi-Tech, mais ce sera surtout un support pédagogique pour deux sujets : la soudure de CMS à la portée de l'amateur et la découverte d'un petit microcontrôleur de chez Microchip (maintenant ) simple, bon marché et assez puissant pour pas mal d'utilisations. Mais avant sa démystification, revenons à nos moutons :
A quoi ça sert ?
Lors de l'épidémie, les autorités sanitaires, dans leurs préconisations, nous invitent à aérer les locaux de réunions ou simplement les salons conviviaux, 10 minutes toutes les heures ... Hors, quand on est pris dans le sérieux de la conversation, on a tendance à oublier la recommandation et c'est là qu'une mélodie se fait entendre et rappelle que pendant que les leds "chenillent", la fenêtre doit être ouverte, et l'air renouvelé ... Une autre série de bip va nous dire, 10 minutes après, que le chauffage ça coûte cher et que l'on peut refermer jusqu'à ce qu'une heure soit écoulée à nouveau. Même hors Covid, l'aération d'une pièce est nécessaire avant que ça ne commence à sentir le fennec .
Qu'est-ce qu'il y a dans la boite ?
Comme exprimé plus haut, cet objet voit plus sa raison d'être dans le fait qu'il va nous faire découvrir un microcontrôleur simple, l'ATTiny85, à mette en oeuvre avec l'IDE Arduino, d'un prix relativement bas et qui présente des caractéristiques intéressantes malgré sa petite taille . Je vais profiter également de cette description pour présenter dans un second lien, ma méthode pour souder les CMS; une occasion idéale car ce montage n'a que deux composants traversants ... Et le schéma, ça dit quoi ?
En bas à gauche, l'alimentation est assurée par 3 piles AA de 1,5 volt (4,5 volts environ) ; voici déjà un premier avantage du micro, car sa tension d'alimentation s'étend de 2,7 a 5,5 vdc . Un interrupteur on/off (S1) met en marche ou arrête l'ensemble . Cette source d'énergie est distribuée vers les résistances de limitation de courant des Leds , vers le buzzer et le processeur. Un condensateur C1 (0,1µF) CMS garanti un courant sans transitoire aux bornes VCC et GND de l'ATTiny85 de Microchip ! La sortie PB0 vient directement sur l'anode de la led 1 au centre et on limite le courant par une résistance de cathode de 470 Ohms (R3) ... En marche, lors de l'attente cette led bleue clignote à 1 Hz, et rentre dans le chenillard lors de la préconisation d'aération . La sortie PB1 vient faire 'cheniller' les 4 leds Blanches qui, en parallèle, prennent 40 mA, ce qui est élevé pour la sortance des pinuches du circuit ... Il a donc fallu l'interfacer avec un transistor (2N2222 CMS ) et une résistance de limitation de 100 Ohms (R7). La résistance (R1) de 2200 ohms limite le courant base / émetteur dans le transistor... Et pour les autres leds du chenillard, on reproduit le même montage sur le port PB2 du Tiny.
Un buzzer d'avertissement est monté dans la charge d'un autre transistor (U$2) pour envoyer une mélodie (restons honnête, on va plutôt dire 'série de bips' ) lors de la demande d'aération et une autre mélodie pour nous inviter à fermer la fenêtre ! Une résistance de base R4 (2k2) pour le même motif que le paragraphe précédent . Une diode D6 (1N4148) est montée en inverse aux borne du buzzer pour la protection du transistor . Je ne me suis encore pas trop penché sur la constitution de ces bippers mais l'expérience fait que sur prototypes, les transistors n'avaient pas tenu très longtemps ( claqués ). Voilà donc de ce qui est de l'étonnante simplicité du circuit ... Go ! à la réalisation .
Le circuit imprimé est en simple face, avec 3 straps pour s'affranchir de passer par un professionnel ou un équipement de réalisation trop cher. La grande majorité des composants sont soudés côté pistes et seulement deux, de l'autre côté . Comme évoqué au début de l'article le but est de se familiariser avec les CMS et ce lien renvoi vers ma méthode de soudage ... Une attention toute particulière doit être accordée au soudage des leds ; en effet la led centrale à sa cathode côté résistance et masse, alors que toutes les autres sont avec l'anode côté résistance ... J'aurais pu utiliser un ATTiny85 en SMD mais comme j'avais des essais à faire lors de la mise au point du programme, le montage sur support est obligé . Dans une version plus évoluée, il serait intéressant de remplacer le buzzer par un haut parleur ou cellule piezo pour rendre la mélodie harmonieuse avec des notes jouées, en sortant des fréquences et durées relatives à la partition de la mélodie ...
La mise en boite :
J'ai voulu changé de mes classiques parallélépipèdes. Il y a trois parties sur le boiter, dessinées avec Design Spark Mechanical ... Un rectangle de base qui sert de stabilisation, un fond qui a la fonctions de coupleur de piles AA et de support d'interrupteur, puis la partie avant qui tient le circuit imprimé. Un altuglass translucide sert de diffuseur de lumière et vient s'ajuster à l'intérieur de la face avant . J'avais prolongé les trous de maintient du circuit pour assurer la fermeture avec des colonnettes entretoises, mais l'ajustement réalisé par mon imprimante 3D est largement suffisant pour maintenir emboité l'une dans l'autre les deux parties .
Et le programme :
D'une simplicité étonnante ... Un bon début pour celui qui souhaite démarrer en programmation avec l'IDE Arduino, puisque l'on ne gère que des boucles avec temporisation, et états logiques de sorties ... Simple, MAIS pas tant que tout ça, car l'ATTiny85 développé sous cet IDE ne prends pas en compte quelques instructions. Et sous d'autres Environnements de Développement Intégrés non plus ! Je me suis cassé les dents sur des trucs bêtes, du genre boucle avec l'instruction for: ' for (int i = 0; i <= 255; i++) { ' Eh bien il ne fait rien et ne met aucun message d'erreur en compilation ... J'ai essayé avec Microchip Studio également: pas de soucis pour sortir un fichier hex, sans remarque du compilateur non plus, et le charger avec un bon vieux programmateur Dataman40 ... rien de mieux ! plus je cherchais, plus je m'enfonçais, jusqu'à tout reprendre du début ...
Dans mes boucles, j'ai donc utilisé :
void loop() {
//On va jusqu'a la fin et on recommence
Tm=0;
while(Tm < 3600){ //La led du centre clignote pendant 1 heure
digitalWrite(ledClock,HIGH);
delay(500);
digitalWrite(ledClock,LOW);
delay(500);
Tm++;
}
Et là, Ho miracle ça fonctionne ... Je n'ai pas d'explication pour le moment mais si je découvre quoi que ce soit, je le détaillerai ... Pour la programmation, je me suis résolu à utiliser l'IDE Arduino et un Arduino Nano en tampon ISP (Programmation In Situ ) et en plus d'être efficace, c'est d'une relative simplicité . La procédure est expliquée sur mon site en cliquant ICI ...
Et pour ceux qui sont intéressés, et qui ont eu la patience de me lire jusqu'au bout, voici tous les fichiers nécessaires à la réalisation :
Timer aero (551.39 Ko)
Pour terminer :
Le but de ce montage n'est pas de frimer avec la haute technologie, seulement de se familiariser avec l'ATTiny85 pour d'autres réalisations 'bon marché' et assez puissant pour des petites applications malgré quelques limitations au niveau des instructions reconnues... Par la même occasion, ça permet de se familiariser avec le câblage de circuits en CMS (SMD) au niveau amateur et d'ouvrir un chapitre sur ma méthode ...
Ajouter un commentaire