Uhr "hh-mm-ss" mit NodeMcu auf 8 dig 7 Segment Anzeige

Hallo an alle,
Bin absoluter Laie!
Seit 2 Wochen Experementiere ich mit Arduino IDE und so nem kleinen NodeMcu V3 rum.
Macht Großen Spass :slight_smile: Hab schon alle möglichen Examples durch gespielt.

Nun habe ich so ein NodeMCU V3, und eine 8 Dig 7 Segment Anzeige. Die auch funktioniert und alle möglichen Examples laufen da drauf. Alles blinkt, springt, plopt, zahlen rauf und runter usw..

Ich hätte aber gerne eine Einfache Uhr hh:mm:ss als Anzeige! Und das finde ich nirgends als Beispiel.

Wäre nett wenn mir da jemand helfen könnte. :frowning:

Grüsse
Robert

Wie wärs wenn Du das selbst programmieren würdest?
Grüße Uwe

robiv8:
Ich hätte aber gerne eine Einfache Uhr hh:mm:ss als Anzeige! Und das finde ich nirgends als Beispiel.

Wäre nett wenn mir da jemand helfen könnte. :frowning:

Dann frage ich mich, wo du suchst.
Google ist dein Freund.
7Segment Uhr

Examples machen nie das was du willst, aber zeigen dir, wie es gehen könnte.

uwefed:
Wie wärs wenn Du das selbst programmieren würdest?
Grüße Uwe

robiv8:
Hallo an alle,
Bin absoluter Laie!
...

@HotSystems
Aber auch das ist ein 4 digit 7 segment und kein 8 digit! Meins ist 8 digit.
Alleine die Verkabelung passt auch gar nicht da ich nur VCC, GND, DIN, CS und CLK habe.
Danke Trotzdem für die Mühe.

@michael_x
Aber damit läßt es sich leichter Anfangen zudem ich nicht unbedingt Programmieren lernen will da zu wenig Zeit. Und wenn das Teil Läuft dann kann man experimentieren und hat aber die Sicherung zur Hand :slight_smile:

robiv8:
@HotSystems
Aber auch das ist ein 4 digit 7 segment und kein 8 digit! Meins ist 8 digit.
Alleine die Verkabelung passt auch gar nicht da ich nur VCC, GND, DIN, CS und CLK habe.
Danke Trotzdem für die Mühe.

Ok, sollte ja auch nur eine Anregung sein.

Du willst also von uns einen Sketch für ein Display von dem wir gar nicht wissen welches es ist?

@HotSystems
Schon OK, ist ja Nett das du dir die Mühe gemacht hast :slight_smile:

@uwefed
Sorry

8-Stellen LED Anzeige Modul MAX7219 Digital Control Rot Matrix fuer Arduino
Link zu Amazon

Grüsse Robert

OK
Habe ein geeignetes Projekt gefunden, werde das mal versuchen nachzubauen.
Die Temperatur brauch ich nicht, auch hab ich den DS3232 anstatt den DS1307

Sofern ich Fragen habe darf ich mich melden?
Grüsse Robert

Von mir aus darfst Du Dich gerne melden.

Was mir aber Bauchschmerzen bereitet:

zudem ich nicht unbedingt Programmieren lernen will da zu wenig Zeit

Du willst also selbst keine Zeit investieren, forderst aber die Freizeit anderer. Wie gesagt ... Bauchschmerzen ...

Gegen Bauchschmerzen hilft Tee :wink:

Und zur Klarstellung! Ich Fordere hier rein gar nichts!
Ich habe Höflich gefragt, und gebeten. Insofern verstehe ich deine Bauchschmerzen nicht.

Gruss

Bauchschmerzen verstehe ich auch nicht.
Fürchte aber, du solltest "ich will nicht programmieren lernen" lieber für dich behalten.

Der einzige der ab und zu mal was fertig verwendbares nach Vorgabe liefert, deklariert das als
"Demo, denn von etwas Gutem lernt man mehr als von halbgaren Hinweisen". (Nicht meine Meinung)

funktioniert und alle möglichen Examples laufen da drauf. Alles blinkt, springt, plopt, zahlen rauf und runter usw..

Na dann ist doch alles prima. Jetzt nur noch das ploppen ausbauen und statt "Zahlen rauf und runter" die Uhrzeit. Das nennen wir übrigens auch "programmieren" auch wenn es nur eine kleine Änderung an einem fertigen Sketch ist.

Willst du übrigens die 8 Zeichen "[color=red]12:34:56[/color]" auf so einem Ding darstellen,
oder eher 6 Zeichen mit einem oder zwei Punkten? 12.34 56

