Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Composants et fournitures

Microchip ATmega32U4 × 1
Espressif ESP8266 ESP-12E × 1
Quartz 16 MHz × 1
MOSFET canal N de puissance × 4
Module régulateur de tension Digilent × 1
Capteur température/humidité DHT11 (4 broches) × 1
Thermomètre numérique 1-Wire DS18B20 Maxim Integrated × 1
MikroE Water Detect click × 1
Écran LCD Arduino × 1
Photorésistance (LDR) × 1

Outils et machines nécessaires

Applications et services en ligne

À propos du projet

Introduction

J'ai été grandement inspiré par le TED Talk sur l'agriculture numérique de Caleb Harper (directeur de l'Open Agriculture Initiative du MIT) : « This Computer Will Grow Your Food in the Future ». La question clé : Et si nous pouvions cultiver des aliments délicieux et riches en nutriments, en intérieur, n'importe où dans le monde ? L'idée est née !

Mon objectif : une boîte/incubateur créant les conditions climatiques idéales pour la croissance, fournissant exactement la lumière et les nutriments nécessaires. Un émulateur de lumière solaire, un système d'irrigation et un contrôleur climatique dans un design élégant et moderne.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Technologies prévues :

Je ne suis pas le premier sur cette idée, mais la meilleure façon d'avoir une idée créative est d'améliorer les existantes !

Projets similaires sur le marché : avantages individuels mais inconvénients (trop grand, trop petit, trop cher, une seule culture à la fois). Après analyse approfondie, je vise un nouveau système open source avancé, réduisant les défauts et intégrant le meilleur.

Ambitieux ? Tentons le coup !

Expérimentations

Les plantes demandent du temps (semaines à mois). Il faut s'y prendre à l'avance.

Premier test : comparer brume nutritive + LED de croissance vs sol + soleil naturel. Théoriquement supérieur, mais je veux le vérifier.

Expérience en 4 groupes :

Graines d'herbes mélangées achetées chez Kaufland (Allemagne).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Première plantation : germination sur papier humide dans boîte plastique fermée (≈100% humidité). 1,5 semaine plus tard : quasi toutes germées !

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Sélection des meilleures (tiges épaisses). Repiquage dans pastilles de coco (Amazon) – s'hydratent x6. Boîte à compartiments (2€) pour organisation. Mini-serrière avec couvercle transparent.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Une semaine plus tard : croissance visible !

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Apparition des racines → transplantation en billes d'argile et sol, début tests brouillard.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Conception de godets (net cups) pendant la semaine CAO.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Conteneur plastique percé pour les godets.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Système de test assemblé.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Résultats perfectibles : peu de plantes ont survécu en système brouillard. Cause probable : milieu de culture (billes d'argile, sol) pas assez maintenues humides par la brume.

Pause de Pâques

Pendant les vacances, labo fermé, système éteint → toutes plantes mortes.

Nouveau système avec nouveau milieu : Laine de roche (Rock Wool) (IKEA). Nouvelles graines IKEA.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Germination 1 semaine en laine de roche. Un type réussi, l'autre non. Continué avec les réussites.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Nouveau système brouillard avec temps de fonctionnement accru pour tester germination UNIQUEMENT PAR BROUILLARD.

Conception et fabrication électronique

Avant le PCB final, j'ai listé toutes les fonctionnalités et broches nécessaires pour choisir le microcontrôleur.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Choix entre satshakit (Daniele Ingrassia) et FABLEO (Jonathan Grinham).

Satshakit : 100% compatible Arduino IDE, fabricable, open source, version améliorée du Fabkit.

Améliorations principales du satshakit sur Fabkit :

FabLeo a des caractéristiques similaires + USB matériel. Ayant déjà utilisé l'ATmega328p, j'ai voulu tester l'ATmega32u4 (FabLeo) comme base.

Ma « bible » : le brochage ATmega32u4.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Logiciel : EAGLE (Easily Applicable Graphical Layout Editor) – capture schématique, routage PCB, autorouteur, CAM. Populaire chez les makers (licence freeware, bibliothèques riches).

Deux fenêtres simultanées :

Bibliothèque fab.lbr du réseau Fab Lab (mise à jour constante). Installation via menu Library > Use.

