
Salut,
Pour commencer..,
un grand Merci à Mulot35 pour son tuto qui reste d'ailleurs tout à fait valable.
et qui a permis à bon nombre d'entre nous de confectionner nos propres sondes low cost
Merci également aux auteurs du code initial..
pour se rendre au sujet en question c'est par ici : http://easydomoticz.com/forum/viewtopic.php?f=7&t=240
j'avais juste envie de profiter des mises à jour logiciel pour le rafraichir..
0 - Le matériel
- 1 Sonde DS18b20 : température (existe en version étanche) ou DHT11 ou DHT22 : température + humidité




- 1 MicroControleur ATtiny85

- 1 émetteur RF 433Mhz

- 1 Arduino pour servir d'interface de programmation (modèle au choix du moment qu'il possède une connectique usb)
- 1 Condensateur 10µF (pour le programmateur)
- 1 résistance 4700Ω (pour la sonde)
optionnel :
- 1 Condensateur 10~100µF (pour lisser l'alimentation par pile)
- 1 capteur magnétique (ou tout type de capteur pouvant agir comme un interrupteur, un piège à souris ça marche aussi

il est également possible d'utiliser un capteur 3 fils (type capteur de mouvement) ayant +vcc sur sa sortie
- 2 résistance 1MΩ (capteur magnétique)
1 - Télécharger et installer le logiciel de programmation Arduino IDE (V1.6.8 à ce jour)

2 - Préparer un arduino pour l'utiliser comme interface de programmation entre notre logiciel et notre puce
nous allons donc charger dans notre arduino l'un des sketch fournis en exemple, nommé ArduinoISP
cela vous ouvre en principe une nouvelle fenêtre,
on sélectionne notre type d'arduino (si vous avez le choix du processeur, sélectionnez le bon),
on vérifie au passage l'usage du bon port COM
puis on envoie..
15 secondes plus tard, notre arduino est fin prêt à servir d'interface de programmation, relions le à notre puce..
3 - Un peut de câblage, sortons notre breadboard
réaliser le câblage suivant (nano ou uno, même combat)
Notez bien la présence du condensateur 10uF (entre RESET et GND).

Respectez bien la polarité du condensateur !

Si vous utilisez un arduino MEGA
les PIN 11, 12 et 13 deviennent respectivement 51, 50 et 52
revenons maintenant à notre logiciel..
4 - Ajouter le support des puces Atmel (ATtiny45, ATtiny85, ATtiny44, ATtiny84)
toujours dans le logiciel Arduino IDE, allez dans les préférences (fichier > préférences) et copiez cette adresse
Code : Tout sélectionner
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
en suite il suffit d'aller dans le gestionnaire de carte, de rechercher "attiny" et cliquer sur "Install"


vous pourrez en suite sélectionner votre carte attiny, sa fréquence d'horloge, etc..
vous pouvez maintenant quitter le logiciel Arduino (fermez toutes les fenêtres)
5 - Le sketch
Le sketch est un amalgame personnel de ceux proposés dans le tuto original.
il ne s'agit maintenant plus que d'un seul et unique sketch quelque soit la sonde utilisée..
j'ai ajouté un contrôle du niveau de batterie plus ou moins pertinent
et la possibilité d'agir en plus comme capteur d'ouverture ou de mouvement..
téléchargez le à cette adresse: https://github.com/vil1driver/ATtiny85/ ... master.zip
une fois dézipé, ouvrez le fichier nommé attiny85_TempHumPir_433.ino
un peut de configuration pour choisir l'ID de notre sonde, la fréquence de relève et surtout le type de sonde.
l'ID est à inventer, il ne sert qu'a différencier vos sondes dans domoticz..
0xCC (l'ID est CC, on peut utiliser les chiffres de 0 à 9 et les lettres de A à F)
Code : Tout sélectionner
#define NODE_ID 0xCC // Identifiant unique de votre sonde (hexadecimal)
#define LOW_BATTERY_LEVEL 2600 // Voltage minumum (mV) avant d'indiquer batterie faible
#define WDT_COUNT 5 // Nombre de cycles entre chaque mesure (1 cycles = 8 secondes, 5x8 = 40s)
// decommenter la ligne qui corresponds a votre sonde
#define DS18B20
//#define DHT11
//#define DHT22
// si une mesure est identique a la precedente, elle ne sera pas transmise
// on economise ainsi la batterie
// decommentez la ligne suivante si vous souhaitez transmettre chaque mesure
//#define ALWAYS_SEND
on vérifie de nouveau que l'on à bien sélectionné
le bon type de puce, ATtiny85 à 8Mhz (important !)
et que l'on utilise bien un arduino comme interface de programmation
puis on envoie..
15 secondes plus tard, notre petite puce est prête à jouer les grandes
6 - Le câblage final
La tension d'alimentation joue énormément sur la portée radio du montage,
essayez de vous approchez des 5,5V maximum supportés.
Le condensateur à pour rôle de stabiliser l'alimentation du montage, si vos mesures sont anormalement instables, pensez y
Le pic correspond au moment où le condo à été installé, la différence est flagrante !

7 - PCB
notre ami ZIONIII s'est mis en quatre pour nous concocter des pcb au top pour nos montage, un grand merci à lui.
rendez vous quelques pages plus loin pour en profiter
https://easydomoticz.com/forum/viewtopi ... 350#p34927
Le suivant provient du projet SnailMail de chez HackADay que J'ai fait imprimer
passez commande chez OSH Park en cliquant sur l'image ci dessous (~3€50 les 3)

Je n'ai pas réussi à regrouper 4 modules sur 5cm x 5cm comme l'auteur l'a fait..
mais si certains ici sont plus à l'aise que moi avec le soft EAGLE et sont capables d'obtenir les fichiers GERBER de ceci,
on peut diviser le prix par 4 ce qui serait nettement plus raisonnable..

8 - Schématique PCB
https://github.com/Nurgak/Snail-Mail-No ... mitter_PCB
9 - Longévité des piles
calcule de la durée de vie d'une pile bouton (sauf erreur)
mesures sur prototype dht22
sleep = 0.01mA
lecture sonde = 1.5mA
transmission = 10mA
avec par exemple 1 lecture / 2 minutes
1 lecture dure environ 1s
chaque heure on effectue donc 30 mesures soit 30s à 1.5mA -> 1.5/3600*30 = 0.0125mAh
avec en moyenne 1 transmission / 20 minutes (pas de transmission d'une mesure identique à la précédente)
1 transmission dure environ 1s
chaque heure on effectue donc 3 transmissions soit 3s à 10mA -> 10/3600*3 = 0,008mAh
le reste du temps (3600 - 33) est passé en sommeil soit 3567s à 0.01mA -> 0.01/3600*3567 = 0,01mAh
je néglige l'auto décharge.
soit x le temps en heure
soit y la charge batterie
charge initiale (cr2032) = 225mAh
y = 225 - x(0.0125+0.008+0.01)
https://www.google.fr/#safe=off&q=y+%3D ... %2B0.01%29
y tomberait à 0 en un peu plus de 7000 heures soit environ 10 mois
sachant que l'on ne peut pas exploiter la pile à ce point, je pense que l'on pourrait admettre 6 mois d'utilisation avec une simple pile bouton.
compter 6 fois ça avec un jeux de LR6
10 - Photos
DS18B20 étanche et 3 piles AA LR06 par Mulo35


DS18B20 et 2 piles AAA LR03 par Neutrino

DHT11 et 3 piles AA LR06 par Grincheux
DS18B20 classique par moi même (version CMS de la puce sur PCB et pile bouton CR2032)
11 - Aller plus loin
juste pour partager d'autres tutos à base d'attiny85 pour faire autre chose de tout aussi sympa..
Une variante avec pression atmosphérique en prime (par Conurb)
https://easydomoticz.com/forum/viewtopic.php?f=7&t=9773
capteur d'humidité pour plante (de notre amis Sirus)
http://domotique.web2diz.net/?p=629
capteur de niveau de cuve (par Sirus)
http://domotique.web2diz.net/?p=596
arrosage automatique solaire (par Sirus)
http://domotique.web2diz.net/?p=659
Compteur impulsion eau/gas+rfxmeter (par Mulot35)
http://easydomoticz.com/forum/viewtopic.php?t=692
Aller.. je vous laisse il est l'heure..
