INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Ablaufsteuerung ohne delay - tageszeitabhängige Dimmer- Funktion
09.08.2014, 12:20 (Dieser Beitrag wurde zuletzt bearbeitet: 24.08.2014 20:51 von MaHa1976.)
Beitrag #1
Ablaufsteuerung ohne delay - tageszeitabhängige Dimmer- Funktion
Hallo,

ich bin blutiger Arduino- Anfänger, kann lediglich auf 30 Jahre analog- Erfahrung zurückblicken...

Nun möchte ich mal ein paar kleine Projekte anfangen- die ich bisher nur analog umgesetzt hatte...

Meine Lampen in der Wohnung dimmen alle (jede für sich autark) so bald man in der Nähe ist sanft hoch und blenden sanft wieder aus... dafür habe ich (Arduino-kompatible) Bewegungssensoren verwendet, die dann einen TL494 das Signal zum ein- und ausblenden von LEDs geben. Das ganze ist mit einem Fotowiderstand helligkeitsabhängig- geht also nur im Dunklen an.

Nun möchte ich aber, dass diese Lampen nachts nur mit ca. 20% Helligkeit leuchten, um nicht gleich hellwach zu sein, wenn man nur mal auf Toilette will...

Ich möchte also mit einem Arduino das Signal eines Bewegungssensors und eines Foto- Widerstandes nutzen um die LEDs via PWM sanft zu starten und sanft zu löschen und das ganze in der max. Helligkeit mit einem Uhrmodul tageszeitabhängig regeln... das ganze soll ohne Balast wie Display und Tasten funktionieren.
Wie wäre da jetzt der richtige Ansatz? Es gibt ja die Echtzeit- Uhrmodule. Aber wie binde ich die für so etwas ein?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 13:13
Beitrag #2
RE: tageszeitabhängige Funktion
Hallo MaHa,
Zitat:Meine Lampen in der Wohnung dimmen alle (jede für sich autark)
Wenn ich dich richtig verstehe möchtest du pro Lampe einen Arduino, einen Bewegungssensor, eine RTC betreiben. Dann fehlt noch die Stromversorgung.
Folgende Punkte kommen mir dabei in den Sinn:
- pro Lampe muß die RTC einmalig mit einer aktuellen Zeit als Referenz "bestückt"/programmiert werden.
- die RTC DS1307 verliert pro Tag etwa 5 bis 10 Sekunden. Ist das relevant?
- was ist wenn die Battrie der RTC aufgibt? Dann müsste sie wieder eine neue Referenz erhalten
Generell sollte die Codierung nicht das große Problem sein. Eine gute Anlaufstelle dürfte hier sein: http://playground.arduino.cc/code/time

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 15:12 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2014 15:17 von MaHa1976.)
Beitrag #3
RE: tageszeitabhängige Funktion
Es gibt ein paar Lampen, wie die im Bad und die im Flur, die sollen ein Arduino nano (?) bekommen, ein Zeitmodul, einen Bewegungssensor und einen Fotowiderstand.
In der Küche habe ich einen Streifen unter die Arbeitsplatte in eine gefräste Nut gesetzt, der die Front an leuchtet, bzw. in die Schubladen, einen für die Ausleuchtung der Arbeitsplatte, einen der von der Oberkante des Fliesenspiegels an der Wand nach oben leuchtet, dann die Deckenleuchte und eine Regalbeleuchtung. Hier wollte ich einen Arduino einsetzen, mit einem Bewgungsmelder, der die Leuchten nach Tageszeit in unabhängigen Szenarien ansteuert.... Deckenlampe und Regal könnte ich nicht direkt verdrahten, da würde ich gern via Funk die Meldung zum hoch und runterdimmen geben... mehr ist da auch nicht erforderlich. Das könnte man analog oder via Arduino machen.
Im Wohnzimmer gibt es 5 verschieden Leuchten und 2 Bewegungsmelder... Das ist von meiner Idee her ähnlich wie in der Küche. Im Schlafzimmer ist es eigentlich ähnlich. Nur das da 2 Bewegungsmelder schauen auf welcher Seite vom Bett jemand aufsteht und dezent den Boden ausleuchtet...
Um zu lernen wie das alles mit dem Arduino klappt möchte ich mit den einfachen Lampen in Flur und Bad anfangen.

