Analog value to 4bit led tube

Hey there right now I#m trying to display analog values on a 4bit led tube.
later on I want so display temperature and voltage.
reading analog inputs is no problem so far but displaying them on the led tube is a big problem.

here is my actuall code… how can I include the display connected via GND,VCC,SCLK,RCLK,DIO

#define NUM_SAMPLES 10

//Ein Taster zur Auswahl der Anzeige 3 analoger Werte
//Wert 1 = Motortemperatur
//Wert 2 = Umgebungstemperatur
//Wert 3 = Boardspannung

unsigned char Motortemperatur_count = 0; // current sample number
unsigned char Umgebungstemperatur_count = 0; // current sample number
unsigned char Spannung_count = 0; // current sample number

float Spannung = 0.0; // calculated voltage
float Motortemperatur = 0.0;
float Umgebungstemperatur =0.0;

int sum1 = 0; // sum of samples taken
int sum2 = 0;
int sum3 = 0;

int counter = 1; //Zähler wird zu Beginn auf 1 gesetzt wodurch immer im Menüpunkt 1 gestartet wird
int TasterPin = 12; //Auswahltaster an Pin 12
int Temperatur1 = A0; //Auswahltaster an Pin 12
int Temperatur2 = A1; //Auswahltaster an Pin 12
int Spannung1 = A2; //Auswahltaster an Pin 12

void setup()
{
pinMode(TasterPin, INPUT); //Eingänge festlegen
pinMode(Temperatur1, INPUT); //
pinMode(Temperatur2, INPUT); //
pinMode(Spannung1, INPUT); //
Serial.begin(9600); //Serial-Monitor Baudrate 9600 //9600 Zeichen pro Sekunde
}

void loop() {
//Tasterbetätigung einlesen
int TasterVal = digitalRead(TasterPin); //Taster einlesen

//Analogwert Motortemperatur einlesen
while (Motortemperatur_count < NUM_SAMPLES) {
sum1 += analogRead(A0);
Motortemperatur_count++;
delay(10);}
Motortemperatur = ((float)sum1 / (float)NUM_SAMPLES * 4.78) / 1024.0; //4,78V Referenzspannung

//Analogwert Umgebungstemperatur einlesen
while (Umgebungstemperatur_count < NUM_SAMPLES) {
sum2 += analogRead(A1);
Umgebungstemperatur_count++;
delay(10);}
Umgebungstemperatur = ((float)sum2 / (float)NUM_SAMPLES * 4.78) / 1024.0; //4,78V Referenzspannung

//Analogwert Spannung einlesen
while (Spannung_count < NUM_SAMPLES) {
sum3 += analogRead(A2);
Spannung_count++;
delay(10);}
Spannung = ((float)sum3 / (float)NUM_SAMPLES * 4.78) / 1024.0; //4,78V Referenzspannung

if(TasterVal == HIGH) //wenn Highsignal dann Zähler um 1 erhöhen
{
delay(500);
counter ++;
//Zähler bei Zählerwert 4 auf 1 zurücksetzen
//hier besteht die Möglichkeit durch Änderung der counterzahl die Anzahl der “Menüpunkte”
if(counter == 4) //counterzahl legt 3 Menüpunkte fest
{
counter = 1;
}
}

else
//Dem jeweiligen Zählerwert wird das entsprechende Menü zugeordnet
switch (counter) {

case 1: //Temperatur 1 anzeigen
Serial.print(Motortemperatur * 1);
Serial.println (" V");
Motortemperatur_count = 0;
sum1 = 0;
Serial.println(“Menü 1”);
break;

case 2: //Temperatur 2 anzeigen
Serial.print(Umgebungstemperatur * 1);
Serial.println (" V");
Umgebungstemperatur_count = 0;
sum2 = 0;
Serial.println(“Menü 2”);
break;

case 3: //Spannung 1 anzeigen
Serial.print(Spannung * 1);
Serial.println (" V");
Spannung_count = 0;
sum3 = 0;
Serial.println(“Menü 3”);
break;
}
}

A link to the led tube could be useful ;)

Looks like you have to clock data into the device (synchronous communication)

the same like this http://www.ebay.com/itm/TM1637-For-Arduino-LED-Display-Module-4-Bits-Digital-Tube-With-Clock-Display-/201373780235

See this tutorial.

already tested this, does not work. my 4 bit tue uses vcc,gnd, sclk,rclk,dio. example is not working

Hi, Ops tube? |500x500 Tom... :)

Hi, Have you looked here. https://forum.arduino.cc/index.php?topic=271238.0

https://brainy-bits.com/tutorials/4-bits-7-segment-led-display-with-arduino/

http://arduinolearning.com/code/tm1637-7-segment-display-example.php

Each gives an example sketch.

Tom... :)

the 5 pin is the correct one.

link one is not working.
the other examples are for the modul with 4 pins :frowning:

Easy solution: Return your display module, and get one with a data sheet and Arduino sample code or library. The same for all future buys.

Hi,

This link may help, with the SCLK and RCLK
Your PCB my be a 74C595 and not a TM1637

Hope it helps… Tom… :slight_smile: