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
Datum Anzeige mit 7 Segmentanzeige
11.03.2016, 14:41 (Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2016 14:47 von ardu_arne.)
Beitrag #1
Smile Datum Anzeige mit 7 Segmentanzeige
Hallo, ich will mir eine Datumsanzeige mit 7 Segmentanzeigen bauen.

So dachte ich z.B. 14.05.2016

Soweit, so gut.... Tag und Monat funktionierenSmile.
Nur das Jahr bekomme ich einfach nicht angezeigt, hab ich bei meiner Programmierung einen Denkfehler???

Bitte um Hilfe.........
Code:
void loop() {
  DateTime now = RTC.now();
    int year = now.year();
  int month = now.month();
  int day = now.day();
    
  int year_tens = now.year() / 10;
  int year_ones = now.year() % 10;
  int year_hundred = now.year() % 100;
  int year_thousand = now.year() / 1000;
  int month_tens = now.month()/10;
  int month_ones = now.month() % 10;
  int day_tens = now.day()/10;
  int day_ones = now.day() % 10;
  

  digitalWrite(latchPin, LOW);
  
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_tens]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_hundred]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_thousand]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[month_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[month_tens]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[day_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[day_tens]);
  
  digitalWrite(latchPin, HIGH);

  delay(100);
}

Edit: Codebereich formatiert
Gruß Arne
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 14:49
Beitrag #2
RE: Datum Anzeige mit 7 Segmentanzeige
Hallo,
liefert die RTC denn eine vierstellige Jahreszahl zurück?
Wie sieht die Ausgabe den aus?

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 14:55
Beitrag #3
RE: Datum Anzeige mit 7 Segmentanzeige
Ja wird im Seriellen Monitor angezeigt.
Auch mit einem16*2 LCD Display funktioniert es.

Die 6 von 2016 bekomme ich auch angezeigt alles andere sind dann keine Zahlen mehr.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 16:17
Beitrag #4
RE: Datum Anzeige mit 7 Segmentanzeige
Hallo,
Code:
void loop() {
  DateTime now = RTC.now();
  int year = now.year();
  int month = now.month();
  int day = now.day();
    
  int year_thousand = year / 1000;
  int year_hundred = (year - (year_thousand*1000)) / 100;
  int year_tens = (year - (year_thousand*1000)-(year_hundred*100)) / 10;
  int year_ones = year % 10;
  int month_tens = month / 10;
  int month_ones = month  % 10;
  int day_tens = day / 10;
  int day_ones = day % 10;
  

  digitalWrite(latchPin, LOW);
  
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_tens]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_hundred]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[year_thousand]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[month_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[month_tens]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[day_ones]);
  shiftOut(dataPin, clockPin, MSBFIRST, dec_digits[day_tens]);
  
  digitalWrite(latchPin, HIGH);

  delay(100);
}

läuft es mit diesem Code?

Gruß
Arne

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 16:45
Beitrag #5
RE: Datum Anzeige mit 7 Segmentanzeige
Vielen Dank, der Code läuft.... Danke
Darauf werd ich nie gekommen.

Wo kann man das nachlesen?
Hab fast alle Arduino Bücher, konnte aber nichts finden.

Danke nochmal !!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 16:58 (Dieser Beitrag wurde zuletzt bearbeitet: 11.03.2016 17:12 von ardu_arne.)
Beitrag #6
RE: Datum Anzeige mit 7 Segmentanzeige
(11.03.2016 16:45)ottii50 schrieb:  ...
Wo kann man das nachlesen?
Hab fast alle Arduino Bücher, konnte aber nichts finden.
...

Also das findet man auch in keinem Arduino Buch sondern nur hier oder in einem Mathebuch für die 4. Klasse. Smile

ExclamationMit zunehmender Anzahl qualifizierter Informationen bei einer Problemstellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.Exclamation
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 17:07
Beitrag #7
RE: Datum Anzeige mit 7 Segmentanzeige
Ja Prima.........

Aber wie kommt man dazu, die Formel so einzugeben????
Kann man das genauer beschreiben???
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.03.2016, 17:24
Beitrag #8
RE: Datum Anzeige mit 7 Segmentanzeige
den Tausender hast Du ja schon richtig gemacht.
year_thousand = year/1000
kommt also für 2016 2,016 raus - bei einer integer-Variable also 2

die Hunderter berechnet man indem man die Tausender abzieht und dann durch 100 teilt.
also 2016 - 2000 = 16. 16/100 = 0,16, bei integer 0
folglich int year_hundred = (year - (year_thousand*1000)) / 100;
die Tausender aus year_thousand mal 1000 um wieder auf den vollen Wert zu kommen

Die Zehner indem man den tausender und hunderter abzieht und dann durch 10 teilt.
also 2016 - 2000 - 0 = 16. 16 / 10 = 1,6 - bei int 1
folglich int year_tens = (year - (year_thousand*1000)-(year_hundred*100)) / 10;
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  merkwürdige Anzeige bei lektion 17 lecker16 7 135 20.11.2016 22:40
Letzter Beitrag: Tommy56
  Thermometer mit 7 Segment Anzeige ottii50 53 1.523 31.05.2016 18:43
Letzter Beitrag: ottii50
  Uhr mit 7 Segmentanzeige ottii50 15 826 17.04.2016 10:16
Letzter Beitrag: ottii50
  Stunden bis Datum ermitteln facebraker 5 360 22.02.2016 22:17
Letzter Beitrag: Bitklopfer
  Leonardo- Anzeige von MIDI-Daten an ws2812b Modinox 7 479 26.01.2016 13:11
Letzter Beitrag: Bitklopfer
  OLED Display anzeige von Logo falsch ! b3ta 0 331 23.01.2016 15:12
Letzter Beitrag: b3ta
  8x7 Segment LED Anzeige / Sketch verändern w1ck3d 3 638 23.11.2015 17:56
Letzter Beitrag: hotsystems
  Drehzahl Anzeige Analog (neuling) Kuxii 9 1.105 30.10.2015 12:01
Letzter Beitrag: hotsystems
  Funkthermometer mit 7 Segmentanzeige-bitte um Hilfe ottii50 45 3.159 27.07.2015 14:02
Letzter Beitrag: ottii50
  Sieben Segment LED Anzeige Tellen 10 1.810 18.06.2015 21:21
Letzter Beitrag: Tellen

Gehe zu:


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