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
RTC stellen per Taster
19.12.2014, 15:57 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2014 15:57 von Arduinonoob.)
Beitrag #17
RE: RTC stellen per Taster
Hi,
hab so ein ähnliches Problem wie du und hoffe du kannst mir vielleicht weiterhelfen bzw. auch jemand anders Smile

Undzwar bin ich dabei einen Wecker zu bauen, wo ich über den Quellcode sowie über taster die Uhrzeit, Datum und Weckzeiteinstellen will.

Über den Quellcode die Sachen einstellen hab ich soweit programmiert sowie auch das einstellen der Uhrzeit über Taster.

Jedoch bekomme ich es einfach nicht hin, über Taster das Datum sowie Weckzeit einzustellen.

Wäre es möglich mir den Quellcode zu ändern? Sitze seit geraumer Zeit an dem Arduino Projekt und komme einfach nicht weiter Sad

mein Quellcode ist folgender:

#include <Time.h>
#include <LiquidCrystal.h>
#include <TimeAlarms.h>
#include <SPI.h>
#define sensorexit 1 //AnalogerAusgang 1

int tempc = 0; // Temperatur Variable
int atemp[91]; // Array Temperatur
int maxi = -100, mini = 100; // maximale und minimale Temperatur
int i;
float temperaturlcd;

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);


const int cycles =20;
const int DELAY =10;

int Stunde,Minute,Tag,Monat,Jahr;
int as,am;

byte pin_button1=6;
byte pin_button2=7;
unsigned long prevtime;


unsigned long previousMillis = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
unsigned long interval = 90000; // Interval zwischen zwei Änderungen
unsigned long previousMillis1 = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
unsigned long interval1 = 1000; // Interval zwischen zwei Änderungen


/*/-----------------------------------------------------------/*/


void setup()
{

lcd.begin(16, 2);
Serial.begin(9600);
pinMode(pin_button1, INPUT);
pinMode(pin_button2, INPUT);
Uhr();
setTime(Stunde,Minute,0,Tag,Monat,Jahr);
Alarm.alarmRepeat(as,am,0,TonAlarm);
}

void loop()
{
Temperatur();
Zeitstellen();
AnzeigeUhr();
AlarmAnzeige();
Alarm.delay(1000);

// delay(1000);
}
/*---------------------------------------------------------------*/
/*---------------------------------------------------------------*/
void Uhr() {
Stunde=14;
Minute=15;
Tag=19;
Monat=12;
Jahr=14;
as=16; //AlarmStunde
am=30; //AlarmMinute
}
/*---------------------------------------------------------------*/
/*---------------------------------------------------------------*/
void AlarmAnzeige()
{
lcd.setCursor(9,0);
lcd.print("A:");
if(as < 10)
lcd.print('0');
lcd.print(as);
lcd.print(":");
if(am < 10)
lcd.print('0');
lcd.print(am);
}


void Zeitstellen()
{
prevtime= now();
while(prevtime==now())
{
if (checkSetTime())
prevtime=now();
}
}


boolean checkSetTime()
{
int step;
boolean isTimeAdjusted=false;
step=1;
while(digitalRead(pin_button1)==HIGH)
{
adjustTime(step);
isTimeAdjusted=true;
step=step+1;
AnzeigeUhr();
delay(100);
}
step=-1;
while(digitalRead(pin_button2)==HIGH)
{
adjustTime(step);
isTimeAdjusted=true;
step=step-1;
AnzeigeUhr();
delay(100);
}
return isTimeAdjusted;
}




void AnzeigeUhr(){
lcd.setCursor(0,0);
// Digitalanzeige der Zeit
printnull(hour());
lcd.print(":");
printnull(minute());
lcd.print("Uhr");
lcd.setCursor(0,1);
printnull(day());
lcd.print(".");
printnull(month());
lcd.print(".");
lcd.print(year());

}

void printnull(int d){

if(d < 10)
lcd.print('0');
lcd.print(d);
}


