AskSin++ LCD Unterstützung

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

Benutzeravatar
Gelegenheitsbastler
Beiträge: 529
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 13 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Gelegenheitsbastler » 25.03.2020, 14:44

Naja, da ich den Sketch kopiert habe, war es nunmal der Inhalt des ersten Beitrages.
Wo ich den Lib-Suchpfad eintragen kann ist mir nicht bekannt. Aber es läuft ja jetzt - bis auf eine Kleinigkeit.

Wie bekomme ich die Zeichen im Display gedreht?
#define LCDREVERSED
funktioniert leider nicht. Oder muss ich noch weitere Änderungen vornehmen?
Hier der Testsketch:

Code: Alles auswählen

#include </home/frank/Arduino/libraries/AskSinPP-master/displays/Lcd6749.h>
#define LCD_CS   9
#define LCD_WR   3
#define LCD_DATA 7

#define LCDREVERSED

using namespace as;

typedef LCD6749<LCD_CS, LCD_WR, LCD_DATA> LcdType;
LcdType lcd;

void setup() {

  lcd.init();
//  lcd.printWithUnit(24, LcdType::NO_DOT, 'G');     // 2 4 G
  //lcd.printWithUnit(24, LcdType::SINGLE_DOT, 'G'); // 2.4 G
  //lcd.printText("4:15");                           // 4:1 5
  //lcd.printNumberAsFloat(720);                     // 7.2 0
  //lcd.printNumberAsFloat(4);                       // 0.0 4
//  lcd.printV(18);                                  // 1.9 V
  //lcd.printNumber(14);                             //   1 4
  //lcd.printNumber(14, true); //with leading zero   // 0 1 4

    lcd.printNumber(-15 ,false, LcdType::SINGLE_DOT); 
  
}



void loop() {

//delay (1000);
  
}

jp112sdl
Beiträge: 4774
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 158 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

Re: AskSin++ LCD Unterstützung

Beitrag von jp112sdl » 25.03.2020, 15:57

LCDREVERSED muss ganz nach oben, über das #include

VG,
Jérôme

Benutzeravatar
Gelegenheitsbastler
Beiträge: 529
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 13 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Gelegenheitsbastler » 26.03.2020, 09:22

Alles funktioniert wunderbar. Durch eine kleine Änderung der Lcd6749.h in Zeile (ca.) 208 habe ich nun statt des unteren DOT als "Komma" den oberen DOT als "Gradzeichen" aktiviert. Nun ist die Anzeige so, wie ich sie haben wollte. Vielen Dank für die Hilfe.

Ein kleiner Hinweis, für den Fall, dass noch jemand das Problem hat:
Ich habe versucht, die Hintergrundbeleuchtung über Pin 6 (Pin 1 und 7 liegen beide auf GND) zu aktivieren. Dies führte zu einem Kurzschluss. Eine Erklärung dafür habe ich nicht, ausser dass der für die Aktivierung verbaute Transistor Q1 defekt ist. Da ich sowieso vor habe die Hintergrundbeleuchtung per PWM anzusteuern, habe ich den vorhandenen Transistor gegen einen BSS138 getauscht (weil ich ihn hier liegen hatte), einen 10k Widerstand zwischen G und S gelötet und es erneut versucht. Jetzt funktioniert es einwandfrei.
Rein informativ: R1 und R2 sind die Vorwiderstände der beiden LEDs für die Hintergrundbeleuchtung.
Dateianhänge
IMG_20200326_091914.jpg

Benutzeravatar
Gelegenheitsbastler
Beiträge: 529
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 13 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Gelegenheitsbastler » 26.03.2020, 14:15

Ich nutze einen Arduino Pro Mini mit 5V für das Projekt. Leider war die Anzeige daher etwas zu kontrastreich, weshalb ich ein Poti zur Einstellung des Kontrastes eingebaut habe. Hierzu habe ich R4 entfernt und den Bereich unter dem Poti (20k) mit Kapton Tape abgeklebt. Damit der eingestellte Widerstand nicht zu gering ist, habe ich einen 10k in Reihe zum Poti geschaltet. So lässt sich der Kontrast nun wunderbar einstellen. Vielleicht ist die Idee für den einen oder anderen mal hilfreich. Je länger ich mich mit diesem Display beschäftige desto interessanter wird es. Unglaublich, dass es nur 0,25 Euro kostet...

