1602 LCD on RPi B+

From EnigmaGuy Wiki
Jump to navigation Jump to search

What will be needed?

  • SaintSmart 1602 backlighted I2C LCD (search E-Bay for "1602 LCD I2C")

1602 LCD I2C

  • MB102 BreadBoard (also available on E-Bay)
  • Raspberry PI GPIO Extension Board v2.2

GPIO board

  • Bi-Directional Module 5V to 3.3V

3.3 to 5V converter

  • Male to Female Dupont wires
  • 140pcs Solderless Breadboard Jumper Cable Wire Kit

Jumper cable kit

Final connection

Final Connection

Software

  • Login to Raspberry Pi B+
  • sudo vi /etc/modules and add following
i2c-dev
  • sudo vi /etc/modprobe.d/raspi-blacklist.conf and comment following
# blacklist spi and i2c by default (many users don't need them)

#blacklist spi-bcm2708
#blacklist i2c-bcm2708
  • Run following commands and reboot
sudo adduser pi i2c
reboot
  • Connect LCD and run "i2cdetect -y 1" to find where is the device connected
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --
  • Install neccesary software
sudo apt-get install python-smbus
mkdir ~/lcd
cd ~/lcd
git clone https://bitbucket.org/thinkbowl/i2clibraries.git
  • Add main script, "vi ~/lcd/main.py"
#!/usr/bin/python

from i2clibraries import i2c_lcd_smbus

lcd = i2c_lcd_smbus.i2c_lcd(0x27,1, 2, 1, 0, 4, 5, 6, 7, 3)

lcd.command(lcd.CMD_Display_Control | lcd.OPT_Enable_Display)
lcd.backLightOn()
lcd.writeString("Raspberry Pi")
lcd.setPosition(2, 0)
lcd.writeString("Rules!")
  • Everything should works fine now!