====== LC Display ====== Wir verfügen über LCD Displays mit angelötetem I2C Bus, was den Anschluß und die Ansteuerung des Displays vereinfacht. [[https://funduino.de/nr-19-i%C2%B2c-display|Eine Anleitung findest du hier]] oder {{.:i2c_lcd.pdf|hier als PDF}}. | {{.:lcd1.jpg?220}} | {{.:lcd2.jpg?220}} | ===== Basisaufgabe ===== {{ :nwt:arduino:bauteile:i2c_display:bibliothek.png?300|}} Nimm das Display in Betrieb - um das Display anzusteuern, benötigst du Arduino "Bibliotheken". Was sind Bibliotheken? Halte eine Erklärung als Merksatz in deinem Protokoll fest. Verwende die verlinkte Anleitung und die folgende Bibliothek: {{.:arduino-liquidcrystal-i2c-library-master.zip|}} ((Quelle: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library)) Installation der Bibliothek: * ZIP-Datei herunterladen * In der Arduino IDE Menü -> "Sketch" -> "Bibliothek einbinden..." -> "ZIP-Bibliothek hinzufügen" * Dort die heruntergeladene ZIP-Datei auswählen Der folgende Beispielsketch gibt die Zeichenkette "Hello World!" auf dem Display aus: #include #include // Set the LCD address to 0x27 for a 16 chars and 2 line display LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { // initialize the LCD lcd.begin(); // Turn on the blacklight and print a message. lcd.backlight(); lcd.print("Hello, world!"); } void loop() { // Do nothing here... } Um das Display anzusteuern, muss man also stets mehrere Schritte abarbeiten: * Bibliotheken einbinden * Zugriff auf das Display über die Variable "lcd" herstellen: ''LiquidCrystal_I2C lcd(0x27, 16, 2);'' * Display initialisieren: ''lcd.begin();'' * Sachen ausgeben: ''lcd.print("was ich mag");'' Man kann natürlich auch im loop des Sketches nacheinander immer wieder Sachen af das Display schreiben. [[.lcd_bib:start|Hier findest du eine Übersicht über die Befehle der Bibliothek]]. **Wichtig:** Wenn kein Text zu sehen ist, aber die Hintergrundbeleuchtung des Displays mit ''lcd.backlight();'' bzw ''lcd.noBacklight();'' an und ausgeschaltet werden kann, muss man die Kontrasteinstellungen des Displays mit einem kleinen Schraubenzieher am blauen Poti auf der Rückseite so verändern, dass der Text sichtbar wird. Die Adresse unserer Displays ist 0x27, sollten hier Probleme auftreten, kann man die Displayadresse mit dem folgenden Sketch suchen: {{.:i2c_scan.ino.zip|}}. Sketch auspacken, öffnen und auf den Arduino laden, seriellen Monitor öffnen und auf 9600 Baud einstellen, Ausgaben abwarten. ===== Ergänzungen ===== ==== Ergänzung 1 ==== Programmiere einen "Quadratezähler", der für alle Zahlen von 1 bis 20 die Zahl und das Quadrat der Zahl auf dem Display ausgibt. Zwischen den Ausgaben soll eine Pause erfolgen, so dass man die Ausgabe lesen kann. Als Hilfestellung solltest du zuerst noch das [[:faecher:nwt:arduino:lernbaustein1:for_schleife:start|Kapitel "Die For-Schleife"]] aus dem Lernbaustein Arduino I bearbeiten. ==== Ergänzung 2 ==== Baue eine einfache Stoppuhr: Bearbeite den [[ faecher:nwt:arduino:lernbaustein1:wechselschalter:start|"Eingabe mit Wechselschaltern"]] im Lernbaustein und verwende das Gelernte, um mit dem Display einen Sekundenzähler zustarten, wenn der Wechselschalter gedrückt wird und den Zähler zu stoppen, wenn der Schalter losgelassen wird. {{tag> ardubauteil}}