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:
  • 1 Bewertungen - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Probleme mit der Zeitsteuerung
11.12.2013, 17:37
Beitrag #1
Probleme mit der Zeitsteuerung
Hallo zusammen,
ich bastel gerade an einer Zeitsteuerung für. Uhr und der Rest ist alles vorhanden.
So nun habe ich den Code nicht selber geschrieben daher komm eich gerade nicht weiter. Also das LCD Display (Helligkeit) lässt sich über die Zeit steuern. Nun wollte ich den Code für digital Ausgänge benutzen an den später Steckdosen über die Zeit geschalten werden sollen. Habe es schon etwas versucht, komme leider nicht weiter.


if(autoMode==1){
if(RTC.daystamp > get_ts(05,25,0) && RTC.daystamp < get_ts(23,59,0) ){
lcd1.backlight(180);
}else{
lcd1.backlight(0);
}
}

if(loopTime !=int(RTC.second)){
loopTime =int(RTC.second);
Serial.println (printTime());
Serial.println (printDate());
setLight(0);

so nun die Frage wie baue ich da jetzt z.B. den Code für Pin39, dass dieser auch über eine Zeitfunktion gesteuert wird?

Vielen Dank

Mfg Michael

PS: Habe eine Mega 2560
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.12.2013, 00:36
Beitrag #2
RE: Probleme mit der Zeitsteuerung
Hmm,
ist mir eigentlich zu wenig Input von Dir.

Komplettcode, damit man weiß mit welcher Uhr Du arbeitest?
Aber über den Codebock bitte siehe sie Raute oben.

Was machst Du mit dem Pin39 ?
Input Output Rechtecksignal?

So wie es jetzt aussieht könnte man die Uhrzeit für den richtigen Zeitpunkt abfragen, und dann den initialisierten Port 39 HIGH oder LOW setzen?

Was hast Du damit vor?
Mit dem Wenigen wirst Du kaum eine Antwort bekommen, oder?

Gruß Joe

Unser Projekt Rolleyes https://global-science-circle.net http://global-science-circle.info http://global-science-circle.de http://radio-gsc1.info und neuerdings https://gch.global https://entsalzung.gch.global
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.12.2013, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2013 10:23 von Micha.)
Beitrag #3
RE: Probleme mit der Zeitsteuerung
Hey Joe,
also es ist eine DS1307 RTC.
Den Code, binde ich dir gerne ein.

An den Pin 39 soll später ein Relais(RELAY9) angeschlossen werden.Er ist auf OUTPUT gelegt. Dieses Steuert dann die Steckdose. Daher brauche ich den Pin Zeitgesteuert
Alles in allem soll später mein Aquarium darüber gesteuert werden.

So war es gedacht von mir. Zeitabfangen und dann entweder HIGH oder LOW setzen.
Mein Versuch so wie es nicht geht:
Code:
if(RTC.daystamp > get_ts(05,25,0) && RTC.daystamp < get_ts(23,59,0) ){
             digitalWrite(RELAY9, HIGH);
            }else{
             digitalWrite(RELAY9, LOW);
            }
Uhrzeit:
Code:
Void setupClock(){
  RTC.setRAM(0, (uint8_t *)&startAddr, sizeof(uint16_t));// Store startAddr in NV-RAM address 0x08

// Set new Time Value

  TimeIsSet = 0xffff;
  RTC.setRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));  


  RTC.getRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
  if (TimeIsSet != 0xaa55){
    RTC.stopClock();
    
    // Uhr Automatisch setzen nach PC Zeit    
    RTC.setTime(DateTime(__DATE__, __TIME__));
    //Wenn manuell angepasst werden soll einfach nächsten 3 Zeilen nicht auskommentieren
    //RTC.fillByYMD(2013,03,29);  // year,month,day
    //RTC.fillByHMS(22,01,0);  //hour,min,sek
    //RTC.setTime();
    
    TimeIsSet = 0xaa55;
    RTC.setRAM(54, (uint8_t *)&TimeIsSet, sizeof(uint16_t));
    RTC.startClock();
  }else{
    RTC.getTime();
  }

/*
   Control Register for SQW pin which can be used as an interrupt.
*/
  RTC.ctrl = 0x00;   // 0x00=disable SQW pin, 0x10=1Hz, 0x11=4096Hz, 0x12=8192Hz, 0x13=32768Hz
  RTC.setCTRL();

  uint8_t MESZ;

  MESZ = RTC.isMEZSummerTime();
}

String printTime()
{
  String sReturn;
  
    sReturn = "";
    RTC.getTime();
  if (RTC.hour < 10) {                    // correct hour if necessary
    sReturn += "0";
    sReturn += String(int(RTC.hour));
  }else{
    sReturn += String(int(RTC.hour));
  }
    sReturn += ":";
  if (RTC.minute < 10) {                  // correct minute if necessary
    sReturn += "0";
    sReturn += String(int(RTC.minute));
  }else{
    sReturn += String(int(RTC.minute));
  }
    sReturn += ":";
  if (RTC.second < 10) {                  // correct second if necessary
    sReturn += "0";
    sReturn += String(int(RTC.second));
  }else{
    sReturn += String(int(RTC.second));
  }
  return sReturn;
}

