Zum Inhalt springen

Flüssigkristallanzeige

starlightViewModes.switchTo

Das Liquid Crystal Display besteht aus 16 Zeichen in einer Reihe und 2 Zeilen insgesamt. Es unterstützt die gesamten lateinischen, chinesischen und weiter Zeichensätze plus einige Emoji.

Für die Verwendung des Display empfiehlt sich lcd.c und lcd.h.

Aufbau

Aufbau eines LCDs am ATmega 328p Grid eines LCDs

Code

Das LCD hat einige Möglichkeiten, Zeichen zu verändern, zu löschen und hinzuzufügen.

Schreibe Zeichen

Man kann einzelne Zeichen mit lcd_putc('s') aufs Display schreiben oder einen ganzen String:

lcd_puts("trueberryless");

Display leeren

Um alle Zeichen auf dem Display wieder zu löschen:

lcd_clrscr();

Bewege Zeichen

Wenn man alle Zeichen um eins nach links bewegen möchte, kann man das machen:

lcd_command(LCD_MOVE_DISP_LEFT);

Dies ist äußerst hilfreich, wenn ein Text übers Display laufen soll.

Example Project

#define F_CPU 16000000
#include <avr/io.h>
#include <avr/interrupt.h>
#define __DELAY_BACKWARD_COMPATIBLE__
#include <util/delay.h>
#include "lcd.h"
#include "dht.h"
int main(void)
{
char buffer[16];
int8_t temperature = 0;
int8_t humidity = 0;
lcd_init(LCD_DISP_ON);
while(1) {
if (dht_gettemperaturehumidity(&temperature, &humidity) != -1) {
sprintf(buffer, "T: %u C, H: %u", temperature, humidity);
lcd_puts(buffer);
lcd_puts("%");
}
else {
lcd_puts("Error");
}
_delay_ms(2000);
lcd_clrscr();
}
}

Downloads

lcd.c lcd.h