« AquaMarium » : différence entre les versions

De Kernel Fablab Lannion
Aucun résumé des modifications
Ligne 74 : Ligne 74 :


=== Connectivité ===
=== Connectivité ===
L'aquamarium est connecté à Internet via un shield ethernet sur l'arduino.
L'aquamarium est connecté à Internet via un shield ethernet.
L'arduino de l'aquamarium est configuré en client web [http://arduino.cc/en/Tutorial/WebClient]
L'arduino de l'aquamarium est configuré en client web [http://arduino.cc/en/Tutorial/WebClient]
L'aquamarium envoit à intervalle régulier une requête pour connaître la hauteur de marée
 
L'aquamarium envoit à intervalle régulier (~ 10 minutes paramétrables) une requête pour connaître la hauteur de marée
il envoit sa requête à http://projects.emerginov.com/WhereIsTheBeach/web2.php
il envoit sa requête à http://projects.emerginov.com/WhereIsTheBeach/web2.php


Ligne 86 : Ligne 87 :
http://projects.emerginov.com/WhereIsTheBeach/web2.php?port=68  
http://projects.emerginov.com/WhereIsTheBeach/web2.php?port=68  


l'id correspond à l'id du site maree.info, site sur lequel on récupère les informations de marées. Un petit programme permet d'interpoller la hauteur d'eau.
l'id correspond à l'id du site maree.info, site sur lequel on récupère les informations de marées.  
Un petit programme permet d'interpoller la hauteur d'eau.
Le code source de ce bout de code peut être retrouvré [https://svn.emerginov.com/filedetails.php?repname=WhereIsTheBeach&path=%2Ftrunk%2Fweb%2Fincludes%2Ffunctions.php ici] (fonction getTideInfo($id_port)  
Le code source de ce bout de code peut être retrouvré [https://svn.emerginov.com/filedetails.php?repname=WhereIsTheBeach&path=%2Ftrunk%2Fweb%2Fincludes%2Ffunctions.php ici] (fonction getTideInfo($id_port)  


A noter que en plsu des informations de marée, on peut récupérer toute sorte d'info issue de windguru (température, vitesse du vent, hauteur des vagues,...)
A noter que en plus des informations de marée, on peut récupérer toute sorte d'info issue de windguru (température, vitesse du vent, hauteur des vagues,...)
le backend aquamarium et whereisthebeach reprennent des fonctions communes issues du SDK de windguru.
le backend aquamarium et whereisthebeach reprennent des fonctions communes issues du SDK de windguru.


 
Enfin pour tester des valeurs aléatoires (pour voir l'aquamarium monter et descendre..car une marée ce n'est pas très rapide...) possiblité d'utiliser  http://projects.emerginov.com/WhereIsTheBeach/web3.php qui renvoit une valeur aléatoir entre 0 et 1024


=== Code source ===
=== Code source ===

Version du 24 janvier 2015 à 19:01

Test.jpg

le palmarès du défi : 4. AquaMarium (182 clics) : 1000 euros d’avoir chez Snootlab

Principe général

Aquarium dessin.png

Le but du projet est de construire un aquarium qui vous montrera en temps réel la hauteur d'eau de la marée en un lieu donné. Vous pourrez ainsi savoir à tout moment l'état de la marée sur votre plage préférée ou sur votre (futur) lieu de villégiature. Grâce à celui-ci le phénomène des marées n'aura plus de secrets pour vous :) La règle des douzième est beaucoup plus compréhensible visuellement que sur une courbe.

l'AquaMarium permet de voir physiquement :

  • la hauteur d'eau actuelle
  • le cycle des marées
  • la vitesse de montée/descente
  • les coefficients (mortes eaux/vives eaux)

C'est à la fois un objet :

  • didactique pour appréhender visuellement ces concepts abstraits;
  • décoratif voir promotionnel dans le cadre d'un syndicat d'initiative d'une station balnéaire;
  • utile pour tous les travailleurs et usagers de la mer qui peuvent ainsi connaître la hauteur d'eau sans calculs compliqués.

Le prototype est développé au Fablab de Lannion par une équipe pluri-disciplinaire (électronicien, mécanicien, informaticien et designer) pour le concours Data+. Sa création est entièrement documentée sur cette page et OpenSource. Ainsi n'importe qui peut en re-créer un pour ses besoins personnels.

Vous pouvez le voir fonctionner en vidéo ci-dessous

Données sur le site du SHOM ou maree.info ou météo-consult.

architecture

Prototype :

  • arduino + ethernet : récupération/extraction des données
  • pompe péristaltique pour gérer le déplacement d'eau
  • petit aquarium en verre

Réalisation

Contrôle

Pump ctrl bb.png

L'organe de commande est composé d'un arduino auquel est adjoint un shield ethernet.

Ses fonctions sont :

  • DHCP / DNS
  • "crawler web" pour récupérer les data
  • interface web de configuration (choisir le lieu de la marée, la taille, la vitesse...)
  • commande de la pompe en fonction des déplacements de la marée
    • le moteur est contrôlé par 2 relais pour tourner dans les 2 sens
  • récupération des données des capteurs
    • optique pour l'asservissement moteur
    • ILS pour la même fonction, mais qui s'est avéré trop lent
    • hauteur d'eau pour recaler le niveau réel
  • Schéma

Pompe péristaltique

Pompe.jpg

C'est une pompe réversible. Elle permet donc de déplacer un liquide dans les deux sens.

Le principe général est de pousser le liquide dans un tuyau. Il n'y a pas de contact entre le mécanisme de la pompe et le liquide. Pour plus de détails, voir Wikipedia

Pompe3d.jpg
  • le corps de la pompe est designé et imprimé en ABS au Fablab. (Fichiers source)
  • son activation est assuré par un moteur à courant continu (provenant d'une visseuse)
  • le moteur est asservi par un capteur optique couplé à une roue dans laquelle sont ménagées 2 fentes

Plus de détails sur sa réalisation : Pompe Péristaltique

Aquarium

DSC 0086.JPG
  • Réalisation en verre à partir d'un double vitrage.
  • étanche :)
  • un socle sert aussi de compartiment de stockage pour l’électronique, la pompe et le réservoir
  • le réservoir est une poche plastique d'un cubitainer de jus de fruits
  • sa décoration est réalisée en vinyle peint

Connectivité

L'aquamarium est connecté à Internet via un shield ethernet. L'arduino de l'aquamarium est configuré en client web [1]

L'aquamarium envoit à intervalle régulier (~ 10 minutes paramétrables) une requête pour connaître la hauteur de marée il envoit sa requête à http://projects.emerginov.com/WhereIsTheBeach/web2.php

le server lui répond sous la forme d'une chaine <maree=3,4>

l'arduino récupère la valeur et la convertit de manière à modifier la hauteur d'eau dans l'aquarium.

A noter que l'arduino peut demander la hauteur dans plusieurs ports en précisant l'id du port (ici 68=Trébeurden) http://projects.emerginov.com/WhereIsTheBeach/web2.php?port=68

l'id correspond à l'id du site maree.info, site sur lequel on récupère les informations de marées. Un petit programme permet d'interpoller la hauteur d'eau. Le code source de ce bout de code peut être retrouvré ici (fonction getTideInfo($id_port)

A noter que en plus des informations de marée, on peut récupérer toute sorte d'info issue de windguru (température, vitesse du vent, hauteur des vagues,...) le backend aquamarium et whereisthebeach reprennent des fonctions communes issues du SDK de windguru.

Enfin pour tester des valeurs aléatoires (pour voir l'aquamarium monter et descendre..car une marée ce n'est pas très rapide...) possiblité d'utiliser http://projects.emerginov.com/WhereIsTheBeach/web3.php qui renvoit une valeur aléatoir entre 0 et 1024

Code source

Le projet est entièrement OpenSource et OpenHarware.

Le code source et les fichiers de design sont disponibles sur le dépôt Data+ du Github du fablab

Médias

Photos

Vidéos