Ich bin mir gerade ein Kombiinstrument für Dirt 2 am basteln.
Benutzt werden ein Arduino Uno, Dot Matrix LED MAX7219 und ein 7 Segment Display auch mit MAX7219.
Bis auf das 7 Segment funktioniert es auch wie es soll. Nur kriege ich keine Daten auf das 7 Segment. Einzelne Werte kann ich anzeigen lassen, nur als String nicht.
Hier der der Code:
//Read all values
gear = GetOBD2GearValue(); //Notice: offset +1 because of reverse gear
speed= GetOBD2SpeedValue();
rpm = GetOBD2RpmValue();
rpm=rpm/4;
if(gear!=-1 && speed!=-1 && rpm!=-1)
{
digitalWrite(13, LOW); //We have connection and all values are ok, turn on the LED
//Do here your LCD or display stuff
char* neutral = "n"; // sets the character for neutral
char* reverse = "r"; // sets the character for reverse
//
if (gear==0){
sprintf(message,"%s:%s %s:%5d",rapport, reverse , trmin, rpm);
sprintf(message1,"%s:%3d %s",speed1, speed , speedunit);
lcd.setCursor(0,0);
lcd.write(message); //envoi le message sur l'écran 1 ere ligne
lcd.setCursor(0,1);
lcd.write(message1); //envoi le message sur l'écran 2 eme ligne
mydisplay.setRow(0,0,B11111111);
mydisplay.setRow(0,1,B11111111);
mydisplay.setRow(0,2,B11111111);
mydisplay.setRow(0,3,B00011011);
mydisplay.setRow(0,4,B00011011);
mydisplay.setRow(0,5,B11111111);
mydisplay.setRow(0,6,B11111111);
mydisplay.setRow(0,7,B11101110);
mydisplay.setDigit(1, 7, rpm, false);
mydisplay.setDigit(1, 2, speed, false);
}
Ich will das RPM und speed auf dem 7 Segment angezeigt werden sollen. Ich dachte so klappt es. mydisplay.setDigit(1, 7, rpm, false);
Aber leider geht das nicht.
http://www.x-sim.de/forum/viewtopic.php?t=155
Hier benutzt jemand ein TM1638