Der elektronische Babysitter, auch bekannt als Babyphone oder elektronisches Babyphone, ist ein äußerst praktisches Gerät, das zu günstigen Preisen
bestimmte Aufgaben eines Kindermädchens übernehmen kann. Das Gerät ist an alle fürsorglichen Eltern adressiert, die immer, egal wo sie sind, wissen
möchten, was mit ihrem Kind passiert. Der elektronische Babysitter besteht aus zwei Elementen: Einem Sender und einem Empfänger, und stellt ein einfaches
Überwachungssystem dar. Während das Kind schläft, wird der Sender im Babyzimmer positioniert. Seine Aufgabe ist es, zu erkennen, ob das Kind gerade ruhig schläft
oder aufgewacht ist und weint. Der Empfänger befindet sich in der Nähe der Eltern und meldet ihnen mit akustischen Signalen, was im Zimmer ihres Kindes passiert.
In diesem Versuch konstruieren wir einen einfachen elektronischen Babysitter, der mit einem akustischen Signal den Eltern die Info liefert, ob das Kind gerade
ruhig schläft oder weint.
Die Kindesgeräusche werden von dem Sender mit einem Mikrofon erkannt und via Funk weitergesendet. Zusätzlich verfügt der Sender über eine Kontrollleuchte
(Leuchtdiode), mit der das Gerät auf seine Betriebstüchtigkeit geprüft werden kann. Bei jedem erkannten Geräusch leuchtet die LED kurz auf.
Der Empfänger ist ebenfalls mit einer Kontrollleuchte (Leuchtdiode) ausgestattet. Sie leuchtet bei jedem Empfang kurz auf. Sendet der Sender in bestimmten
Zeitintervallen dauerhaft, was darauf schließen lässt, dass das Kind weint, leuchtet die Kontrollleuchte dauerhaft und es ertönt zusätzlich ein
akustisches Signal.
Mikrocontroller Sender und Empfänger
Die Auswertung der Signale und Ansteuerung der Komponenten sowohl in der Sender- als auch in der Empfängerschaltung übernimmt Arduino Nano. Somit kommen
in unserem Babysitter zwei Arduinos zum Einsatz. Beide Mikrocontroller sind mit der jeweiligen Aufgabe „unterfordert“. Es stehen demnach ausreichend Pins und
Speicherplatz für diverse Erweiterungen bzw. Optimierungen zur Verfügung.
Beide Schaltungen, so Sender als auch Empfänger, arbeiten mit 5VDC. Dafür sorgen zwei Spannungsregler, die die Batteriespannung auf 5V herunterregeln. Da die
Stromaufnahme pro Schaltung ca. 30 mA beträgt, reichen die einfachen L78L05AC aus. Die Regler sind mit einem Strom bis zu
100 mA belastbar.
Sender
Sendermodul
Der Sender unseres Babysitters besteht hauptsächlich aus fünf Bauteilen: einem Spannungsregler, einem Sendermodul, Mikrofon, Mikrocontroller (Arduino Nano) und einer
Kontrollleuchte (Leuchtdiode mit Vorwiderstand). Bei dem Sendermodul, an das eine Antenne angelötet wurde, handelt es sich um eine Miniplatine mit der Bezeichnung
FS1000A.
Funk-Sendemodul FS1000A
Mikrofon
Auch Mikrofon wird in der Form eines Moduls eingesetzt. Es handelt sich um das Mikrofonmodul MAX9814.
Das Modul basiert auf dem Chip Max9814. Der Versorgungsspannungsbereich beträgt 2,7 V bis 5,5 V. Weitere Infos unter:
// *******************************************************************************************
// Babysitter mit Arduino
// Babysitter - Sender mit Funkmodul, Mikrofon und Arduino Nano
// Arduino IDE 2.3.5
// *******************************************************************************************
#include<RCSwitch.h> // Bibliothek einbinden
RCSwitch mySwitch = RCSwitch();
int Sende_Pin = 10; // Sendemodul ist an Pin D10 angeschlossen
int Mikrofon_Signal = A0; // Mikrofon Anschluss
int LED_Anzeige = 4; // Kontrollleuchte am Pin D4
int Signal; // Zwischenwert analoger Eingang
// *******************************************************************************************
void setup() {
mySwitch.enableTransmit(Sende_Pin); // Senden initieren
pinMode(LED_Anzeige, OUTPUT); // Pin Kontrollleuchte als Ausgang def.
}
// *******************************************************************************************
void loop() {
Signal = analogRead(Mikrofon_Signal); // Wert analoger Eingang auslesen
if (Signal > 500) { // Mikrofon meldet Geräusche
digitalWrite (LED_Anzeige, HIGH); // Kontrollleuchte kurz EIN
mySwitch.send (17493, 24); //
delay(500); // Wartezeit 500 ms
}
digitalWrite (LED_Anzeige, LOW);
}
// *******************************************************************************************
Empfänger
Empfängermodul
Die Empfängerschaltung besteht ebenfalls wie die Schaltung des Senders aus fünf Bauteilen: Einem Spannungsregler, einem Sendermodul,
einem Mikrofon, einem Mikrocontroller (Arduino Nano) und einer Kontrollleuchte (Leuchtdiode mit Vorwiderstand). Bei dem Empfängermodul, an das ebenfalls
eine Antenne angelötet wurde, handelt es sich um eine Miniplatine mit der Bezeichnung MX-RM-5V.
Signalgeber
Als akustischer Signalgeber kommt in der Empfängerschaltung ein aktiver Summer zum Einsatz. Die Ansteuerung eines solchen Signalgebers ist äußerst
einfach: Spannung EIN reicht aus. Aktive Summer sind mit eigener Elektronik ausgestattet, die automatisch dafür sorgt, dass bei angelegter Spannung ein akustisches
Signal ausgegeben wird.
Schaltplan Empfänger
Testschaltung Empfänger
Programm (Sketch) - Empfänger
// *******************************************************************************************
// Babysitter mit Arduino
// Babysitter - Empfänger mit Funkmodul, Summer und Arduino Nano
// Arduino IDE 2.3.5
// *******************************************************************************************
#include<RCSwitch.h> // Bibliothek einbinden
RCSwitch mySwitch = RCSwitch();
int Summer_Pin = 3; // Sendemodul ist an Pin D10 angeschlossen
int LED_Anzeige = 4; // Kontrollleuchte am Pin D4
int Zaehler; // Aktuelle Anzahl der Meldungen vom Sender
int Zaehler_Max = 5; // Nach 5 Meldungen Baby Alarm
int Baby_Alarm_Zeitintervall = 7000; // Zeitspanne für Zählung der Meldungen
bool Baby_Alarm; // Bei TRUE Baby Alarm ausgelöst
unsigned long Millis_Aktuell; // Zeit aktuell in Millisekunden
unsigned long Millis_Start; // Zeit beim Start der Zeitmessung
bool Zeit_Messung_gestartet; // Zeitmessung bei TRUE
// *******************************************************************************************
void setup() {
mySwitch.enableReceive(0); // Empfang initieren
pinMode(LED_Anzeige, OUTPUT); // Pin Kontrollleuchte als Ausgang
pinMode(Summer_Pin, OUTPUT); // Pin Summer als Ausgang
}
// *******************************************************************************************
void loop() {
if (mySwitch.available()) { // Meldung vom Sender
if (mySwitch.getReceivedValue() == 17493) { // Sendewert
digitalWrite (LED_Anzeige, HIGH); // Kontrolleuchte EIN
delay (500); // Wartezeit
mySwitch.resetAvailable(); // Reset
Zaehler++; // Zähler hochzählen
if (Zaehler == 1 and not Zeit_Messung_gestartet) {
Zeit_Messung_gestartet = true; // Zeitmessung Start
Millis_Start = millis(); // Startzeit festhalten
}
}
}
// Werte zurücksetzen
if (millis() - Millis_Start > Baby_Alarm_Zeitintervall and not Baby_Alarm) {
Zeit_Messung_gestartet = false;
Zaehler = 0;
}
// Alarm auslösen
if (Zaehler == Zaehler_Max and Zeit_Messung_gestartet) {
if ((millis() - Millis_Start) <= Baby_Alarm_Zeitintervall) {
Baby_Alarm = true;
}
}
if (Baby_Alarm) { // Alarm ausgelöst
for (int i=0; i<10; i++) {
digitalWrite (LED_Anzeige, HIGH); // LED EIN
digitalWrite (Summer_Pin, HIGH); // Summer EIN
delay (500); // Wartezeit
digitalWrite (LED_Anzeige, LOW); // LED AUS
digitalWrite (Summer_Pin, LOW); // Summer AUS
delay (500); // Wartezeit
}
Baby_Alarm = false; // Alarm-Abschaltung
Zaehler = 0; // Zähler zurücksetzen
}
digitalWrite (LED_Anzeige, LOW); // LED AUS
}
// *******************************************************************************************