Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Peguino LCD Display Brick
#1
Peguino LCD Display Brick


Dieser Peguino Baustein beinhaltet ein zweizeiliges Textdisplay. Mit diesem Baustein können vielerlei unterscheidliche Projekte realisiert werden. Z.B. kann hiermit die Temperatur des Peguino Climate Brick angezeigt werden.

[Image: LCD_Display_brick_01b.png]


Hinweis: Dieser Baustein kommuniziert mit dem Peguino Uno Brick über das I2C Kommunikationsprotokoll. Da jeder I2C-Baustein wie er in dem Display verwendet wird eine eigene Adresse haben kann muss diese zunächst ermittelt werden. Hierfür kann der "I2C Adressscanner" in den Programmscripten unten verwendet werden. Mit diesem Skript wird die Adresse des Displays ermittelt. Diese Adresse wird für das zweite Programmscript unten benötigt und muss dort an entsprechender Stelle eingefügt werden.


Beispiel für Peguino Uno Nano und Peguino Uno ESP32 V1:

Um die korrekte I2C Adresse zu ermitteln muss das OLED Display mit dem Port B verbunden werden. Dieses Programm ist für den Peguino Uni Nano und Peguino Uno ESP32 identisch.


I2C Adressscanner

Kopiere das Programmskript unten (CTRL+C) und füge es in die Arduino IDE ein (CTRL+V). Kompiliere und übertrage das fertige Programm mit der Arduino IDE auf das Peguino Uno Board.

Kopiere die mit dem Adressscanner ermittelte Adresse anshließend in das zweite Codebeispiel unten.

