Smarte Küchenbeleuchtung – Prototyp

Ich wollte bereits seit einiger Zeit mit der Arduino Plattform experimentieren. Bis vor kurzem gab es jedoch keinerlei Projektideen, bis meine Frau die Idee für eine „smartere“ Küchenbeleuchtung hatte. Gerade jetzt in der dunklen Jahreszeit wäre es schön, wenn die Arbeitsplatte unterhalb der Hängeschränke beleuchtet würde, sobald man dort arbeitet.

Insbesondere auch für abendliche Einsätze wäre es praktisch, wenn es automatisch angeht, sobald jemand beginnt auf der Küchenzeile zu arbeiten. Wenn keinerlei Bewegung mehr vorhanden ist, sollte das Licht nach einer gewissen Zeitspanne von alleine ausgehen. Tagsüber, wenn die Sonne durch das Küchenfenster strahlt, sollte dieser Effekt allerdings ausbleiben.

Endlich ein Grund ein Arduino Board zu bestellen :-) Gesagt, getan. Für das Prototyping habe ich mir einen Arduino Mega Clone besorgt. Ich kann den Speicherverbauch noch schlecht abschätzen. Wenn alles klappt, würde ich für die Implementierung jedoch einen Arduino Nano verwenden, da dieser wesentlich kompakter ist.

Bevor die Hardware eingetroffen ist habe ich bereits das Layout entwerfen können. Hierbei ist die Fritzing Software äußerst praktisch. Hier ist das von mir vorbereitete Layout:

BewegungsmelderLEDFotoresistor_Steckplatine

Ich war erstaunt, wie wenig es letzten Endes braucht, um mit dem Arduino bereits solche nützlichen Dinge zu erstellen. Mit dem Arduino möchte ich eine LED-Kette ansteuern, und somit die Beleuchtung realisieren. Für einen ersten Test, ob alles klappt, wie ich es mir vorstelle steuere ich zunächst eine einzige LED an.

Heute hatte ich die Zeit mich mit der Umsetzung zu beschäftigen. Die Verkabelung auf dem Breadboard ging recht zügig voran. Und auch die Programmierung war sehr schnell erledigt. Ich habe heute zum ersten Mal mit Arduino gearbeitet und bin wirklich überrascht wie steil die Lernkurve ist.

Für den nächsten Schritt ist es also an der Zeit die alten Lötkenntnisse wieder ein wenig zu fordern. Außerdem muss ich noch schauen, wieviele Bewegungsmelder ich über die gesamte Küchenzeile hinweg einsetzen muss, um eine zuverlässige Abdeckung zu gewährleisten. Hier ist der Source Code, mit dem ich den Prototypen getestet habe.

int LED001=22;
int PIR001=23;
int ANA000=A0;

int PIRCOUNTER=0;
int PIRCOUNTER_INIT=1200;

int PHOTO=0;
int MOVEMENT001=0;

void setup() {
  Serial.begin(9600);
  pinMode(LED001, OUTPUT);
  pinMode(PIR001, INPUT);
}

void loop() {
  MOVEMENT001=digitalRead(PIR001);
  PHOTO=analogRead(ANA000);

  if (MOVEMENT001 == HIGH && PHOTO >= 15) {
    PIRCOUNTER=PIRCOUNTER_INIT;
  } else {
    PIRCOUNTER=PIRCOUNTER--;
  }

  if(PIRCOUNTER > 0) {
    digitalWrite(LED001, HIGH);
  } else {
    digitalWrite(LED001, LOW);
    PIRCOUNTER = 0;
  }

  Serial.print("PIRCOUNTER = ");
  Serial.print(PIRCOUNTER);
  Serial.print(" - PHOTO ");
  Serial.println(PHOTO);

}

Kommentar verfassen