Home » 산딸기 가지고 놀기 » 라즈베리파이 활용강좌 : 라즈베리파이 그래픽 LCD 연결하기(Python)

Nokia5110(PCD8544) 그래픽 LCD 연결하기(Python)

im120424001_3

[사진1] Nokia 5110(PCD8544)

 

안녕하세요 산딸기마을 이장 나무꾼 입니다.

어제는 멀티파이를 이용해 라즈베리파이 모니터링 시스템을 제작해 보았는데요.

C 언어만을 사용한 부분이라 라즈베리파이에서 많이 사용되어 지는 또다른 언어인 Python 라이브러리가 없을까 하고 찾아보던 중 괜찮은 오픈소스가 있어 공개를 해 드립니다.

실제로는 가장 처음에 이 파이썬 라이브러리를 배포한 배포자는 C 언어를 사용한 유저처럼 wiringPi 소스 내부를 수정까지 해서 사용이 어려운 점이 있어 두번째 파이선용을 이용해 구현한 자료를 구했습니다.

자 그럼 이제부터 파이썬을 이용한 그래픽 LCD 제어를 해 보도록 하겠습니다.

 

1.  하드웨어 제작

가장 먼저 아래 데이터시트와 라즈베리파이 핀 연결배치도를 참고해 라즈베리파이와 Nokia5110(PCD8544) 를 연결 해 보도록 합니다.

추가적으로 멀티파이를 이용 중인 유저를 위해 멀티파이 GPIO 배치도를 추가로 올립니다.

spec

[그림1]  PCD8544 데이터시트

wiring-diagram

[그림2]  라즈베리파이 PCD8544  핀 배치도

multipi_gpio

[그림3]  라즈베리파이 멀티파이 GPIO 

그림1

 [사진2] 라즈베리파이 멀티파이 브레드PCB(3.3v)에 Nokia5510 장착모습

 

2. 소프트웨어 설치

2.1. wiringPi 다운로드 및 빌드

2.1.1. wiringPi git hub 다운로드

pi@rasplay ~ $ git clone git://git.drogon.net/wiringPi

 

2.1.2.  wiringPi build 하기

pi@rasplay ~/wiringPi $ cd wiringPi
pi@rasplay ~/wiringPi $ ./build
pi@rasplay ~/wiringPi $ gpio readall

그림2 [사진 3] gpio 리스트

 

2.2. wiringPi python 준비하기

 

2.2.1. wiringPi 파이썬 바인딩

pi@rasplay ~ $ sudo apt-get install python-dev python-imaging python-imaging-tk python-pip
pi@rasplay ~ $ sudo pip install wiringPi

 

2.2.1. spidev  활성화 및 라이브러리 설치하기

pi@rasplay ~ $ sudo nano /etc/modprobe.d/raspi-blacklist.conf

# blacklist spi and i2c by default (many users don’t need them)

#blacklist spi-bcm2708 (주석처리를 합니다.)
blacklist i2c-bcm2708

 

pi@rasplay ~ $ sudo pip install spidev

 

2.3. pcd8544 라이브러리 다운로드 및 빌드

 

2.3.1. pcd 라이브러리 다운로드

pi@rasplay ~ $ git clone https://github.com/XavierBerger/pcd8544.git

 

2.3.2. pcd8544 라이브러리 빌드

pi@rasplay ~ $ cd pcd8544
pi@rasplay ~/pcd8544 $ sudo ./setup.py clean build 
pi@rasplay ~/pcd8544 $ sudo ./setup.py install 

 

2.3.3. Nokia5110 LCD 테스트

pi@rasplay ~/pcd8544/examples $ sudo  ./custom_char.py

그림3

 

[참고사이트]

http://www.rasplay.org/?p=4716

https://github.com/XavierBerger/pcd8544

https://github.com/rm-hull/pcd8544

http://elinux.org/Rpi_Low-level_peripherals#General_Purpose_Input.2FOutput_.28GPIO.29

http://www.raspberrypi.org/phpBB3/viewtopic.php?p=301522#p301522

산딸기마을 포스트 검색

공동제작 공동프로젝트 무상후원 기관

산딸기마을 기부하기

산딸기마을 방문자 현황

Flags Countries Visits Page views
South Korea 626063 1845660
United States 10882 26091
Japan 5011 13204
Germany 2755 5151
India 1897 2902
Canada 1729 4640
United Kingdom 1596 2642
Australia 1240 2901
Russia 1219 1677
China 1077 2239
Total Pageviews: 1936700