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
  Anzeige von Daten FreDicnc 9 207 Heute 11:09
Letzter Beitrag: FreDicnc
  DS18B20 Pool-Thermometer mit 7Seg.-Anzeige Evilgnievel 19 338 Gestern 09:27
Letzter Beitrag: Tommy56
  Zeitabhängige LED Anzeige mit 2x4 Input Abfrage do1xxy 2 161 05.03.2017 19:25
Letzter Beitrag: do1xxy
  TFT Anzeige Tellen 7 389 14.02.2017 22:04
Letzter Beitrag: hotsystems
  DHT22 min max Temperatur 7-Segmentanzeige bastelbert 50 1.946 14.01.2017 11:46
Letzter Beitrag: Tommy56
  Anzeige ruhiger halten Franz54 9 620 19.12.2016 01:28
Letzter Beitrag: SkobyMobil
  merkwürdige Anzeige bei lektion 17 lecker16 7 682 20.11.2016 22:40
Letzter Beitrag: Tommy56
  Thermometer mit 7 Segment Anzeige ottii50 53 2.103 31.05.2016 18:43
Letzter Beitrag: ottii50
  Uhr mit 7 Segmentanzeige ottii50 15 1.219 17.04.2016 10:16
Letzter Beitrag: ottii50
  Stunden bis Datum ermitteln facebraker 5 515 22.02.2016 22:17
Letzter Beitrag: Bitklopfer

Gehe zu:


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