void Temperatur() {
lcd.setCursor(11,1);

float resultTemp=0.0;
for (int i = 0; i<cycles;i++){
int analogValue = analogRead(sensorexit);
float temperature = (5.0 * 100.0 * analogValue) / 1024;
resultTemp += temperature;
delay(DELAY);
}
resultTemp /= cycles;
lcd.print(resultTemp,1);
lcd.print("C");

TempAuswertung();
}
void TonAlarm() {
noTone(9); // schalten Ton ab tone(9, 100, 100); // geben Ton 100 Hz, Dauer 100 ms an Pin 9 aus
delay(500); // warten 500 ms
noTone(9); // schalten Ton ab tone(9, 500, 500); // geben Ton 500 Hz, Dauer 500 ms an Pin 9 aus
delay(500); // 500 ms
noTone(9); // schalten Ton ab tone(9, 1000, 1000); // geben Ton 1000 Hz, Dauer 1 s an Pin 9 aus
delay(500); // 500 ms
noTone(9); // schalten Ton ab tone(9, 2000, 1500); // geben Ton 2000 Hz, Dauer 1,5 s an Pin 9 aus
delay(500); // 500 ms
noTone(9); // schalten Ton ab tone(9, 1500, 1000); // geben Ton 1050 Hz, Dauer 1 s an Pin 9 aus
delay(500); // 500 ms
noTone(9); // schalten Ton ab tone(9, 1000, 2000); // geben Ton 1000 Hz, Dauer 2 s an Pin 9 aus
delay(500); // 500 ms
}
void TempAuswertung()
{
if (millis() - previousMillis > interval) {
previousMillis = millis(); // aktuelle Zeit abspeichern
for(i = 0; i <= 90; i++) // 90 Temperaturen werden berechnet, alle 10 Sekunden
{
atemp[i] = ( 5.0 * analogRead(sensorexit) * 100.0) / 1024.0;
tempc = tempc + atemp[i];
delay(10);
}

tempc = tempc/90.0; // Mittelwert wird berechnet
if (tempc > maxi) {
maxi = tempc;
} // maximale Temperatur

if (tempc < mini) {
mini = tempc;
} // minimnale Temperatur

Serial.print(tempc,DEC);
Serial.print(" Celsius, ");
Serial.print(maxi,DEC);
Serial.print(" Max, ");
Serial.print(mini,DEC);
Serial.print(" Min");
Serial.print(" -- ");
printnullserial(hour());
Serial.print(":");
printnullserial(minute());
Serial.print(" Uhr, ");
printnullserial(day());
Serial.print(".");
printnullserial(month());
Serial.print(".");
Serial.println(year());
tempc = 0;
}
}

void printnullserial(int e){

if(e < 10)
Serial.print('0');
Serial.print(e);
}

__________________________________________________________

Uhrzeit stelle ich über Taster ein die an Pin 6 und 7 programmiert sind.

Meine Vorstellung für die restlichen Einstellungen:
Datum: Pin 8
Weckzeit: Pin 2


Ich bedanke mich schon mal für eure Hilfe Smile

[Bild: 9ekxhd3e.jpg]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2014, 08:26 (Dieser Beitrag wurde zuletzt bearbeitet: 28.12.2014 08:58 von aoLaopsa.)
Beitrag #18
RE: RTC stellen per Taster
(15.08.2014 16:04)Sascha schrieb:  Danke, also ich habe die Uhrzeit auf dem SerialMonitor und auf dem lcd, soweit passt alles, nur das anpassen geht nicht.
Ich habe es gerade so versucht
Setup().......
rtc.adjust(DateTime(2014, 1, 21, x, y, 0));
..............
void Loop()..........
buttonState = digitalRead(t1);
if (buttonState == HIGH)
{
buttonStateHIGH = 1;
}
if (buttonState == LOW && buttonStateHIGH == 1)


galaxy tab 4 10.1 hülle


{
x++;
buttonStateHIGH = 0;

}
...........
den kompletten Code poste ich lieber nicht, da dort auch noch die Zeitschaltuhr, Temperatur, Luftfeucht usw. drin sind und der ca. 14 Seiten hat.

Problem hierbei ist, dass ich zwar die Zeit per Taster stellen kann, aber die Uhr selbst nicht weiter läuft.
wenn ich damit arbeite und selbst welche erstelle, werde ich es erst richtig verstehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Led Impuls beim Taster betätigen clemens5555 11 254 17.01.2017 20:00
Letzter Beitrag: renid55
  Über drei Taster zwei externe Timer steuern Sidamo 23 356 09.01.2017 20:12
Letzter Beitrag: Tommy56
  Led mit taster ausschalten Frankeg 17 414 07.01.2017 21:17
Letzter Beitrag: renid55
  aufeinander Aufbauende Lichtaktion mit einem Taster Colby 9 315 17.12.2016 13:30
Letzter Beitrag: Colby
  mehrere Taster entprellen Kitt 15 694 24.10.2016 21:17
Letzter Beitrag: georg01
  Taster für mehrere Funktionen matthias3579 5 437 16.08.2016 16:00
Letzter Beitrag: StephanBuerger
  Steuern von 4 Servo mittels eines Taster und eines Potis Jackie09 17 842 16.07.2016 11:43
Letzter Beitrag: Binatone
  Serial.printeln, Stellen verschwinden Mathias 6 288 27.05.2016 17:44
Letzter Beitrag: Mathias
  Schwellwert mit Taster ändern malsehen 16 1.486 12.04.2016 20:11
Letzter Beitrag: malsehen
  3 Schrittmotoren, 2 LED's 1 Taster cichla 0 457 31.03.2016 15:21
Letzter Beitrag: cichla

Gehe zu:


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