« AquaMarium » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 74 : | Ligne 74 : | ||
=== Connectivité === | === Connectivité === | ||
L'aquamarium est connecté à Internet via un shield ethernet | 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 | 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
le palmarès du défi : 4. AquaMarium (182 clics) : 1000 euros d’avoir chez Snootlab
Principe général
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
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
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
- 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
- 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
- La marée monte !
- Pompe en fonctionnement