This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| en:iot-open:practical:hardware:sut:esp32:emb5_1 [2024/02/25 22:22] – pczekalski | en:iot-open:practical:hardware:sut:esp32:emb5_1 [2024/03/22 10:34] (current) – [Project information] pczekalski | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== EMB5: Using LCD Display ===== | ||
| + | Alphanumerical LCD is one of the most popular output devices in the Embedded and IoT. Using LCD with predefined line organisation (here, 2 lines, 16 characters each) is as simple as sending a character' | ||
| + | |||
| + | In this scenario, you will learn how to handle easily LCD to present information and retrieve it visually with a webcam. | ||
| + | |||
| + | ===== Prerequisites ===== | ||
| + | Familiarise yourself with a hardware reference: this LCD is controlled with 6 GPIOs as presented in the "// | ||
| + | You are going to use a library to handle the LCD. It means you need to add it to your '' | ||
| + | <code bash> | ||
| + | lib_deps = adafruit/ | ||
| + | </ | ||
| + | |||
| + | ===== Suggested Readings and Knowledge Resources ===== | ||
| + | * [[en: | ||
| + | * [[en: | ||
| + | * [[en: | ||
| + | * [[en: | ||
| + | ===== Hands-on Lab Scenario ===== | ||
| + | |||
| + | ==== Task to be implemented ==== | ||
| + | Draw "Hello World" in the upper line of the LCD and "Hello IoT" in the lower one. | ||
| + | |||
| + | ==== Start ==== | ||
| + | Check if you can see a full LCD in your video stream. Book a device and create a dummy Arduino file with '' | ||
| + | |||
| + | |||
| + | ==== Steps ==== | ||
| + | |||
| + | === Step 1 === | ||
| + | Include the library in your source code: | ||
| + | <code c> | ||
| + | #include < | ||
| + | </ | ||
| + | |||
| + | === Step 2 === | ||
| + | Declare GPIOs controlling the LCD, according to the hardware reference: | ||
| + | <code c> | ||
| + | #define LCD_RS 2 | ||
| + | #define LCD_ENABLE 1 | ||
| + | #define LCD_D4 39 | ||
| + | #define LCD_D5 40 | ||
| + | #define LCD_D6 41 | ||
| + | #define LCD_D7 42 | ||
| + | </ | ||
| + | |||
| + | === Step 3 === | ||
| + | Declare a static instance of the LCD controller class and preconfigure it with appropriate control GPIOs: | ||
| + | <code c> | ||
| + | static Adafruit_LiquidCrystal lcd(LCD_RS, LCD_ENABLE, LCD_D4, LCD_D5, LCD_D6, LCD_D7); | ||
| + | </ | ||
| + | |||
| + | === Step 4 === | ||
| + | Initialise class with display area configuration (number of columns, here 16 and rows, here 2): | ||
| + | <code c> | ||
| + | lcd.begin(16, | ||
| + | </ | ||
| + | |||
| + | === Step 5 === | ||
| + | Implement your algorithm. The most common class methods that will help you are listed below: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ==== Result validation ==== | ||
| + | You should be able to see "Hello World" and "Hello IoT" on the LCD now. | ||
| + | |||
| + | <WRAP noprint> | ||
| + | ===== Project information ===== | ||
| + | {{: | ||
| + | This Intellectual Output was implemented under the Erasmus+ KA2.\\ | ||
| + | Project IOT-OPEN.EU Reloaded – Education-based strengthening of the European universities, | ||
| + | Project number: 2022-1-PL01-KA220-HED-000085090. | ||
| + | |||
| + | **__Erasmus+ Disclaimer__**\\ | ||
| + | This project has been funded with support from the European Commission. \\ | ||
| + | This publication reflects the views of only the author, and the Commission cannot be held responsible for any use that may be made of the information contained therein. | ||
| + | |||
| + | **__Copyright Notice__**\\ | ||
| + | This content was created by the IOT-OPEN.EU Reloaded consortium, 2022, | ||
| + | The content is Copyrighted and distributed under CC BY-NC [[https:// | ||
| + | <figure label> | ||
| + | {{: | ||
| + | </ | ||
| + | |||
| + | </ | ||