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 http://global-science-circle.net http://global-science-circle.org http://global-science-circle.info UND http://radio-gsc1.info
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
  ArduinoDroid Probleme Brother Tak 1 201 10.09.2016 22:12
Letzter Beitrag: Brother Tak
  Roboter-Bau Probleme blebbens 8 378 12.07.2016 07:35
Letzter Beitrag: Binatone
  Probleme mit sprintf() und dtostrf() GMBU 11 812 22.06.2016 10:52
Letzter Beitrag: GMBU
  Makeblock mit Scratch programmieren- Probleme Keinen Schimmer 6 962 06.05.2016 18:34
Letzter Beitrag: arduinopeter
  Programme vom UNO auf nano , mini Pro portieren Probleme anwo 19 1.176 17.04.2016 21:12
Letzter Beitrag: hotsystems
  Probleme beim Auslesen eines IR Empfängers linuxpaul 7 574 06.03.2016 14:44
Letzter Beitrag: hotsystems
  I²C vom NANO zum PI Probleme mit High/Low Bit Tobias1984 4 331 29.02.2016 00:00
Letzter Beitrag: hotsystems
  Probleme beim auswählen des Ports Levi 11 825 21.02.2016 18:00
Letzter Beitrag: hotsystems
  IRemote probleme mit abfrage schnutzkurt 18 1.148 20.02.2016 01:30
Letzter Beitrag: SkobyMobil
  Probleme mit SPI - Ethernet und nRF24L01 itsy 35 2.980 21.11.2015 19:59
Letzter Beitrag: ardu_arne

Gehe zu:


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