Placement composants, puis connexions via outil Net (lignes vertes). Démarrer depuis le trait sur la broche.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Utilisation de Labels pour éviter multiples connexions : clic droit > Name, même nom que la broche MCU → connexion logique.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Schéma final (logique, pas esthétique) :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Connecteurs AVRISP pour programmation.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Circuit USB + quartz :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Régulateur de tension (12V → 5V) :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

4 circuits MOSFET : 3 sur entrée 12V, 1 sur régulateur step-up (24V pour atomiseur ultrasons).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Routing PCB

Generate/Switch to Board. Grille 0.01 pour précision.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Routage rapide malgré la complexité. Résultat :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Polygone GND autour des composants (clic droit > Name > GND) : gain de temps, place, effort.

Export PNG 1500 dpi, monochrome, mode fenêtre.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Édition GIMP : sélection rectangulaire, copie, nouveau depuis presse-papiers.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Outside Cut :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

PCB double face → deux pièces à coller. Face bottom = miroir horizontal.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fraisage CNC (Roland via FabModules)

Interface FabModules :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Paramètres : mod_lp.py /dev/usb/lp0 (send command), hostname machine (server). Coordonnées X,Y,Z. zjog toujours à 0. Bouton « move to xyz0 ».

Astuce : Multimètre pour vérifier contact outil/surface. Outil gravure : ≤0,2 mm ; coupe : 1 mm.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Réglages finaux :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Coupe extérieure : même réglages, Z différent (outil 1 mm).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Répétition pour face bottom.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Résultat face Top :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Face Bottom :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Soudure

Vérification multimètre (continuité) après chaque composant.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Erreur : court-circuit (déconnexion Arduino à la mise sous tension VCC/GND). Localisé au microscope (1h) : piste VCC/GND rapprochées.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Correction : grattage au cutter, augmentation isolation.

Régulateur step-up au dos du PCB.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Trous pré-percés pour fixation. Calibrage avant soudure : alimentation 12V fixe, mesure sortie multimètre, ajustage à 24V pour atomiseur.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Carte Wi-Fi (semaine Networking) aussi au dos.

LA BÊTE :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Photo « héroïque » pour ceux qui croient que tout s'est bien passé :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fichiers à télécharger

Câblage et programmation embarquée (Périphériques I/O)

Programmation via Arduino IDE. Arduino comme programmeur ISP :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Outils > Carte : Arduino Leonardo. Programmeur : Arduino as ISP. Burn Bootloader → « Done Uploading » !

Test : exemple Blink → ÇA MARCHE !

Capteur DHT11 Température/Humidité

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Basique, lent, mais idéal pour data logging hobby. Deux parties : capteur capacitif humidité + thermistance. Puce simple pour conversion analogique/numérique → signal numérique facile à lire.

Câblage simple : VCC, GND, broche digitale (ici broche 2 prévue sur PCB).

// DHT11 Temperature and Humidity Sensors Example
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  Serial.print("Temperature = ");
  Serial.println(t, 2);
  Serial.print("Humidity = ");
  Serial.println(h, 2);
  delay(2000);
}

Résultat moniteur série :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Capteur DS18B20 - Température 1-Wire

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Capteur numérique 1-Wire (Maxim IC). Précision 9-12 bits (-55 à +125°C, ±0,5°C). Numéro de série 64 bits unique → nombreux capteurs sur un bus.

Simple : alimentation, masse, 1 broche signal (broche digitale prévue). Résistance pull-up 4,7k entre signal et alimentation (oubliée sur PCB → soudée manuellement sur câbles).

Bibliothèques : OneWire.h, DallasTemperature.h


#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 3
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
}

void loop() {
  sensors.requestTemperatures();
  Serial.print("Temperature is: ");
  Serial.print(sensors.getTempCByIndex(0));
  delay(1000);
}

Problème : capteur a cessé de fonctionner lors de l'intégration. Faute de temps, remplacement par un DS18B20 du stock FabLab, étanchéifié maison.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Rétractable pour isolation. « Mama ama engineer ! » :D

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

LDR - Photorésistance

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Résistance passive variant selon intensité lumineuse. Obscurité : ~1MΩ ; lumière : quelques kΩ (10-20kΩ @ 10 lux, 2-4kΩ @ 100 lux).

Tension analogique proportionnelle à la lumière → broche analogique Arduino. ADC 10 bits (0-1023). Lumière suffisante → 800-1023.


int sensorPin = A0;
int sensorValue = 0;

