본문 바로가기
Team Project/한이음 프로젝트

라즈베리파이에 LCD 연결하기

전제 조건 :

라즈베리파이에 모니터, 키보드가 연결되어 있거나 ssh등 무선연결된 상태여야 한다.

lcd의 GND, VCC(5V), SDA, SCL을 라즈베리파이 또는 연결된 브레드보드에 잘 맞춰 점퍼와이어로 연결한다.

 

1. 파이썬 설치

$ sudo apt-get install python3

 

2. I2C Enable 설정

*I2C는 두 개의 신호선(SDA, SCL)으로 다수의 I2C 통신을 지원하는 디바이스와 데이터를 송/수신할 수 있는 통신방식.\

$ sudo raspi-config

3번 선택 - P5 선택 - <Yes>

 

3. SM bus 설치 (System Management)

*마더보드에 있는 저속도 장치들과 통신하는데 사용하는 간단한 2선 버스.

*I2C는 DS와 같이 Data를 주고 받기 위한 Protocol이며 외부상황에 의해 오류가 발생하는것에 대해서는 보증을 할 수 없습니다.

그에 반해 SMBus의 경우는 DM통신처럼 command와 PEC(Packet Error Checking) 기능이 포함되어 있습니다.

$ sudo apt-get install python3-smbus

 

4. I2C tools 설치

$ sudo apt-get install i2c-tools

i2c 개발시 디버깅을 도와주는 역할.

 

5. 모듈 추가

$ sudo vi /etc/modules

vi 편집기로 파일이 열리면

i2c-bcm2708

i2c-dev

내용 추가

 

6. 설정파일 수정

$ sudo vi /etc/modprobe.d/raspi-blacklist.conf

수정이라고 하는데... 나는 아예 파일을 새로 썼다. (그래도 되는건가? - 잘 됩니다)

 

7. 연결 확인

$ lsmod | grep i2c

 

$ i2cdetect -y 1

 

8. LCD 라이브러리 설치

$ git clone https://github.com/the-raspberry-pi-guy/lcd.git 

 

$ cd lcd

$ sudo sh install.sh

 

9. 라즈베리파이 파이썬 환경변수 설정

테스트 전에 환경변수 설정을 생략하였는데 잘 됐었다.

솔직히 이 과정을 왜 거쳐야하는지 완전히 이해하지 못했다.

그래도 문제가 생기면 단 하나의 해결방법일 수도 있기에...

// 파이썬 경로 확인

$ which python3

 

// PATH 설정 (bashrc 수정)

$ vi ~/.bashrc

export PATH=/usr/bin/python3:$PATH ( 맨 아래 추가 )

$ source ~/.bashrc

 

// 버전 확인

$ python3 -V

 

10. 테스트

ls 명령어로 주어진 예제 파일들을 확인하고 하나를 실행해본다.

$ python3 demo_clock.py

 

 

 

 

-

참고한 사이트

I2C와 SMBUS의 차이

유선이 pdf