Giter VIP home page Giter VIP logo

mesure-de-niveau_oregon-arduino's Introduction

Sonde Oregon Arduino - mesure de niveau

 

Description

Un Arduino peut émuler une sonde Oregon avec un émetteur RF 433MHz et l’excellent code disponible ici:

Il est possible d’emettre des trames de 2 types de sondes Oregon: la sonde de température thn132n et la sonde de température/humidité thgr228n.

L’intéret n’est pas de créer une sonde de température/humidité à base d’Arduino, cela ne reviendrai pas forcement moins cher qu’une sonde vendu dans le commerce.

L’idée est d’utliser ce protocole pour envoyer des données de capteur autres que température/humidité/…​

Un récepteur rfxcom ou compatible permettra de recevoir ces sondes atypiques.

L’usage décrit ici sera de pouvoir mesurer la hauteur d’une cuve (dans mon cas un bac à sel d’un adoucisseur) et d’envoyer la donnée sous le protocole Oregon.

 

Matériel

  • Un ci AVR compatible Arduino: ATtiny85

  • Senseur ultrason - HC-SR04

  • Emetteur RF 433MHz AM (ici un Laipac TLP434A)

Voir ce lien http://highlowtech.org/?p=1695 pour programmer l’ATtiny85 sous Arduino.

 

Shéma

 

Code

ATTENTION: L’ATtiny85 doit être configuré en horloge 8 MHz pour respecter les timing RF

Cela peut se faire dans l’IDE Arduino: une fois que l’ATtiny est connecté et testé avec un simple sketch "blink", choisir le type de carte “ATtiny45 (8 MHz)” et lancer “Burn Bootloader” (Graver la séquence d’initalisation) du menu "Outils". Il suffira de le faire qu’une seul fois.

Le programme va émettre le niveau de sel (en cm) restant dans la cuve codé dans une trame Oregon comme une donnée température (la donnée batterie n’est pas utlisée est forcée à '1' dans le programme soit 90% vu par le rfxcom.)

Elle sera donc vu par le rfxcom comme une sonde de température, cela impliquera que le logiciel domotique en amont devra interpréter cette donnée en conséquence.

Ci-dessous réception par un rfxcom de la trame émise et convertit en message xPL.

2016-11-02 23:40:35  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='temp' current='26' }
2016-11-02 23:40:35  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='battery' current='90' units='%' }
2016-11-02 23:43:07  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='temp' current='26' }
2016-11-02 23:43:07  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='battery' current='90' units='%' }
2016-11-02 23:45:39  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='temp' current='26' }
2016-11-02 23:45:39  xpl-trig { hop=1 source=bnz-rfxcomrx.hera target=* } sensor.basic { device='thn132n.bb' type='battery' current='90' units='%' }

Il est possible de créer plusieurs sondes comptatibles Oregon en changeant le code de la constante OREGON_ID dans le sketch.

Le montage doit être alimenter sous une alimentaion de 5V. Le watchdog est utlisé pour réveillé l’ATtiny85 par intervale aprés mise en veille, cela devrait permettre une utlisation sur batterie (non testé).

 

Tests en situation

  • Photos:

Les fils reliés au cable en nappe ne servent qu’à la programmation de l’AVR ATtiny85 (dans ce cas un programmateur AVR USBTiny). il est possible d’uiliser une carte Arduino de base pour programmmer l’ATtiny85.

Table 1. Montages en test

.

.

.

.

.

.

  • Bargraphes

Graphes généré à partir des données en base MySql:

 

A faire

  • Circuit imprimé pour le montage final.

  • Renvoyer la hauteur en pourcentage au lieu de cm

  • Déduire la consommation de sel des graphes obtenus.

Autre usage de sonde

  • Sonde luminosité Arduino/Oregon à base d’ATtiny85

  • Sonde monoxide de carbone (à base de module MQ7)

…​


21/3/2016

mesure-de-niveau_oregon-arduino's People

Contributors

vdomos avatar

Stargazers

Virux avatar

Watchers

 avatar

Forkers

fla91fr

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.