void setup() {
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.print("LDR Value = ");
  Serial.print(sensorValue);
  if (sensorValue < 100) Serial.println(" (Dark)");
  else if (sensorValue < 200) Serial.println(" (Dim)");
  else if (sensorValue < 500) Serial.println(" (Light)");
  else if (sensorValue < 800) Serial.println(" (Bright)");
  else Serial.println(" (Very bright)");
  delay(3000);
}

Capteur de niveau d'eau

Besoin d'alarme si réservoir vide. Pas de capteur en stock → fabrication maison avec capteur d'humidité sol (même principe : conductivité électrique).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Calibrage : hors eau = 0, bout immergé = 800. Sketch test :


void setup() { Serial.begin(9600); }
void loop() { Serial.println(analogRead(A4)); delay(100); }

Seuils : EMPTY ! (0), LOW (~800), FULL (>900).

Écran LCD graphique 128×64

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

LCD classiques = beaucoup de broches. Solution : 3 broches digitales seulement via interface série. Broches prévues sur PCB.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Bibliothèque U8glib. Pins déclarées : U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE)


#include "U8glib.h"
U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE);

void draw(void) {
  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 20);
  u8g.print("GIY Project v1.0!");
}

void setup() {
  // u8g.setRot180(); // si inversion nécessaire
}

void loop() {
  u8g.firstPage();
  do { draw(); } while(u8g.nextPage());
  delay(500);
}

Résultat :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Idée : afficher logo FabLab au démarrage. Format .bmp → bitmap.

  1. Logo FabLab .png → réduction taille (service en ligne)
  2. Conversion .bmp (service en ligne)
  3. Outil LCD Assistant : File > Load Image. Vérifier 128x64 px, orientation Horizontal, Little Endian.
  4. File > Save output → fichier texte avec tableau HEX.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Capteur pH

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Capteur le plus délicat (logo pH sensor v1.1). Documentation rare → description détaillée ici.

Sonde = mini-pile dans le liquide. Selon pH, tension positive/négative de quelques mV. Trop faible + impédance → inutilisable direct avec Arduino. Nécessite un « op amp » (carte fournie) convertissant mV en 0-5V pour Arduino.

3 solutions tampon courantes : pH 4,01 ; 6,86 ; 9,18. Poudre préférable (moins chère, conservation longue, non contaminable). Contenu sachet dans 250ml eau (pH 6-8) → saturation au pH cible. Eau du robinet (pH 7,4) OK. Solutions instables dans le temps (pas de stockage semaines/mois).

Brochage capteur pH v1.1 :

Calibrage offset :

GND (les deux) + VCC sur Arduino GND/5V. Sonde retirée, court-circuit entre trou BNC central et partie externe. Voltmètre (ou Arduino) entre GND et Po. Ajuster pot (près BNC) pour 2,5V sortie. Maintenant pH 7 = 2,5V exact (511 avec analogRead).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Calibrage pas (step) :

Sonde propre dans solution tampon (ex: pH 4,01), stabilisation 1 min (oscillation 3,04-3,05-3,03...). Noter tension (ex: 3,05V).

Calcul :

Code :


int ph_pin = A7;
void setup() { Serial.begin(9600); }
void loop() {
  int measure = analogRead(ph_pin);
  Serial.print("Measure: "); Serial.print(measure);
  double voltage = 5.0 / 1024.0 * measure;
  Serial.print("\tVoltage: "); Serial.print(voltage, 3);
  float Po = 7 + ((2.5 - voltage) / 0.18);
  Serial.print("\tPH: "); Serial.print(Po, 3);
  Serial.println();
  delay(2000);
}

Pas de magie, JUSTE DES MATHS !

Sorties MOSFET :

Bande LED RGB et atomiseur ultrasons sur sorties MOSFET (commandées par broches digitales). LED : digitalWrite(LED, HIGH) dans setup = allumée en permanence. Brouillard : fonction If selon niveau eau. Eau présente = ON, EMPTY = OFF.

Assemblage final : code complet


#include "dht.h"
#include "U8glib.h"
#include <OneWire.h>
#include <DallasTemperature.h>

#define DHT11_PIN 2
#define ONE_WIRE_BUS 3
#define WATER_LEVEL A4
#define LDR_PIN A3
#define PH_PIN A5
#define GROW_LIGHT 10
#define FOG_PUMP 13

int waterLevel, LightLevel, pH;
dht DHT;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature waterTemp(&oneWire);
U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE);