Hallo,
mit der von Dir verlinken "Anzeige" ist eine Darstellung- mit Deinen Vorgaben (hh:mm:ss) nicht möglich.
Wir können also nichts liefern.
Gruß und Spaß
Andreas

hh-mm-ss oder hh.mm ss geht auch.

Mit diesem Sketch bin ich schon weiter :slight_smile:

// Demo of MAX7219 library

#include <SPI.h>
#include <bitBangedSPI.h>
#include <MAX7219.h>

const byte chips = 1;

// 1 chip, bit banged SPI on pins 6, 7, 8
MAX7219 display (chips, 2, 12, 14);  // Chips / LOAD / DIN / CLK

void setup ()
  //Text einmalig zeigend
  {
  display.begin ();
  display.sendString ("hall0-66");
  delay (5000);
  display.setIntensity (10);
  }  // end of setup

// text der sich wiederholt
void loop ()
  {
//  display.begin ();
  display.sendString ("17-58-00");
  delay (500);
  display.setIntensity (10);
  display.sendString ("17-58-01");
  delay (500);
  display.setIntensity (10);
      // end of for loop*/
  }

bitBangedSPI-master.zip (2.7 KB)

MAX7219-master.zip (6.05 KB)

Hallo,
hier mal ne´ Uhr.
Gruß und Spaß
Andreas

@SkobyMobil
Verdamt! Du bringst mich um den Abend :smiley:

Danke

robi_uhr_rtc.ino:3:20: fatal error: DS3231.h: No such file or directory
#include <DS3231.h>

Kann mir jemand ein Tip geben wo dieses her bekomme?

Hallo,
du brauchst eine RTC (DS3231) eine "Uhr" und die Lib (DS3231.h) dazu.
z.B. RTC
Gruß und Spaß
Andreas

Super Danke!
Wäre ja auch zu schön gewesen, jetzt kommt das shit ::slight_smile:

/Users/robi/Documents/Arduino/MeineSketches/WEG_Uhr/robi_uhr_rtc/robi_uhr_rtc.ino: In function 'void ReadDS3231()':
robi_uhr_rtc:30: error: 'class DS3231' has no member named 'getSecond'
second=Clock.getSecond();
^
robi_uhr_rtc:35: error: 'class DS3231' has no member named 'getMinute'
minute=Clock.getMinute();
^
robi_uhr_rtc:36: error: 'class DS3231' has no member named 'getHour'
hour=Clock.getHour(h12, PM);
^
exit status 1
'class DS3231' has no member named 'getSecond'

#include "LedControl.h"
#include <Wire.h>
#include <DS3231.h>
/*
 LedControl Anschluss
 D6 / GPIO 12 / PIN 12 is connected to DIN 
 D5 / GPIO 14 / PIN 14 is connected to CLK 
 D4 / GPIO 2  / PIN 2  is connected to CS 
 */
/* MODUL RTC DS3231
 Gnd = masse
 Vcc = +5V
 SDA = GPIO4 (D2) 
 SCL = GPIO5 (D1)
*/

LedControl lc=LedControl(12,14,2,1);
DS3231 Clock;

/* we always wait a bit between updates of the display */
unsigned long delaytime=10;
unsigned long m;

void ReadDS3231()
{
  static int oldsecond;
  static long oldmillis;   
  int second,minute,hour,hlast,mlast,slast,tens,hundreds;
  bool PM, h12; 
  second=Clock.getSecond();
  if ( second != oldsecond ) {
    oldmillis = millis();
    oldsecond = second; 
  }
  minute=Clock.getMinute();
  hour=Clock.getHour(h12, PM);
  slast = second % 10;
  mlast = minute % 10;
  hlast = hour % 10;
  second = (second - slast) / 10;
  minute = (minute - mlast) / 10;
  hour = (hour - hlast) / 10;
  tens = (millis()-oldmillis)/100;
  hundreds = ((millis()-oldmillis)/10)%10;
    lc.setDigit(0,7,hour,false);
    lc.setDigit(0,6,hlast,true);
    lc.setDigit(0,5,minute,false);
    lc.setDigit(0,4,mlast,true);
    lc.setDigit(0,3,second,false);
    lc.setDigit(0,2,slast,true);
    lc.setDigit(0,1,tens,false);
    lc.setDigit(0,0,hundreds,false);

}
void setup() {
  /*
   The MAX72XX is in power-saving mode on startup,
   we have to do a wakeup call
   */
  Wire.begin(); 
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,6);
  /* and clear the display */
  lc.clearDisplay(0);
  Serial.begin(9600);
}

void loop() { 
  m=millis();
  ReadDS3231();
  Serial.println(millis()-m,DEC);
  delay(delaytime-m); //start with delaytime and change
    // to delaytime - m only once you assure m < delaytime
}