X-Git-Url: https://vault307.fbx.one/gitweb/RPI-PICO-I2C-LCD.git/blobdiff_plain/5a28dd1a8953917db95095ee78dbbb08efceb6ba..5a0d9929dec32f0fa0736cb32981e6e4b8b3e319:/README.md?ds=inline diff --git a/README.md b/README.md index 037e92e..e324201 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ Usage: - Open Thonny IDE with the 3 files - Make pin edits or setup changes (See below for options) - DO NOT EDIT FILE NAMES! -- In Thonny, go to top menu File => Save Copy => Raspberry Pi Pico and save each .py file to the board. -- Switch to the pico_i2c_lcd_test.py and click run. This should be able to initalize the LCD display if settings are right. +- In Thonny, go to top menu File => Save Copy => Raspberry Pi Pico and save each file to the board with the same name as downloaded and with a .PY extension when saving it to the board. +- Switch to the pico_i2c_lcd_test.py (this is the main file) and click run. This should be able to initalize the LCD display if settings are right. - If you get errors, see below for a known list of errors and their fixes - Wiring Diagram LCD_bb.jpg! Please look here for a fritzing diagram! @@ -34,12 +34,24 @@ in my case, the decimal addr. was 39 which converts to 0x27 in hex. - Ensure that your SCL and SDA pins are selected properly in accordance with the Pico's pin table. These connect to the low voltage side of the translator with a 3.3V Reference from the board. The high voltage side gets a 5V reference from the VBUS pin of the Pico. - Finally, assure the I2C_NUM_ROWS and I2C_NUM_COLS are set properly! -Usage: +Functions / Usage: -Printing is simple :lcd.putstr("") This requires a string input! if you want to feed a changing value such as a temperature, it must be: lcd.putstr(str(Variable)) +These are the python commands used in a program! (They can all be found in the lcd_api.py file with definitions to their functions) +- lcd.putstr("Text goes here!") - Send a string of chars to the display IMPORTANT: Use this for printing a variable: lcd.putstr(str(Variable)) [Turns variable into string] +- lcd.show_cursor() / lcd.hide_cursor() - Show / Hide the cursor of the lcd (White bar) +- lcd.blink_cursor_on() / lcd.blink_cursor_off() - Turn on / Off the blinking cursor upon printing +- lcd.backlight_on() / lcd.backlight_off() - Turn on / Off backlight of the LCD (Controlled by a small transistor on the backpack) +- lcd.display_on() / lcd.display_off() - Turn on / Off the display (Not backlight but the entire chip) +- lcd.clear() - Clear all chars or anything written to the display +- lcd.move_to(Col, Row) - Move to position based on row and col values (Y, X) +- lcd.custom_char(Num, bytearray([HEX chars]))) - Num can be any integer 0 - 8 (Writing to CGRAM locations) merely used for numbering. The HEX chars are simply made by using this link: https://maxpromer.github.io/LCD-Character-Creator/. It will provide a string of Hex charecters which can replace the "HEX chars" in the example command. Errors: OSERROR : 5 (This is quite a common error, 5 means I/O error. Check Your connections. This means codes can't be sent or recieved ensure SCL and SDA are properly connected through the level translator! -Feel to leave comments or questions and I will try to answer them as quick as possible! +Feel to leave comments or questions / issues and I will try to answer / resolve them as quick as possible! + +For people wondering how to use this code, Tinkernut on Youtube created a very nice guide + some more features! https://www.youtube.com/watch?v=B8Kr_3xHjqE&t + +