Zum Inhalt springen
Arduino LCD Komplimentmaschine

Kompliment-Maschine mit Arduino

    Eigentlich kann man doch gar nicht oft genug hören, wie toll man ist. Dafür bauen wir uns nun eine Kompliment-Maschine.

    LCD-Displays können Texte anzeigen. Dafür muss man erst die Pins anlöten, dann müssen noch ein paar Pins angeschlossen werden. 

    LCD steht übrigens für liquid crystal display.


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Schaltplan

    Der RS Pin kommt an Digital 12 des Arduino-Boards, der Enable Pin an Digital 11, dann die Daten Pins 4 bis 7 an Digital 5 bis 2.

    Arduino LCD Schaltung Circuit Breadboard

    Ein Vorwiderstand für die LED und Stromversorgung kommt an den Hintergrund-Beleuchtungspin. Mit einem Poti können wir noch den Kontrast kalibrieren. 

    Code

    #include <LiquidCrystal.h>
    
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    
    String zeileEins[]={"Boa, siehst Du  ", "Deine Hater    ", "Du hast sooo    ", "Heute ist Dein ", "Lecker wie Pizza", "Ja man, drueck"};
    String zeileZwei[]={"heute geil aus! ", "lieben Dich!!  ", "schoene Augen.  ", "GLUECKSTAG!!!  ", "Burger-Sushi!   ", "meinen Knopf!"};
    
    int anzahl = 6;
    
    void setup() {
      randomSeed(analogRead(0));
      
      lcd.begin(16, 2);
    
      int i = random(anzahl);
    
      lcd.setCursor(0, 0);
      lcd.print(zeileEins[i]);
    
      lcd.setCursor(0, 1);
      lcd.print(zeileZwei[i]);
     
    }
    
    void loop() {
          
    }

    Code-Erklärungen

    Im Code importieren wir zuerst die LCD-Library:

    #include <LiquidCrystal.h>

    Jetzt legen wir das LCD-Objekt an. In die Klammern kommen die Pins, die wir benutzt haben:

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    Das LCD soll Texte anzeigen. Dazu nehmen wir die Variable String. String ist ein Variablentyp, der Zeichenketten speichern kann. Ein Text reicht mir nicht, also machen wir ein Array draus. Ein Array aus Strings.

    Das LCD hat zwei Zeilen, also müssen wir die Botschaften in zeileEins und zeileZwei teilen. Da sich die Stellen des LCDs nicht automatisch löschen, füge ich so viele Leerzeichen ein, wie die LCD-Zeile lang ist, nämlich 16 Zeichen.

    Eine Variable nehme ich noch um zu speichern, wie viele Botschaften es gibt.

    Das ganze Programm läuft im Setup. Es wird also bei jedem Reset genau ein Mal ausgeführt werden.

    Zufälle im Computer sind leider nicht sehr zufällig. Deshalb starten wir den Zufalls-Nummern-Generator mit:

    randomSeed(analogRead(0));

    Mehr Infos dazu hier auf Arduino.cc.

    Das LCD wird mit Zeichenlänge und Zeilenanzahl angelegt:

     lcd.begin(16, 2);

    Jetzt erzeugen wir eine zufällige Zahl zwischen 0 und der Anzahl der Botschaften:

    int i = random(anzahl);

    Zeile 1 wird ausgegeben, Zeile 2 wird ausgegeben:

    lcd.setCursor(0, 0);
    lcd.print(zeileEins[i]);
    
    lcd.setCursor(0, 1);
    lcd.print(zeileZwei[i]);

    Lade das Programm aufs Arduino-Board.

    Den Reset-Knopf des Arduino-Boards kannst du nun benutzen, um eine neue Botschaft zufällig ausgeben zu lassen.

    Titelbild: M. Muecke (www.kankuna.de), BY-CC-SA


    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

     

    Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.