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
Gartenbeleuchtung
10.09.2017, 12:23
Beitrag #9
RE: Gartenbeleuchtung
Habe mir den Sketch nochmal angesehen.
Was willst du denn am LedSpot und LedStripe mit der if-Abfrage auslesen ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2017, 21:03
Beitrag #10
RE: Gartenbeleuchtung
Salü Posting Freak,
sorry für mein langes fernbleiben, (Urlaub & muss ja den Garten auf Winter einmotten)

Hab wieder weiter gebastelt.

Ich habe 2 Beleuchtungen in meinem Garten verbudelt.
Beide schalte ich mit einem LDR
dies klappt wunderbar, jedoch möchte ich eine der beiden LEDStripe über den LDR steuern, jedoch nur in einem Zeitraum.
Die LED > Relais schaltet auch um 2200 Uhr aus - doch nach ein paar Sekunden schalten die LED wieder ein. Da ja das alle 3 Sek. ausliest.
Wo liegt der Fehler in meiner Überlegung des Sketches?
Merci




Code:
// Date and time functions using a DS1307 RTC connected via I2C and Wire lib

#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

int LEDStrip = 13;// LED an Pin 13
int LEDSpot = 12;// LED an Pin 12

void setup () {
    pinMode(A3, OUTPUT);
    pinMode(A2, OUTPUT);
    digitalWrite(A3, HIGH);
    digitalWrite(A2, LOW);
    
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();
    RTC.adjust(DateTime(__DATE__, __TIME__));

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
  }
  {
  Serial.begin(9600);         // auslesen A0
  pinMode(13,OUTPUT);  // Pin als Output
  pinMode(12,OUTPUT);  // Pin als Output
}
}
void loop () {
    DateTime now = RTC.now();
    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
    
    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
    
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
    
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
    
    Serial.println();
    delay(3000);

LEDStrip = analogRead(A0);
LEDSpot = analogRead(A1);
Serial.println(LEDStrip);
delay(3*1000);


if (LEDStrip >600) {   //1200=dunkel, 0= hell
digitalWrite (13,HIGH);
}
else {
  digitalWrite (13,LOW);
}

if (now.hour() == 21  && now.minute() == 30) {
digitalWrite (13,LOW);    // jetz einschalten

}
if (now.hour() == 22 && now.minute() == 00) {
digitalWrite(13,HIGH);    // jetzt ausschalten
}





Serial.println(LEDSpot);
delay(3*1000);

if (LEDSpot >800) {   //1200=dunkel, 0= hell
digitalWrite (12,HIGH);
}
else {
  digitalWrite (12,LOW);
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2017, 21:13
Beitrag #11
RE: Gartenbeleuchtung
Wenn die Uhrzeit für dich Priorität hat, musst du damit die Sensorfunktion für diese Led ausschalten.
Also 2 verschachtelte if-Abfragen. Die erste prüft die Uhrzeit und die zweite die Helligkeit. Ab 22:00 Uhr Sensor ausschalten.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2017, 22:12
Beitrag #12
RE: Gartenbeleuchtung
ok, schade

aber danke für deine Bemühungen
cmas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.10.2017, 22:25
Beitrag #13
RE: Gartenbeleuchtung
(04.10.2017 22:12)cmas schrieb:  ok, schade

Wieso "schade" ?

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.10.2017, 17:24
Beitrag #14
RE: Gartenbeleuchtung
Hallo,
Interresantes Projekt.
Würde mich über paar bilder freuen, oder hast du eine Seite wo man was sehen kann ?
Interresant auch das mit den Schächten für die Stromversorgung.
Wie machst du das Wasserdicht ?
Ich denke, die könnten doch voll Wasser laufen.
Bei mir habe ich Wasserdichte Abzweigdosen mit Schläuchen an der Haustür verlegt, und da sind die LED's für die Pflastersteine im Boden dran.
Ach so, machst du das seriell mit 9600 ? Wieviel Meter hängen den da so dran bei dir ?
Gruß, Markus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.10.2017, 23:01
Beitrag #15
RE: Gartenbeleuchtung
Salü Markus,
Werde ein paar Bilder schiessen, sobald es nicht mehr in strömen regnet. Zur Steuerung des ganzen - kann ich dir nicht viel sagen. Bin ja selbst Anfänger.

Gruss Oli
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.10.2017, 20:40
Beitrag #16
RE: Gartenbeleuchtung
Hallo Leute,
gerne würde ich wieder mal um Hilfe bitten. Immer noch an meinem Gartenprojekt. Meine Lichtschaltung funktioniert soweit. das heisst die Zeit Schaltung für das die beiden Relais die den Lichtsensor steuern funktionieren. Die beiden Lichtsensoren A0 & A1 messen unabhängig voneinander - auch io. Jedoch schalten die Relais nur über den Sensor A0. Warum schaltet der Sensor A1 nicht? Kann mir jemand weiterhelfen)

Code:
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;


const int Relais1 = 2;// Relais an Pin 2
const int Relais3 = 4;// Relais an Pin 4
int Licht = 3;// LED an Pin 3
  int Spot = 5;// LED an Pin 5




void setup () {
    
    Serial.begin(57600);
    Wire.begin();
    RTC.begin();
    RTC.adjust(DateTime(__DATE__, __TIME__));

  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    // following line sets the RTC to the date & time this sketch was compiled
  }
  {
  Serial.begin(9600);         // auslesen A0
  Serial.begin(9600);         // auslesen A1
  pinMode(Relais1, OUTPUT);  // Pin als Output
  pinMode(3,OUTPUT);  // Pin als Output
  
  pinMode(Relais3, OUTPUT);  // Pin als Output
  pinMode(5,OUTPUT);  // Pin als Output


  
}
}
void loop () {
    DateTime now = RTC.now();
    
    Serial.print(now.year(), DEC);
    Serial.print('/');
    Serial.print(now.month(), DEC);
    Serial.print('/');
    Serial.print(now.day(), DEC);
    Serial.print(' ');
    Serial.print(now.hour(), DEC);
    Serial.print(':');
    Serial.print(now.minute(), DEC);
    Serial.print(':');
    Serial.print(now.second(), DEC);
    Serial.println();
    
    Serial.print(" since midnight 1/1/1970 = ");
    Serial.print(now.unixtime());
    Serial.print("s = ");
    Serial.print(now.unixtime() / 86400L);
    Serial.println("d");
    
    // calculate a date which is 7 days and 30 seconds into the future
    DateTime future (now.unixtime() + 7 * 86400L + 30);
    
    Serial.print(" now + 7d + 30s: ");
    Serial.print(future.year(), DEC);
    Serial.print('/');
    Serial.print(future.month(), DEC);
    Serial.print('/');
    Serial.print(future.day(), DEC);
    Serial.print(' ');
    Serial.print(future.hour(), DEC);
    Serial.print(':');
    Serial.print(future.minute(), DEC);
    Serial.print(':');
    Serial.print(future.second(), DEC);
    Serial.println();
    
    Serial.println();
    delay(3000);



Licht = analogRead(A0);
Spot = analogRead(A1);
Serial.println(Licht);


Serial.println(Spot);

delay(1000);


if (Licht >600) {   //1200=dunkel, 0=hell
digitalWrite (3,LOW); //evtl  LOW/HIGH tauschen je nach Relais
}
else {
  digitalWrite (3,HIGH);
}


  if (now.hour() == 20  && now.minute() == 28) {
digitalWrite (2,HIGH);    // jetz einschalten

  }
if (now.hour() == 20  && now.minute() ==30) {
digitalWrite (2,LOW);    // jetz einschalten




}
if (Licht >500) {   //1200=dunkel, 0=hell
digitalWrite (5,LOW); //evtl  LOW/HIGH tauschen je nach Relais
}
else {
  digitalWrite (5,HIGH);
}


  if (now.hour() == 20  && now.minute() == 32) {
digitalWrite (4,HIGH);    // jetz einschalten

  }
if (now.hour() == 20  && now.minute() ==35) {
digitalWrite (4,LOW);    // jetzt einschalten
}
}

Merci cmas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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