Smart Plug: 120 V Arduino-Steckdose mit Echtzeituhr
Komponenten und Zubehör
| Komponente | Menge | Hinweis |
|---|---|---|
| Steckbrett (Breadboard) | 1 | |
| Arduino UNO | 1 | |
| USB-A auf B Kabel | 1 | |
| Jumper-Kabel | 1 | |
| Maxim DS3231M RTC (±5 ppm, I²C) | 1 | Echtzeituhr |
| Relais-Modul (1-Kanal) | 1 | z. B. Elegoo/Keyes SR1y |
| Netzkabel (3-polig, geerdet) | 1 | Für 120 V |
| LED-Glühlampe | 1 | Testlast |
Apps und Online-Dienste
- Arduino IDE
Projektbeschreibung
Eine intelligente Steckdose für 120 V (nur für niedrige Ströme, z. B. Lampen). Ein 1-Kanal-Relais schaltet die Phase (schwarzer Draht). Eine DS3231-Echtzeituhr bestimmt die Schaltzeiten (24 h-Format). Vorgegebene Ein-/Ausschaltzeiten werden im Code definiert.
WICHTIGE SICHERHEITSHINWEISE – BITTE LESEN!
- Geerdetes Kabel verwenden und nur die Phase unterbrechen. Der 3-polige Stecker stellt Erdung (grün) sicher. Die Phase (schwarz) geht vom Netz auf den Common-Kontakt des Relais. Der Normally-Open (NO)-Kontakt des Relais geht an den Messing-Schraubanschluss der Steckdose. Neutralleiter (weiß) an Silber, Schutzleiter (grün) an Grün.
- Relais-Modul verwenden. Das Elegoo-Modul (identisch mit Keyes SR1y) enthält Freilaufdiode, Transistor und Vorwiderstand. Da das Relais nur bis 10 A spezifiziert ist, Last begrenzen oder Sicherung in die Phase einbauen. Ein Relais mit Optokoppler bietet zusätzliche Isolation zum Arduino.
- Physische Trennung. Relais-Modul im Gehäuse fern von Hochspannungsleitungen montieren. Lötseite des Relais-Moduls zum Gehäuse hin drehen, damit Niederspannungsleitungen bei Erschütterung nicht mit Hochspannung in Berührung kommen.

Innenansicht der Smart Plug (so sollte Ihre Verdrahtung aussehen).

Nahaufnahme des Relais-Moduls.
Quellcode
#include <DS3231.h>
int Relay = 4;
DS3231 rtc(SDA, SCL);
Time t;
const int OnHour = 7;
const int OnMin = 15;
const int OffHour = 7;
const int OffMin = 20;
void setup() {
Serial.begin(115200);
rtc.begin();
pinMode(Relay, OUTPUT);
digitalWrite(Relay, LOW);
// rtc.setTime(21,10,00); // Zeit/Datum einmalig setzen
// rtc.setDate(26,6,2018);
}
void loop() {
t = rtc.getTime();
Serial.print(t.hour); Serial.print(" hour(s), ");
Serial.print(t.min); Serial.print(" minute(s)");
Serial.println();
delay(1000);
if (t.hour == OnHour && t.min == OnMin) {
digitalWrite(Relay, HIGH);
Serial.println("LIGHT ON");
} else if (t.hour == OffHour && t.min == OffMin) {
digitalWrite(Relay, LOW);
Serial.println("LIGHT OFF");
}
}
Bibliothek: DS3231-Library
Gehäuse
3D-gedrucktes Gehäuse für Steckdose, Relais und Elektronik.

Schaltplan

Herstellungsprozess
- TinyML Spracherkennung mit Edge Impulse auf Arduino Nano 33 BLE Sense
- Echtzeit-Gyroskop-Spiel mit Arduino Nano & MPU-6050
- Arduino Digitaler Würfel: LCD-Würfel mit Zufallszahlen (1–6)
- 37-LED-Roulette-Spiel mit Arduino Nano bauen – Europäisches Layout
- ATtiny85 Mini-Arcade: Snake – Handheld OLED-Spielekonsole selbst bauen
- Tragbarer Entfernungsmesser – Arduino Nano DIY-Kit mit HC-SR04, 18650-Akku und 3D-gedrucktem Gehäuse
- Audio-reaktive Schreibtischlampe mit Arduino Nano bauen
- Autonomes Gesichtsverfolgungs-Robotercar mit Arduino Nano & OpenCV
- Kupfer-Galvanik-Projekt: Intelligentes System mit Arduino UNO bauen
- NeoPixel-Matrix Pong auf Arduino Nano: Neon-Pong selbst bauen