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
TM1637 Display
17.07.2015, 15:42 (Dieser Beitrag wurde zuletzt bearbeitet: 17.07.2015 15:43 von F2Ingo.)
Beitrag #1
TM1637 Display
Hallo zusammen,
ich Google mir hier grad nen WolfWink

Ich habe hier ein 4 Digit 7 segment Display mit TM1637 Treiber.
Zahlen darstellen kann ich damit so wie ich mir das vorgestellt habe, aber den Dezimalpunkt bekomme ich nicht gesetzt.
Das Display hat 4 Punkte statt eines Doppelpunktes in der Mitte

http://www.ebay.de/itm/4-stellige-LED-Ro...3aab6e3778

Hat da schon jemand Erfahrung mit??

Gruß Ingo

Gruß Ingo Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 10:39
Beitrag #2
RE: TM1637 Display
Hallo Ingo,

hast dud ir mal die Library angeguckt: https://github.com/avishorp/TM1637
Die Library hat auch eine Funktion showNumberDec() . Damit sollte es klappen.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 10:55
Beitrag #3
RE: TM1637 Display
Danke Ricardo,
aber auch damit hab ich es nicht hinbekommenConfused

Gruß Ingo

Gruß Ingo Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 10:58
Beitrag #4
RE: TM1637 Display
Kannst du den Code mal reinstellen?
Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 14:34
Beitrag #5
RE: TM1637 Display
Ich versuchs mal mit dem TestcodeRolleyes

Code:
#include <TM1637Display.h>


#define CLK 2
#define DIOA 3
#define DIOB 4
int sensorPin  = A0;
int sensorPin2 = A1;
int sensorValue  = 0;
int sensorValue2 = 0;



void setup()
{


}

void loop()
{
  display1();
  
  display2();
  
  
  
  delay(500);
  
}  

void display1()
{
  TM1637Display display(CLK, DIOA);
  display.setBrightness(8);
  sensorValue = analogRead(sensorPin);
  uint8_t segto;
  //segto = 0x80|display.encodeDigit((sensorValue/100)%10);
  //display.setSegments(&segto,1,1);
  display.showNumberDec(sensorValue,true,4);
  delay(1);
}

void display2()
{
   TM1637Display display(CLK, DIOB);
   display.setBrightness(8);
   sensorValue2 = analogRead(sensorPin2);
   display.showNumberDec(sensorValue2,true);
   delay(1);
}

Gruß Ingo

Gruß Ingo Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 17:30
Beitrag #6
RE: TM1637 Display
Wenn du keine Komma Zahl erzeugst kann auch kein Dezimalpunkt angezeigt werden. Mach mal aus
Code:
int sensorValue  = 0;
sowas hier
Code:
float sensorValue  = 0.00;

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 18:07
Beitrag #7
RE: TM1637 Display
Ist schon klar mit dem float,
aber die Library sieht das so nicht vor.Ich kann nicht 1.23 vorgeben, daraus wird dann nur 1 , alles nach dem Punkt fällt weg.

Gruß Ingo

Gruß Ingo Angel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.07.2015, 19:59 (Dieser Beitrag wurde zuletzt bearbeitet: 18.07.2015 20:13 von rkuehle.)
Beitrag #8
RE: TM1637 Display
Zitat:display.showNumberDec(sensorValue2,true);
Laut Testsketch bzw. cpp Datei sagt dieser Aufruf nur aus, dass sensorValue mit führender 0 ausgegeben werden soll.
Der Aufruf den du meinst ist in der .h Datei so definiert:
Zitat:/* Displays the given argument as a decimal number
@param num The number to be shown
@param leading_zero When true, leading zeros are displayed. Otherwise unnecessary digits are
@param length The number of digits to set. The user must ensure that the number to be shown fits to the number of digits requested (for example, if two digits are to be displayed, the number must be between 0 to 99)
@param pos The position least significant digit (0 - leftmost, 3 - rightmost) */
void showNumberDec(int num, bool leading_zero = false, uint8_t length = 4, uint8_t pos = 0);
Bedeutet die Library stellt keine float-Werte dar, sondern nur int Werte zwischen deren Digits man einen Punkt plazieren kann.
Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  matrix display elegoo uno R3 starter set lecker16 7 157 23.11.2016 21:14
Letzter Beitrag: Bitklopfer
  LCD Display plötzlich komische Zeichen Jessi97 2 244 28.07.2016 11:34
Letzter Beitrag: Bitklopfer
  Altes Digitales Display mit Text/Bits durch Genuino Micro versorgen - SPI-Bibliothek? RollingStone 0 205 25.06.2016 17:46
Letzter Beitrag: RollingStone
  Problem mit OLED 0.96" Display torsten_156 3 545 03.04.2016 15:10
Letzter Beitrag: hotsystems
  Display Blinkt immer arduino_weatherstation 29 1.628 12.03.2016 13:10
Letzter Beitrag: hotsystems
  2.2 TFT SPI Display s_fr 3 484 20.02.2016 15:28
Letzter Beitrag: René Hitz
  SainSmart 5" TFT LCD Display + 5" TFT/SD Shield Kit Für Arduino Mega2560 R3 Falk84 14 1.242 19.02.2016 08:48
Letzter Beitrag: arduinopeter
  Text auf LCD Display s_fr 1 644 30.01.2016 14:24
Letzter Beitrag: Jelimi
  LCD Display Fehler s_fr 2 641 30.01.2016 10:21
Letzter Beitrag: s_fr
  OLED Display anzeige von Logo falsch ! b3ta 0 339 23.01.2016 15:12
Letzter Beitrag: b3ta

Gehe zu:


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