[Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

les autres capteurs : Sondes Météo, switches
Répondre
vil1driver
Messages : 5189
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

[Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par vil1driver » 02 mai 2016, 14:26

Image

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 : 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é
Image
Image
Image
Image
- 1 MicroControleur ATtiny85
Image
- 1 émetteur RF 433Mhz
Image
- 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)

Image

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

Image

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

Image

puis on envoie..

Image

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).

Image

Respectez bien la polarité du condensateur !

Image

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
Image

en suite il suffit d'aller dans le gestionnaire de carte, de rechercher "attiny" et cliquer sur "Install"

Image
Image
Image

vous pourrez en suite sélectionner votre carte attiny, sa fréquence d'horloge, etc..

Image

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
décommenter = supprimer les // . tout ce qui est précédé par les // est considéré comme du commentaire et n'influence pas le déroulement du programme.

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

Image

puis on envoie..

Image

15 secondes plus tard, notre petite puce est prête à jouer les grandes

6 - Le câblage final

Image

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

Image

Le pic correspond au moment où le condo à été installé, la différence est flagrante ! :o


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)

Image

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..

Image

8 - Schématique PCB

https://github.com/Nurgak/Snail-Mail-No ... mitter_PCB

Image

Image

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
Image
Image

DS18B20 et 2 piles AAA LR03 par Neutrino
Image

DHT11 et 3 piles AA LR06 par Grincheux
Image

DS18B20 classique par moi même (version CMS de la puce sur PCB et pile bouton CR2032)
Image
Image

11 - Aller plus loin

juste pour partager d'autres tutos à base d'attiny85 pour faire autre chose de tout aussi sympa..

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)
viewtopic.php?t=692








Aller.. je vous laisse il est l'heure..

Image
Modifié en dernier par vil1driver le 21 mai 2018, 10:47, modifié 63 fois.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


deennoo
Messages : 4006
Enregistré le : 25 janv. 2015, 02:00

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par deennoo » 02 mai 2016, 17:19

Super le capteur d'humidité, il me manquait la partie script pour celui que je veux faire avec une ESP.

Sinon couplé a un panneau solaire ce serait idéal !

Merci pour les sources !
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

Grincheux

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par Grincheux » 02 mai 2016, 20:12

Super ce tuto v2, ca remet un peu de clarté et de simplicité et je suis intéressé par la partie mesure de batterie à cause du bandeau rouge ds DZ..
Grace a Mulot35, c'était mes 1ères sondes DIO et les meilleures. Je n'ai jamais fait mieux. La DS18B20 pour la piscine a une portée de 25m sous la pluie et le vent, j'ai rempli tous les composants de colle avec un pistolet a baton chauffant.
Un bémol sur les DHT11 qui ont un pas de 1 degré et pas très précise, je pense les modifier en DHT22 ou ds18b20 avec ton sketch.

Grincheux

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par Grincheux » 02 mai 2016, 21:59

Je viens de tester avec une DHT11 en commentant la ligne
//#define TEMP_ONLY // sonde de température simple (ds18b20)
J'ai les erreurs suivantes.

Code : Tout sélectionner

attiny85_TempHumPir_433.ino: In function 'void sendOregon(byte*, byte)':
attiny85_TempHumPir_433:223: error: 'sendPreamble' was not declared in this scope
attiny85_TempHumPir_433:226: error: 'sendPostamble' was not declared in this scope
attiny85_TempHumPir_433.ino: In function 'void setup()':
attiny85_TempHumPir_433:468: error: 'setup_watchdog' was not declared in this scope
'sendPreamble' was not declared in this scope
Je suis repassé en version 1.6.5 (c'était pour les ESP)

Merci de ton aide

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


vil1driver
Messages : 5189
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par vil1driver » 02 mai 2016, 22:07

les librairies fournies doivent juste être présentes aux côtés du sketch.. sinon j'en aurais parlé ;)

étrange ces erreurs :( même en 1.6.5 tu ne devrais pas en avoir... sur aucune version d'ailleurs (testé)

serait-ce à cause du fait que tu possédais déjà ces librairies ?
Modifié en dernier par vil1driver le 02 mai 2016, 22:45, modifié 3 fois.

Grincheux

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par Grincheux » 02 mai 2016, 22:17

C'est une version fraîchement installée, même si j'enlève les libraires d'origine, c'est pareil.
J'essaye de comparer avec les libraires de Mulot.
Si tu testes de ton côté juste en compilant, tu n'as pas les erreurs en commentant la ligne ?

vil1driver
Messages : 5189
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par vil1driver » 02 mai 2016, 22:20

tu penses bien qu'il y a eu moultes essais déjà... :?

il y a eu pas mal de modif, ne mélanges pas les tutos..

ma dernière mise à jour date de 2h par contre.. (remplacement du protocole pt2262 par X10 pour le capteur PIR)

aurais tu téléchargé le zip au pire moment ?..
Modifié en dernier par vil1driver le 03 mai 2016, 00:24, modifié 1 fois.

Grincheux

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par Grincheux » 02 mai 2016, 22:49

Et bien pour être sur, j'ai tout est réinstallé et en version 1.6.8. Et ca compile sans erreur :D
Forcément venant de toi cela ne pouvait que marcher ;)
L'histoire du zip au même moment, j'ai du mal à y croire mais je ne vois pas ou cela pouvait coincer, car j'ai fait exactement la même chose que maintenant. (peut être mon triturage de librairie)

En tout cas encore merci pour ton aide, je vais tenter de câbler tout cela maintenant.

Tu veux effacer touts les post histoire de nettoyer le tuto ?

vil1driver
Messages : 5189
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par vil1driver » 02 mai 2016, 22:57

ahh tant mieux :D mais étrange tout de même..

non, pas la peine de nettoyer ;) toute expérience est utile

Grincheux

Re: [Tuto diy] Fabriquer sonde radio Oregon a 5€ pour les nuls V2

Message par Grincheux » 03 mai 2016, 20:03

Bilan du cablage :
DHT11 sans résistance : fonctionne, par contre toujours des pas de 1 degré... précision dht 11 ou sketch !
DS18B20 pas en stock, en commande, pas de doute la dessus
DHT22 avec résistance, ne marche pas, défectueuse, j'ai des doutes, je vais tenter d'enlever la résistance (certains l'utilise pas d'autre...) ou de la tester sur un mysensors. As tu essayé des DHT22 de ton côté ?
RF433.jpg
RF433.jpg (10.4 Kio) Vu 49606 fois
Capteur PIR : moi c'est reed : type catpeur de fenêtre avec 2 fils moulés
reed.jpg
reed.jpg (5.67 Kio) Vu 49606 fois
Détecté comme X10 ID : E, Unit : 0 alors que le sketch dit 6. Associé à type On/Off, on voit bien dans les logs que ca communique mais pas de On/Off ou Fermé/ouvrir. J'ai fait des essais de différents types de capteur
Dans les sketch , tu sembles associer que du motion en 1, pas de On/Off, ca veut que cela ne marche mon type de capteur ?
log.jpg
log.jpg (30.79 Kio) Vu 49606 fois

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre