Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

DIY Smart IoT-Gerät: ATmega32U4, ESP8266 & Sensoren (GIY-Projekt)

Komponenten und Materialien

ATmega32U4 (Microchip) 1×
ESP8266 ESP-12E 1×
16 MHz Quarz 1×
N-Channel Power MOSFET 4×
Spannungsregler-Modul (Digilent) 1×
DHT11 Temperatur & Luftfeuchte 1×
DS18B20 1-Wire Temperatursensor 1×
Wassererkennungssensor (MikroE Water Detect Click) 1×
LCD Screen (Arduino-kompatibel) 1×
Fotowiderstand (LDR) 1×

Werkzeuge & Maschinen

Software

Projektbeschreibung

Einführung: „Grow It Yourself“ (GIY)

Inspiriert vom TED-Talk „Digital Farming“ (Caleb Harper, MIT OpenAg) entstand die Vision eines kompakten, automatisierten Pflanzenschranks: ideales Klima, LED-Wachstumslicht (450 nm & 650 nm), Aeroponik (Ultraschallvernebler), automatische Nährstoffdosierung, pH/TDS-Überwachung, Wasserwechsel per Knopfdruck, präzise Luftsteuerung (Temp/Feuchte) und Mobile App für Monitoring & Control.

Experimente: Substrate & Methoden

Vier Testgruppen: (Erde + Sonnenlicht), (Nebel + Sonnenlicht), (Erde + LED), (Nebel + LED = HERO). Keimung auf Kokos-Quelltabletten, später Umstieg auf Steinwolle (Rockwool), da Nebel Tonkugeln/Erde nicht ausreichend benetzte. Osterpause ließ alle Pflanzen eingehen – Neuanfang mit verbesserter Methodik.

Elektronik: Eigenes PCB-Design (FabLeo-Basis)

Mikrocontroller: ATmega32U4 (Hardware-USB, 16 MHz Quarz). Entwurf in EAGLE (Schematic + Board Layout). Features:

Doppelseitiges PCB: Fräsen (Roland via FabModules), Löten, Fehlersuche (Kurzschluss per Multimeter finden), Step-Up-Regler kalibrieren (24 V), ESP-12E Modul auf Rückseite.

Sensoren & Programmierung

Finaler Code (Auszug)

#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

dht DHT;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature waterTemp(&oneWire);
U8GLIB_ST7920_128X64 u8g(4, 12, 6, U8G_PIN_NONE);
// ... Logo-Bitmap-Array (PROGMEM) ...

void setup() {
  waterTemp.begin();
  pinMode(GROW_LIGHT, OUTPUT); pinMode(FOG_PUMP, OUTPUT);
  digitalWrite(GROW_LIGHT, HIGH);
  // LCD Init & Logo anzeigen
  u8g.firstPage(); do { u8g.drawBitmapP(32, 0, 16, 64, logo); } while(u8g.nextPage());
}

void RefreshDisplay(float *hum, double *T, int *WL, int *LL, int *pH_val) {
  u8g.setFont(u8g_font_fub11);
  u8g.drawStr(4, 0, "Hum%"); u8g.setPrintPos(68,0); u8g.print(*hum);
  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"); }
  // Licht-Level Text
  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,"VeryBright");
  // pH
  double voltage = 5.0 / 1024.0 * (*pH_val);
  float pH = 7 + ((2.5 - voltage) / 0.18);
  u8g.drawStr(4, 45, "pH"); u8g.setPrintPos(28,45); u8g.print(pH);
}

void loop() {
  waterTemp.requestTemperatures();
  double T = waterTemp.getTempCByIndex(0);
  int waterLevel = analogRead(WATER_LEVEL);
  int lightLevel = analogRead(LDR_PIN);
  int pH = analogRead(PH_PIN);
  float hum = DHT.humidity; // DHT.read11(DHT11_PIN) zuvor

  u8g.firstPage();
  do { RefreshDisplay(&hum, &T, &waterLevel, &lightLevel, &pH); } while(u8g.nextPage());
  delay(1000);
}

3D-Druck & Gehäuse

Wasserbehälter (BigRep, 1 m³ Bauraum, PLA, 0,2 mm Layer, 20 % Infill, Support), Net Pots (Ultimaker 2+, optimierte Wurzelöffnung), Bodenplatte, runde Ecken (transparent). Design in Fusion 360, parametrisch.

Lasercutting (Acryl 5 mm)

Front/Seiten/Rückwand (grün), Front mit LCD-Ausschnitt, Rückwand mit USB-Zugang, Top-Abdeckung transparent mit LED-Schlitzen.

CNC-Fräsen (18 mm Multiplex)

Strukturwände & Form für Vakuumgießen (Wasserdichtung des 3D-Druckteils).

Vakuumgießen (Formech)

Dünne Einlegewanne aus Kunststoff, um 3D-Druckbehälter wasserdicht zu machen. Trick: Erste dünne Schicht als Trennschicht (Silikonspray), dann eigentliche Wanne darüber ziehen.

Endmontage & Ergebnis

Struktur verschrauben, RGB-LED-Streifen (4 Stücke) anlöten, Sensoren verdrahten, PCB einbauen. Funktionierendes, optisch ansprechendes GIY-System.

Lizenz & Quelle

© 2017 Albot Dima. Creative Commons BY-NC-SA 4.0.
Original: Fab Academy Archive

Schaltpläne

PCB-Schematic & Board Layout als Bilder verfügbar.

Herstellungsprozess

  1. Individuelle 4×4 Tic-Tac-Toe Visitenkarten-Platine – Design, Bau und Programmierung
  2. Multi-Position Temperatursensor-System für Smart-Home-Integration
  3. DIY Lötkolben-Controller für 862D+ – Präzision & Zuverlässigkeit
  4. MotionSense: Smarte Einbruchserkennung mit Arduino & ESP8266
  5. 3D-Drucker Brandschutz: Intelligentes Sensorsicherheitssystem
  6. Web-fähigen IoT-Messer mit Arduino, Yaler und IFTTT bauen
  7. Arduino-basierte abstoßende Magnetschwebung: Einfache Schaltung & DIY-Anleitung
  8. Fortgeschrittener ferngesteuerter Greifer-Roboter für präzises Handling
  9. Hochleistungs-Datenlogger für Arduino-Wetterballons
  10. CoroFence Thermaldetektor: PIR-Sensor & IoT-Integration mit Panasonic GridEye