String printDate()
{
  String sReturn;
  
    sReturn = "";
    RTC.getTime();
  if (RTC.day < 10) {                    // correct date if necessary
    sReturn += "0";
    sReturn += String(int(RTC.day));

  }else{
    sReturn += String(int(RTC.day));
  }
    sReturn += ".";
  if (RTC.month < 10) {                   // correct month if necessary
    sReturn += "0";
    sReturn += String(int(RTC.month));
  }else{
    sReturn += String(int(RTC.month));
  }
    sReturn += ".";
  String DoW ="";
  switch (RTC.dow)                      // Friendly printout the weekday
  {
    case 1:
      DoW="Mo ";
      break;
    case 2:
      DoW="Di ";
      break;
    case 3:
      DoW="Mi ";
      break;
    case 4:
      DoW="Do ";
      break;
    case 5:
      DoW="Fr ";
      break;
    case 6:
      DoW="Sa ";
      break;
    case 7:
      DoW="So ";
      break;
  }
  sReturn = DoW+sReturn;
  return sReturn;
}

float get_ts(int h, int m, int s){
  float r;
  uint32_t t;
  t = h;
  t *= 60;
  t += m;
  t *= 60;
  t += s;
  r=float(t);
  return r;
}

Das Backlight des LCD manuell und automatisch
Code:
if(autoMode==1){
   //analogWrite(LCD_BL,int(DaylightLevel*2.55));
  //lcd1.backlight(190);
  if(RTC.daystamp > get_ts(05,25,0) && RTC.daystamp < get_ts(23,59,0) ){
              lcd1.backlight(180);
            }else{
              lcd1.backlight(0);
            }        
    
        }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.12.2013, 11:46 (Dieser Beitrag wurde zuletzt bearbeitet: 15.12.2013 12:29 von rkuehle.)
Beitrag #4
RE: Probleme mit der Zeitsteuerung
Hallo Mciha,

ich glaube du benutzt die originale DS1307 - Lib jedoch einen Code der auf einer modifizierten DS1307-Lib basiert.
In der originalen DS1307 - Lib gibt es keine Variable daystamp und auch nicht die zugehörige Public Funktion calculate_daystamp.
Versuche mal diese Lib einzubinden: http://www.flowgrow.de/resources/file/45252 und die originale Lib nimmst du raus.

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.12.2013, 20:20
Beitrag #5
RE: Probleme mit der Zeitsteuerung
Hey Ricardo,
danke für den Tipp, werde es morgen versuchen und dann berichten.

Mfg Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2013, 16:49 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2013 16:50 von Micha.)
Beitrag #6
RE: Probleme mit der Zeitsteuerung
Hallo,
habe das Problem jetzt gelöst ohne die Lib. zu ändern.
Code:
// RELAY8
if(RTC.daystamp>=get_ts(11,0,0)&& RTC.daystamp<get_ts(18,0,0)&&digitalRead(RELAY8)==HIGH){
digitalWrite(RELAY8,LOW);
}else if((RTC.daystamp<get_ts(11,0,0)|| RTC.daystamp>get_ts(18,0,0)) && digitalRead(RELAY8)==LOW){
digitalWrite(RELAY8,HIGH);
}

Mfg Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduin Radio Head Library driver Probleme gandalf7588 3 389 08.04.2018 13:05
Letzter Beitrag: gandalf7588
  Probleme mit multiplexing Thor Wallhall 55 3.463 18.03.2018 18:06
Letzter Beitrag: Tommy56
  Treppenbeleuchtung Probleme mit LED Anzahl Cellman 1 222 18.03.2018 10:13
Letzter Beitrag: hotsystems
  Probleme mit Scheduler Arduino DUE juergen001 5 395 15.03.2018 11:44
Letzter Beitrag: juergen001
  Probleme mit DS3231 Geeros#18 6 395 26.02.2018 14:09
Letzter Beitrag: Tommy56
  Probleme mit der Software Thor Wallhall 8 706 31.12.2017 11:34
Letzter Beitrag: Tommy56
  Makeblock mit Scratch programmieren- Probleme Keinen Schimmer 17 4.392 30.12.2017 00:40
Letzter Beitrag: koma1965
  Probleme Serieller Kommunikation Arduino Nextero 13 789 12.12.2017 16:47
Letzter Beitrag: hotsystems
  Interrupt und I2C gibt das Probleme? Badger1875 5 671 03.10.2017 23:26
Letzter Beitrag: GuaAck
Big Grin Probleme mit pgm_read_word NoGi 9 1.939 23.04.2017 10:09
Letzter Beitrag: NoGi

Gehe zu:


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