Arduino dans le brouillard

Medium tka8c2u6ndftt96edd2d

Difficulté:

ou comment faire de la brume avec un arduino


Ayant fabriqué une caisse de ward (https://fr.wikipedia.org/wiki/Caisse_de_Ward) , j’ai voulu ajouter un brumisateur pour faire plaisir aux plantes et donner un petit effet brumeux…


l’ensemble présenté dans ce tuto permet de générer un peu de brouillard une fois par jour automatiquement ou de déclencher cette brume manuellement avec un bouton poussoir.


https://youtu.be/TDZ7KUTelVc

Matériel

Medium bfjyzbhlxg8myvn2f1vy

Budget:

5 €

Matériel requis :
brumisateur ultrason : 3,2 € (“mist maker” sur ebay)
Alim 24V ou un circuit “step up Voltage” permettant de fournir 24V (pour le brumisateur) : 1€
un relais 5V (le mien est un JZC-11F)
une diode (1N4148 par exemple)
arduino uno ou nano : http://www.gotronic.fr/art-module-arduino-nano-3-0-12422.htm
alim pour l’arduino (recup) : soit 5V par l’usb soit par la pin 30 avec une alim entre 7 et 12V
potentiometre (10 kOhm )
un peu de fil electrique
un bouton poussoir
un fer à souder…

Etape 1 : Brumisateur à ultrason

n’ayant pas de prise adaptée au brumisateur acheté j’ai coupé le fil…
repérer la polarité (partie extérieure du connecteur = masse) repérer les couleurs des fils en mesurant la resistance avec un voltmètre / ohmmètre par example)

Etape 2 : Connection des éléments

Medium xtxl6f8zntt6ktvffrhb


Le circuit a trois parties:
1) le contrôle du brumisateur
J’utilise un relais pour déclencher le brumisateur. Le relais est activé directement par l’arduino (pin 9), une diode de protection est utilisée.

2) le déclenchement avec un bouton poussoir (pin 11). Cette pin 11 est reliée à une resistance “pull up” qui la maintient à 5V (HIGH) lorsque l’interrupteur est ouvert. Lorsque le bouton est activé la pin 11 est reliée à la masse et passe en “LOW”

3) un potentiomètre qui permet de régler la durée du cycle de brume.
La pin A1 est reliée au point milieu du potentiomètre. elle va varier entre 0 et 5V (donc entre 1 et 1024 avec la fonction analogRead). On utilise la fonction “map” pour convertir la valeur obtenue en un temps d’activation de le brume.

Etape 3 : Code arduino

Le skecth :

int pushpin = 9; // pin arduino vers bouton
int fog_control = 11; // pin arduino vers relais
int potarpin = 1; // pin arduino analog1 vers potentiometre

long currentTime = 0; // counter
long lastfog = -86401000; // permet d’enclencher le brouillard au demarrage
long fogduration = 10000; //durée du brouillard
long interfog = 86400000; //24H entre deux brouillards

void setup() {

Serial.begin(9600);

Serial.println(“Brumisateur 1.0”);
Serial.println(“Concours arduino ouiaremakers.com 02/2016”);
pinMode(fog_control, OUTPUT);
pinMode(pushpin, INPUT);

}

void loop() {

// let’s fog at start up
currentTime = millis();

if (currentTime > lastfog + interfog ) {

lastfog = millis(); // le dernier brouillard est maintenant

fog_on(); //brouillard
}
// verifier le bouton

if (!digitalRead(pushpin)) {
Serial.println(digitalRead(pushpin));
Serial.println(!digitalRead(pushpin));
fog_on();
}

delay(500);

}

void fog_on() {
long starttime = millis(); // on enregistre l’heure de debut
digitalWrite(fog_control, HIGH); // debut du bouillard
// petite boucle de la durée demandée, on verifie le reglage de la durée pendant cette boucle
while (millis() < starttime + fogduration ) {
checkpotar(); // verification de la durée du brouillard
delay(500); // petite pause avant de reprendre le debut du while
}
digitalWrite(fog_control, LOW); // on a fini et on arrete le brouillard
}

void checkpotar(){
int potarLevel = analogRead(potarpin);
Serial.println(fogduration / 1000);
potarLevel = map(potarLevel, 0, 1024, 0, 9);
switch (potarLevel) {
case 0:
fogduration = 10000; // 10 secondes
break;
case 1:
fogduration = 20000; // 20 secondes
break;
case 2:
fogduration = 30000; // 30 secondes
break;
case 3:
fogduration = 60000; // 1 minute
break;
case 4:
fogduration = 120000; // 2 minutes
break;
case 5:
fogduration = 180000; // 3 minutes
break;
case 6:
fogduration = 240000; // 4 minutes
break;
case 7:
fogduration = 300000; // 5 minutes
break;
case 8:
fogduration = 360000; // 6 minutes
break;
case 9:
fogduration = 6000000; // 10 minutes
break;

}

}

http://blog.ouiaremakers.com/wp-content/uploads/formidable/foggy_maker.ino

Vous aimez ce tutoriel ?


Soyez le premier à poster un commentaire pour Arduino dans le brouillard


Gotronic

Voir l'espace DIY gotronic


S'inscrire:


  • Vues: 643
  • J'aime: 23