Eine Abweichung in der Zeit von ein paar Sekunden wäre kein Drama.
Wenn man die Zeit via Funk neu setzen könnte wäre das Luxus.... "Updates" via USB wäre auch OK....

Wenn es nötig sein sollte oft die Zeit zu korrigieren, könnte ich auch einen zentralen Arduino einrichten, der dann via Funk den lokalen Arduinos sagt welches Szenario jetzt dran wäre, wenn jemand im Raum wäre.... Da würde ein Signal alle 10-15min ausreichen, z.b. mit den 433MHz Funkmodulen...

Achja, dadurch dass alle Lampen mit LEDs bestückt sind, ist überall 12V vorhanden.
Bewegungsmelder etc. sind ja auch schon an Ort und Stelle. Analog funktioniert das schon seit Monaten sehr gut... Also die besten Position für die Bewegungsmelder und Fotowiderstände sind schon gefunden. Die LEDs haben alle ihren MOSFeT zum steuern... Letztendlich muss ich "nur" meine Module mit dem TL494 durch Arduinos mit Zeitfunktion ersetzen...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 15:34
Beitrag #4
RE: tageszeitabhängige Funktion
Yo,

ich sehe du hast dir schon viele Gedanken gemacht. Stehst also mitten im Thema Smile
Die Variante mit einem zentralen Arduino zum funken hört sich auf Dauer gesünder an. An RTCs brauchst du dann auch nur noch einen. Dann könnte man auch abfragen ob die anderen Arduinos noch "leben" und vllt. doch auf einem kleinen Display anzeigen.
Für die Arduinos sollte der Nano völlig ausreichen. Allerdings die Variante mit dem Atmega328, sonst könnte es Probleme beim Speicher geben.
Man müsste noch gucken ob die Pins ausreichen.
Für die Funkübertragung würde ich jedoch einen NRF24L01 benutzen. Die RF-Links für 433 MHz sollen nicht so überragend in der Reichweite sein und brauchen fast immer eine separate Antenne. Beim NRF ist die auf der Platine schon drauf.
Zitat:Wenn man die Zeit via Funk neu setzen könnte wäre das Luxus....
Das wäre dann kein Problem...
Meine Frage: Wo siehst du jetzt Probleme? Du weißt doch schon genau wie es ablaufen soll?
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 15:47 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2014 16:23 von MaHa1976.)
Beitrag #5
RE: tageszeitabhängige Funktion
Vielleicht ist der bessere Ansatz auch einen zentralen Arduino via Funk den lokalen Ardinos zu sagen, wann das Szenario gewechselt werden soll..... Und gar nicht so auf den Faktor Tageszeit zu setzen.... Damit könnte ich dann ja auch mal bei einer Partie zentral das Tagesprogramm verlängern....

Wenn ich so darüber nachdenken, wäre die Verbindung via Funk am besten.... Zentral gesteuert....

Dann könnte ich für die lokalen Arduinos mit dem was im Netz existiert gut zurecht kommen. Dann fehlt mir im Moment nur der Ansatz wie ich die Zentrale aufbaue?

Ich hab jetzt mal 4 Arduinos und ein Zeitmodul bestellt.... Das Funkmodul muss ich mal suchen.

So, die habe ic bauch gefunden.... Jetzt ist Hardwareseitig bis auf ein Display alles unterwegs. Kann man eventl. der Fernseher oder ein Smartphone als Display nutzen?
Gibt es für Ubuntu eine Umgebung mit der ich meine ersten Programmierversuche simmulueren kann? Das Tool zum Progrmammieren habe ich bereits gefunden.

