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
  Taster 1 mal drücken = LED 2 mal blinken oder aufblitzen gordolino 19 1.051 03.11.2017 15:14
Letzter Beitrag: ardu_arne
  Taster: Wechselschaltung Nordlicht 33 2.049 18.09.2017 09:35
Letzter Beitrag: MicroBahner
  Taster an Interrupt - Prellen geschickter vermeiden als millis() zu prüfen? Flap 19 2.234 04.08.2017 08:10
Letzter Beitrag: Binary1
  Servo mit einem Taster und 433mhz steuern Thor Wallhall 63 3.244 29.07.2017 11:02
Letzter Beitrag: Thor Wallhall
  Taster als Schalter -> Blinker bino29 8 886 22.06.2017 07:21
Letzter Beitrag: hotsystems
Smile Motorsteuerung mit Taster Eggi123 11 988 26.02.2017 15:48
Letzter Beitrag: MicroBahner
  Arduino-UNO LED über Taster digital zum leuchten zu bringen IvKriz 9 821 18.02.2017 08:33
Letzter Beitrag: renid55
  Hilfe bei Taster huber5093 11 831 14.02.2017 19:26
Letzter Beitrag: Tommy56
  8 Taster an einem Pin Kitt 9 931 04.02.2017 18:51
Letzter Beitrag: ardu_arne
  Led Impuls beim Taster betätigen clemens5555 11 1.080 17.01.2017 20:00
Letzter Beitrag: renid55

Gehe zu:


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