Code:
/*
  I2C Address Scanner
  (C) 2018 by Peguino LTD
  Connect the Brick to scan to port B (eg. OLED Display Brick or LCD Display Brick...)
  Version 1
 
  Note: Use the Serial Monitor to see the found Address


  Peguino Uno Nano Board Pinout       Peguino Uno ESP 32 Development Board Pinout
             ┌─╥─┐                          ┌─╥─┐
     D_13  1 │     │ 30  D_12       3.3     1 │     │ 30  5V
    3.3 V  2 │     │ 29  D_11       GND     2 │     │ 29  GND
     AREF  3 │     │ 28  D_10       GPIO15  3 │     │ 28  GPIO13
 D_14 A_0  4 │     │ 27  D_9        GPIO2   4 │     │ 27  GPIO12
 D_15 A_1  5 │     │ 26  D_8        GPIO4   5 │     │ 26  GPIO14
 D_16 A_2  6 │     │ 25  D_7        GPIO16  6 │     │ 25  GPIO27
 D_17 A_3  7 │     │ 24  D_6        GPIO17  7 │     │ 24  GPIO26
 D_18 A_4  8 │     │ 23  D_5        GPIO5   8 │     │ 23  GPIO25
 D_19 A_5  9 │     │ 22  D_4        GPIO18  9 │     │ 22  GPIO33
      A_6 10 │     │ 21  D_3        GPIO19 10 │     │ 21  GPIO32
      A_7 11 │     │ 20  D_2        GPIO21 11 │     │ 20  GPIO35
       5V 12 │     │ 19  GND        GPIO3  12 │     │ 19  GPIO34
    Reset 13 │     │ 18  Reset      GPIO1  13 │     │ 18  GPIO39
      GND 14 │     │ 17  D_0 RX     GPIO22 14 │     │ 17  GPIO36
 Power In 15 │     │ 16  D_1 TX     GPIO23 15 │     │ 16  Chip enable
             └───┘                          └───┘
  Visit https://www.peguino.com    

        
*/
     
    #include <Wire.h>
     
    void setup()
    {
      Wire.begin();     
      Serial.begin (115200);        // Press Ctrl+Shift+M and set the serial monitor to the same baud rate!
      Serial.println("Peguino I2C OLED Display Scanner");
    }
     
     
    void loop()
    {
      byte error, address;
      int nDevices;
     
      Serial.println("Scanning...");
     
      nDevices = 0;
      for(address = 1; address < 127; address++ )
      {
        Wire.beginTransmission(address);
        error = Wire.endTransmission();
     
        if (error == 0)
        {
          Serial.print("OLED Display found at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.print(address,HEX);
          Serial.println("  !");
     
          nDevices++;
        }
        else if (error==4)
        {
          Serial.print("Unknown error at address 0x");
          if (address<16)
            Serial.print("0");
          Serial.println(address,HEX);
        }    
      }
      if (nDevices == 0)
        Serial.println("No I2C devices found\n");
      else
        Serial.println("done\n");
     
      delay(500);     
    }


Im Serial Monitor der Arduino IDE wird nun die Adresse angezeigt (siehe Beispiel unten):

[Image: LCDDisplay_scanadress_01.png]


Füge die Adresse (im Beispiel oben lautet die Adresse 0x27) in das Programmscript aus dem Beispiel unten an entsprechender Stelle ein...

Für das Peguino LCD Display wird eine spezielle Funktionsbibliothek benötigt. Diese kann in die Arduino IDE mit folgenden Schritten eingefügt werden.

  1. Drücken und halten der Tasten  CTRL + Hochstellen + I um den " Library Manager" zu öffnen.
  2. Tippe "LiquidCrystal_I2C" in das Eingabe-Suchfeld ein und wähle dann "LiquidCrystal I2C library by Franz de Brabander" aus. Mit einem Klick auf "Install" wird die Funktionsbibliothek installiert.

Kopiere das Programmskript unten (CTRL+C) und füge es in die Arduino IDE ein (CTRL+V). Kompiliere und übertrage das fertige Programm mit der Arduino IDE auf das Peguino Uno Board.


Code:
/*
LCD Display Brick
(C) 2018 by Peguino LTD
Connect the LED Display Display Brick to port B
Version 1

Note: Check the I2C Address Scanner script first to get the correct I2C Address

  Peguino Uno Nano Board Pinout       Peguino Uno ESP 32 Development Board Pinout
             ┌─╥─┐                          ┌─╥─┐
     D_13  1 │     │ 30  D_12       3.3     1 │     │ 30  5V
    3.3 V  2 │     │ 29  D_11       GND     2 │     │ 29  GND
     AREF  3 │     │ 28  D_10       GPIO15  3 │     │ 28  GPIO13
 D_14 A_0  4 │     │ 27  D_9        GPIO2   4 │     │ 27  GPIO12
 D_15 A_1  5 │     │ 26  D_8        GPIO4   5 │     │ 26  GPIO14
 D_16 A_2  6 │     │ 25  D_7        GPIO16  6 │     │ 25  GPIO27
 D_17 A_3  7 │     │ 24  D_6        GPIO17  7 │     │ 24  GPIO26
 D_18 A_4  8 │     │ 23  D_5        GPIO5   8 │     │ 23  GPIO25
 D_19 A_5  9 │     │ 22  D_4        GPIO18  9 │     │ 22  GPIO33
      A_6 10 │     │ 21  D_3        GPIO19 10 │     │ 21  GPIO32
      A_7 11 │     │ 20  D_2        GPIO21 11 │     │ 20  GPIO35
       5V 12 │     │ 19  GND        GPIO3  12 │     │ 19  GPIO34
    Reset 13 │     │ 18  Reset      GPIO1  13 │     │ 18  GPIO39
      GND 14 │     │ 17  D_0 RX     GPIO22 14 │     │ 17  GPIO36
 Power In 15 │     │ 16  D_1 TX     GPIO23 15 │     │ 16  Chip enable
             └───┘                          └───┘
  Visit https://www.peguino.com    

         
*/

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2); // copy here the correct address in here. Replace the 0x27 with the Address your scan has provided!

void setup()
{
lcd.init(); // initialize the lcd
lcd.init();

lcd.backlight();
lcd.setCursor(0,0);   // 0,0 = start with the first character at first line (counting starts with zero!)
lcd.print("PEGUINO LCD");
lcd.setCursor(0,1); // 0,1 = start with the first character at the second line (counting starts with zero!)
lcd.print("Display Brick");

}

void loop()
{
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)