Vielen Dank übrigens für die schnelle Hilfe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 16:31
Beitrag #6
RE: tageszeitabhängige Funktion
Zitat:Kann man eventl. der Fernseher oder ein Smartphone als Display nutzen?
Fernseher -> brauchst du einen Adapter und ist softwareseitig echt harter Stoff. Guckst du hier: http://playground.arduino.cc/Main/TVout
Smartphone -> Da müsste wohl erstmal eine App auf dem Smartphone her. Dann müsste noch eine Verbindung zum Smartphone gesetzt werden. Da gibt es viele Wege. Alle brauchen jedoch widerum ein zusätzliches Shield
Zitat:Das Tool zum Progrmammieren habe ich bereits gefunden.
Du meinst die Arduino IDE für Linux? Dann hast du alles was du brauchst!
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2014, 19:28
Beitrag #7
RE: tageszeitabhängige Funktion
OK, dann spiele ich mal etwas damit rum.... Vielen Dank für die guten Tipps!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.08.2014, 12:07 (Dieser Beitrag wurde zuletzt bearbeitet: 25.08.2014 10:48 von MaHa1976.)
Beitrag #8
RE: tageszeitabhängige Funktion
So, ich habe mal etwas rum gespielt.... zunächst erst mal mit einem Helligkeitssensor und was man damit machen kann... da hab ich mal eine kleine Balkenanzeige für die Helligkeit gemacht... nur so zum lernen... ;-)

nun ist aber die Frage, wie bekomme ich einen Digitalen Eingang (High) eingebunden?

Es soll ja, sobald dieser Eingang auf "HIGH" geht, und nur wenn der Helligkeitssensor einen Wert größer "X" annimmt, ein Ausgang auf "High" gehen, und nachdem der Eingang auf "LOW" geschaltet hat, den Ausgang mit einem DELAY auf "LOW" gehen... da soll dann noch eine Fading- Funktion mit rein... aber ich will mal Schritt für Schritt lernen...

So sieht das ganze bisher aus:

Code:
int Poti = 0; // Fotowiderstand am Analog 0
int ledPin1 = 3; // LED am Digital 3
int ledPin2 = 5;
int ledPin3 = 7; // LED am Digital 3
int ledPin4 = 10;
int ledPin5 = 12;
int ButtonPin = 2;
int ValuePot = 0; // Variable für Spannung am Analog In
int Empfindlichkeit1 = 180;
int Empfindlichkeit2 = 140;
int Empfindlichkeit3 = 90;
int Empfindlichkeit4 = 60;
int Empfindlichkeit5 = 40;
// über diesen Wert kann die Empfindlichkeit eingestellt werden
// wird der Wert erhöht, so schaltet die LED erst ein, wenn es dunkler wird
// und umgekehrt

void setup() {
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ButtonPin, INPUT);
}

void loop() {
  
ValuePot = analogRead(Poti); // Abfrage am Analog Eingang
// ValuePot kann einen Wert von 0 - 1023 annehmen.

if (ValuePot >= Empfindlichkeit1){

digitalWrite (ledPin1, HIGH);
}
else {
digitalWrite (ledPin1, LOW);
}
if (ValuePot >= Empfindlichkeit2){

digitalWrite (ledPin2, HIGH);
}
else {
digitalWrite (ledPin2, LOW);
}
if (ValuePot >= Empfindlichkeit3){

digitalWrite (ledPin3, HIGH);
}
else {
digitalWrite (ledPin3, LOW);
}
if (ValuePot >= Empfindlichkeit4){

digitalWrite (ledPin4, HIGH);
}
else {
digitalWrite (ledPin4, LOW);
}
if (ValuePot >= Empfindlichkeit5){

digitalWrite (ledPin5, HIGH);
}
else {
digitalWrite (ledPin5, LOW);
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Hilfe beim Problem mit dem Delay raspido 11 2.857 14.06.2015 22:31
Letzter Beitrag: raspido
Wink Pulse Sensor Amped ohne Processing Sandmannn 16 3.726 18.02.2015 17:05
Letzter Beitrag: Thorsten Pferdekämper

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste