Page 1 sur 1

Arrosage commandé

Posté : 17 juillet 2016, 14:24
par apynala
Bonjour,

Il y a 2 mois, j'ai découvert la carte Arduino:
https://openclassrooms.com/courses/prog ... ec-arduino

C'est une carte électronique qui permet ("enfin!") de pouvoir commander des éléments par son ordinateur.
De plus, elle a une mémoire, ce qui implique qu'on est pas obligé d'avoir un ordi branché dessus.

C'est génial! Ayant un BTS d'informatique industrielle, pour la première fois je peux ("facilement") jouer avec mon ordi et surtout c'est pas des trucs abstrais comme internet :guillemets .

Donc, vous voyez où je veux en venir ...

Comment arroser mon jardin de manière automatique quand je ne suis pas là (comme quand je vais en belgique, par exemple [183109.gif] ) et que je demande à ma femme de le faire [245975.gif] .

L'idée est simple:

- La centrale (je vais l'appeler comme ça, en référence aux centrales météo) sera en bluetooth pour communiquer avec un téléphone/tablette
- Un programme commandera l'arrosage automatique en fonction de l'humidité du sol, de la t° et de l'humidité (pas sûr que ça ait un lien mais bon :D )
- On pourra commander l'arrosage de manière forcée à l'aide du téléphone
- On pourra lire les valeurs par le même téléphone
- Je compte mettre des bidons de 100l sur le toit pour faire tampon, du genre que quand je pars, je n'ai pas de souci de facture d'eau
- Les bidons seront équipés de débit-mètres pour la comptabilisation et aussi pour signaler qu'il faut remplir le bidon.

Dans un premier temps, je vais juste faire ça avec mes San marzano.
Je vous mettrai des photos au fur et à mesure.

A+

Re: Arrosage commandé

Posté : 17 juillet 2016, 15:03
par Zara
apynala a écrit : C'est une carte électronique qui permet ("enfin!") de pouvoir commander des éléments par son ordinateur.
A+
je me permet un petit rectificatif
en 1982 alors que tu n'étais pas encore né je travaillais avec une hp87[/url=https://fr.wikipedia.org/wiki/IEEE-488] et [url=]un bus HPIB
bon j'admet que cela coutait un an de salaire
je vais suivre avec beaucoup d'attention ton projet [0088.gif]

Re: Arrosage commandé

Posté : 17 juillet 2016, 17:15
par Leela
ici, on devrait avoir des parapluies qui s'ouvrent automatiquement quand trop de pluie s'annonce, et un lâcher de coureurs indiens pour attraper les limaces

Re: Arrosage commandé

Posté : 17 juillet 2016, 17:35
par apynala
Leela a écrit :ici, on devrait avoir des parapluies qui s'ouvrent automatiquement quand trop de pluie s'annonce, et un lâcher de coureurs indiens pour attraper les limaces
On peut ... faut juste une interface pour swich pour les moteurs pas à pas. Ça permet d'ouvrir et de fermer les parapluies.
Pour les indiens c'est pas électronique , je peux pas faire.
[4.gif]
Zara a écrit :
apynala a écrit : C'est une carte électronique qui permet ("enfin!") de pouvoir commander des éléments par son ordinateur.
A+
je me permet un petit rectificatif
en 1982 alors que tu n'étais pas encore né je travaillais avec une hp87[/url=https://fr.wikipedia.org/wiki/IEEE-488] et [url=]un bus HPIB
bon j'admet que cela coutait un an de salaire
je vais suivre avec beaucoup d'attention ton projet [0088.gif]
Pas encore né... non mais t'as pas honte !

:hihi

Je parle de choses accessibles au grand public.

Re: Arrosage commandé

Posté : 22 août 2016, 19:07
par apynala
Coucou les zamis,

Ne vous avait pas oublié, voici le proto de la commande de l'arrosage automatique:
20160822_184756.jpg
20160822_184756.jpg (64.53 Kio) Vu 2769 fois
et là le code: [maboul.gif]

#include <SPI.h>
#include <Ethernet.h>
#include <dht.h>

dht DHT;


#define DHT11_PIN 2

byte humi;
byte temp;
int lumi;

char carlu[5];

byte mac[] = { 0x90, 0xA2, 0xDA, 0x0E, 0xA5, 0x7E };

IPAddress ip(192,168,1,143);

EthernetServer serveur(4200);


void setup()
{
delay(2000);

Serial.begin(9600);

Ethernet.begin(mac, ip);

delay(2000);

pinMode(3,OUTPUT);
digitalWrite(3,HIGH);

}

void loop()
{
EthernetClient client = serveur.available();

float humimoy = 0;
float tempmoy = 0;

byte i = 0;

for(i = 0; i < 10; i++)
{
int chk = DHT.read11(DHT11_PIN);

humimoy = humimoy + DHT.humidity;
tempmoy = tempmoy + DHT.temperature;

delay(50);
}

humimoy = humimoy / 10;
tempmoy = tempmoy / 10;

humi = byte(humimoy);
temp = byte(tempmoy);
lumi = analogRead(0);

Serial.print(humi);
Serial.print("\t");
Serial.println(temp);
Serial.print("\t");
Serial.println(lumi);

i = 0;

if(client.connected())
{
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/json");
client.println();

client.print("Humidite: ");
client.print(humimoy);
client.print("%");
client.print("\t\t");
client.print("Temperature: ");
client.print(tempmoy);
client.print(" C");
client.print("\t\t");
client.print("Luminosite: ");
client.println(lumi);
delay(10);

if (client.available())
{
while(i<=5)
{
carlu = client.read();
i++;
}
}
}

if(carlu[5] == 0x31)
{
Serial.println("arrosage");
digitalWrite(3,LOW);
carlu[5] = 0;
}
if(carlu[5] == 0x32)
{
Serial.println("arrosage");
digitalWrite(3,HIGH);
carlu[5] = 0;
}
client.stop();
}


Du coup, quand on se connecte avec n'importe quel appareil sur l'adresse IP de l'arduino, il donne la t°, le taux d'humidité et la luminosité.
Et en fonction de ce qu'on lui envoie, il déclenche l'arrosage ou l'éteint.

Demain, je tire les tuyaux.

A+