const unsigned char logo[] PROGMEM = { /* ... tableau bitmap logo FabLab ... */ };

bool first;
float hum = 0.0;
double T = 0.0;

void dht_test(float *humPerc);

void setup(void) {
  waterTemp.begin();
  pinMode(GROW_LIGHT, OUTPUT);
  pinMode(FOG_PUMP, OUTPUT);
  digitalWrite(GROW_LIGHT, HIGH);
  first = true;
  if (u8g.getMode() == U8G_MODE_R3G3B2) u8g.setColorIndex(255);
  else if (u8g.getMode() == U8G_MODE_GRAY2BIT) u8g.setColorIndex(3);
  else if (u8g.getMode() == U8G_MODE_BW) u8g.setColorIndex(1);
  else if (u8g.getMode() == U8G_MODE_HICOLOR) u8g.setHiColorByRGB(255,255,255);
  u8g.firstPage();
  do { u8g.drawBitmapP(32, 0, 16, 64, logo); } while(u8g.nextPage());
  dht_test(&hum);
}

void RefreshDisplay(float *humPerc, double *T, int *WL, int *LL, int *pH_value) {
  u8g.setFont(u8g_font_fub11);
  u8g.setFontRefHeightExtendedText();
  u8g.setDefaultForegroundColor();
  u8g.setFontPosTop();
  u8g.drawStr(4, 0, "Hum%");
  u8g.setPrintPos(68, 0); u8g.print(*humPerc);
  u8g.drawStr(4, 15, "Temp");
  u8g.setPrintPos(68, 15); u8g.print(*T);
  u8g.drawStr(4, 30, "Wlvl");
  if (*WL == 0) {
    u8g.drawStr(68, 30, "EMPTY!");
    digitalWrite(FOG_PUMP, LOW);
  } else {
    if (*WL < 800) u8g.drawStr(68, 30, "LOW");
    else { digitalWrite(FOG_PUMP, HIGH); u8g.drawStr(68, 30, "HIGH"); }
  }
  if (*LL < 100) u8g.drawStr(68, 45, "Dark");
  else if (*LL < 200) u8g.drawStr(68, 45, "Dim");
  else if (*LL < 500) u8g.drawStr(68, 45, "Light");
  else if (*LL < 800) u8g.drawStr(68, 45, "Bright");
  else u8g.drawStr(68, 45, "2Bright");
  double voltage = 5.0 / 1024.0 * (*pH_value);
  float Po = 7 + ((2.5 - voltage) / 0.18);
  u8g.drawStr(4, 45, "pH");
  u8g.setPrintPos(28, 45); u8g.print(Po);
}

void loop(void) {
  waterTemp.requestTemperatures();
  T = waterTemp.getTempCByIndex(0);
  waterLevel = analogRead(WATER_LEVEL);
  LightLevel = analogRead(LDR_PIN);
  pH = analogRead(PH_PIN);
  int chk = DHT.read11(DHT11_PIN);
  hum = DHT.humidity;
  dht_test(&hum);
  if (first) { first = false; }
  else {
    u8g.firstPage();
    do { RefreshDisplay(&hum, &T, &waterLevel, &LightLevel, &pH); } while(u8g.nextPage());
  }
}

void dht_test(float *humPerc) { delay(1000); }

Fichiers à télécharger

Conception 3D et impression 3D

Utilisation intensive de conception/impression 3D. Deux imprimantes, nombreux réglages.

Logiciel CAO : Fusion 360 (mon préféré). Détails sur création formes/extrusion : semaines CAO et Impression 3D/Scan 3D.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Défi : système esthétique (« SEXY !!! ») ET fonctionnel, assemblable, intégrant compétences (impression 3D, fraisage CNC, découpe laser).

Croquis papier initial :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Design 3D final :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Mon système sexy :D

Conteneur d'eau

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fonctionnalités : espace plantes, trou central pour atomiseur ultrasons (niveau eau 2cm au-dessus = zéro gaspillage), passe-câbles capteurs, slot écran graphique façade, poignées pour retrait.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Section électronique avec couvercle, accès programmation/alimentation. Glissières fond pour fixation/retrait facile.

Impression conteneur (BigRep 3D Printer - 1m³)

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Trancheur : Simplify3D (avancé, nombreuses options). Pas de « bonne » ou « mauvaise » méthode, juste essais/erreurs.

Réglages conteneur :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Aperçu avant impression :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Buse 205°C, plateau 70°C. Lancement job.