Eine Frage an die Software-Wissenden: Wäre es möglich, zwei der Displays an einem µC zu betreiben? Falls ja, was genau müsste hierzu geändert werden?
Dateianhänge
IMG_20200326_141815.jpg
IMG_20200326_141423.jpg

jp112sdl
Beiträge: 4774
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 158 Mal
Danksagung erhalten: 336 Mal
Kontaktdaten:

Re: AskSin++ LCD Unterstützung

Beitrag von jp112sdl » 26.03.2020, 14:32

Gelegenheitsbastler hat geschrieben:
26.03.2020, 14:15
Wäre es möglich, zwei der Displays an einem µC zu betreiben? Falls ja, was genau müsste hierzu geändert werden?
Denke ja.
WR und DATA parallel klemmen, jedes LCD bekommt seinen eigenen CS.

Code: Alles auswählen

#define LCD_CS_1  9
#define LCD_CS_2  8

#define LCD_WR   3
#define LCD_DATA 7

LCD6749<LCD_CS_1, LCD_WR, LCD_DATA> lcd1;
LCD6749<LCD_CS_2, LCD_WR, LCD_DATA> lcd2;

VG,
Jérôme

Benutzeravatar
Gelegenheitsbastler
Beiträge: 529
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 13 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Gelegenheitsbastler » 28.03.2020, 07:04

Es funktioniert alles wunderbar. Sollte Interesse bestehen, stelle ich das Projekt und den Hintergrund der Anzeige gerne vor.
Vielen Dank noch einmal an Jérôme, ohne dessen Hilfe ich den Sketch für das zweite Display nicht hin bekommen hätte!

Garagenloeter
Beiträge: 218
Registriert: 04.07.2018, 21:52
Hat sich bedankt: 6 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Garagenloeter » 01.04.2020, 17:42

natürlich ist das von Interesse.

Benutzeravatar
Gelegenheitsbastler
Beiträge: 529
Registriert: 15.10.2017, 07:29
Hat sich bedankt: 13 Mal
Danksagung erhalten: 10 Mal

Re: AskSin++ LCD Unterstützung

Beitrag von Gelegenheitsbastler » 02.04.2020, 10:05

Da sich im Unterforum "Projektvorstellungen" wirklich nur HM Projekte befinden, schreibe ich es in diesen Thread und fasse mich kurz, da es ja eigentlich nichts mit HM zu tun hat.

Ich habe eine Stromsenke gebaut, um Netzteile und Akkus testen zu können. Die Kühlkörper werden mitunter recht warm. Um zu sehen, wie sich die Temperatur an den einzelnen Kühlkörpern entwickelt, war mein ersten Gedanke, die Temperaturen zyklisch auf einem Display darzustellen. Das Problem ist nur, dass man bei einer Temperaturüberschreitung nicht sofort erkennen kann, welcher der Kühlkörper zu warm wird. Daher habe wurde jedem Kühlkörper ein eigenes LCD spendiert. Die Hintergrundbeleuchtung wird per PWM angesteuert und ist während des normalen Betriebes aktiv, aber nicht allzu hell.

Wird ein im Sketch voreingestellter Wert überschritten, ertönt in einer einstellbaren Anzahl von Intervallen ein Piezo Buzzer. Gleichzeitig fängt die Hintergrundbeleuchtung des betroffenen LCD an, zwischen PWM 0 und 255 zu blinken. So kann ich sofort erkennen, welcher Kühlkörper zu warm wird.

Gleichzeitig ist es durch die einzelnen Displays aber auch möglich, einen evtl. defekten Mosfet zu erkennen, weil der Kühlkörper deutlich kälter bleibt als die anderen.

Hier noch ein Foto, aus dem hervorgehen sollte, worum es geht.
Dateianhänge
IMG_20200330_161431.jpg

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“