Modèle brut :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Retrait supports = GROSSE GALÈRE :D. Réglages imparfaits (trous près bords). Étanchéification prévue (section Moulage).

Godets (Net Pots)

Amélioration design précédent (semaine CAO) : espaces vides agrandis pour passage brouillard/racines. Congé sup pour transition douce. Bille fond (booléen soustraction) → courbure agréable.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Impression Ultimaker 2+ (PLA) :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Ma petite armée :D

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Base du système (BigRep)

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Mêmes réglages que conteneur. Aperçu :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Coins arrondis supérieurs (Ultimaker)

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Recherche lissage surface maximal :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fichiers 3D à télécharger

Conception 2D et découpe laser

Pièces acryliques pour finition intérieure. Export sketches Fusion 360 en .dxf → édition avant découpe.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Paramétrique = alignement précis, modifiable ultérieurement.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Acrylique vert 5mm (aspect organique, 어울리는 plantes). Façade/arrière blanc (goût personnel).

Façade : trou pour LCD. Arrière : trou accès programmation/alimentation.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Toit : acrylique transparent (passage lumière). Découpes supplémentaires (poids, lumière). Largeur bandes LED mesurée pour fixation optimale (soleil + artificiel).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Découpe laser : Epilog Fusion 60W CO2 (1016×711 mm). Bois, carton, acrylique, plastiques. Même matériau = mêmes réglages.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fichiers DXF à télécharger

Fraisage CNC

Intégration de toutes compétences apprises. Pièce structurelle en contreplaqué 18mm. Export .dxf depuis Fusion 360.

Machine : e(sign Easy Worker MasterPro 2513 (portique CNC). Zone 2600×1400×300 mm, table dépression. Broche HSD 3,9kW 24000 tr/min (métaux possibles).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Édition design avant CAM :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

HOME machine. Zéro X,Y ≈ coin plateau. Zéro Z via outil spécial sur plateau.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Gravure (premier job) :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Simulation (Calculate Toolpath) → pas de collision → sauvegarde GCode → lancement.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Coupe extérieure :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Résultat :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Autre pièce : moule pour étanchéification (section Moulage). Bois 10mm, 7 pièces à coller.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Fichiers CNC à télécharger

Moulage et coulée

Technique pour étanchéifier le conteneur d'eau : fine couche (conteneur plus petit) amovible.

Résultat fraisage moule (7 pièces identiques, trous référence, trou central 5 pièces du bas pour pompe à air/retrait facile).

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Attente séchage colle → pièce plastique pour pompe (vissage sur moule, retrait aisé).

Moule prêt :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Thermoformage sous vide : Formech (machine manuelle). Problème : impossible de démouler sans casser. Solution : première couche fine, sans la retirer, coulée réelle par-dessus. Première couche glissante + spray silicone = démoulage facile.

Résultat :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Assemblage final

Outils prêts :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Animation assemblage :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Bandes LED RGB découpées (4 morceaux, longueurs mesurées), soudées.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Capteurs connectés, câblage géré, carte fixée dans section électronique.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

LE SYSTÈME GIY ! Tout assemblé, système de culture esthétique et fonctionnel.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Photo héroïque en fonctionnement :

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Vidéo de présentation finale

© 2017 Albot Dima. Tous droits réservés | Albot.Dumitru@hsrw.org

Licence Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Pour plus de détails sur le projet, visitez la source officielle :

https://archive.fabacademy.org/2017/fablabkamplintfort/students/396/final.html

Code

GIY Board - CODE Arduino


// Code complet GIY (voir version originale pour tableau bitmap logo complet)
#include "dht.h"
#include "U8glib.h"
#include <OneWire.h>
#include <DallasTemperature.h>

#define DHT11_PIN 2
#define ONE_WIRE_BUS 3
#define WATER_LEVEL A4
#define LDR_PIN A3
#define PH_PIN A5
#define GROW_LIGHT 10
#define FOG_PUMP 13

int waterLevel, LightLevel, pH;
dht DHT;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature waterTemp(&oneWire);
U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE);

const unsigned char logo[] PROGMEM = { /* ... 1024 octets bitmap ... */ };

bool first;
float hum = 0.0;
double T = 0.0;

void dht_test(float *humPerc);

void setup(void) {
  waterTemp.begin();
  pinMode(GROW_LIGHT, OUTPUT);
  pinMode(FOG_PUMP, OUTPUT);
  digitalWrite(GROW_LIGHT, HIGH);
  first = true;
  if (u8g.getMode() == U8G_MODE_R3G3B2) u8g.setColorIndex(255);
  else if (u8g.getMode() == U8G_MODE_GRAY2BIT) u8g.setColorIndex(3);
  else if (u8g.getMode() == U8G_MODE_BW) u8g.setColorIndex(1);
  else if (u8g.getMode() == U8G_MODE_HICOLOR) u8g.setHiColorByRGB(255,255,255);
  u8g.firstPage();
  do { u8g.drawBitmapP(32, 0, 16, 64, logo); } while(u8g.nextPage());
  dht_test(&hum);
}

void RefreshDisplay(float *humPerc, double *T, int *WL, int *LL, int *pH_value) {
  u8g.setFont(u8g_font_fub11);
  u8g.setFontRefHeightExtendedText();
  u8g.setDefaultForegroundColor();
  u8g.setFontPosTop();
  u8g.drawStr(4, 0, "Hum%");
  u8g.setPrintPos(68, 0); u8g.print(*humPerc);
  u8g.drawStr(4, 15, "Temp");
  u8g.setPrintPos(68, 15); u8g.print(*T);
  u8g.drawStr(4, 30, "Wlvl");
  if (*WL == 0) { u8g.drawStr(68, 30, "EMPTY!"); digitalWrite(FOG_PUMP, LOW); }
  else { if (*WL < 800) u8g.drawStr(68, 30, "LOW"); else { digitalWrite(FOG_PUMP, HIGH); u8g.drawStr(68, 30, "HIGH"); } }
  if (*LL < 100) u8g.drawStr(68, 45, "Dark");
  else if (*LL < 200) u8g.drawStr(68, 45, "Dim");
  else if (*LL < 500) u8g.drawStr(68, 45, "Light");
  else if (*LL < 800) u8g.drawStr(68, 45, "Bright");
  else u8g.drawStr(68, 45, "2Bright");
  double voltage = 5.0 / 1024.0 * (*pH_value);
  float Po = 7 + ((2.5 - voltage) / 0.18);
  u8g.drawStr(4, 45, "pH");
  u8g.setPrintPos(28, 45); u8g.print(Po);
}

void loop(void) {
  waterTemp.requestTemperatures();
  T = waterTemp.getTempCByIndex(0);
  waterLevel = analogRead(WATER_LEVEL);
  LightLevel = analogRead(LDR_PIN);
  pH = analogRead(PH_PIN);
  int chk = DHT.read11(DHT11_PIN);
  hum = DHT.humidity;
  dht_test(&hum);
  if (first) { first = false; }
  else {
    u8g.firstPage();
    do { RefreshDisplay(&hum, &T, &waterLevel, &LightLevel, &pH); } while(u8g.nextPage());
  }
}

void dht_test(float *humPerc) { delay(1000); }

GIY BOARD - LCD + LIGHT CODE Arduino


#include "U8glib.h"
int led = 10;
U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE);

void draw(void) {
  u8g.setFont(u8g_font_unifont);
  u8g.setPrintPos(0, 20);
  u8g.print("GIY Project v1.0!");
}

void setup(void) {
  pinMode(led, OUTPUT);
  digitalWrite(led, HIGH);
}

void loop(void) {
  u8g.firstPage();
  do { draw(); } while(u8g.nextPage());
  delay(500);
}

Schémas

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Dispositif IoT intelligent DIY : Construction avec ATmega32U4, ESP8266 et capteurs

Processus de fabrication

  1. Carte de Visite PCB Tic-Tac-Toe 4×4 Personnalisée – Guide de Conception, Fabrication et Programmation
  2. Système de Capteur de Température Multi-Position pour Intégration Domotique
  3. Contrôleur DIY pour fer à souder 862D+ — Précision et fiabilité
  4. MotionSense : Détection d'intrusion intelligente avec Arduino et ESP8266
  5. Prévention incendie imprimante 3D : Système de sécurité à capteur intelligent
  6. Créer une jauge IoT connectée au Web avec Arduino, Yaler et IFTTT
  7. Lévitation magnétique répulsive avec Arduino : circuit simple et guide DIY
  8. Robot préhenseur télécommandé avancé pour manipulation de précision
  9. CoroFence : Détecteur Thermique Avancé PIR + Capteur Grid-EYE & IoT