2018년 11월 7일 수요일

40. Raspberry Pi를 이용한 volumio music player 만들기

0. 개요

  38번 에서 라즈베리파이 뮤직플레이어만들기를 했었습니다. 또 다른 방법으로 라즈베리파이를 이용하여 좀 더 쉽고 성능이 우수한 뮤직플레이어를 만들어 보겠습니다. 뮤직플레이어는 여러가지가 있을 수 있는데 여기서 만들고자 하는 것은 라즈베리파이, DAC, 스피커 그리고 소프트웨어는 스마트어플 volumio를 이용하여 만드는 것입니다. 스마트폰 어플로 제어하여 모니터를 대신할 수 있고 세계 각국의 실시간 인터넷 방송을 청취할 수 있습니다.고음질 성능을 위해서는 DAC나 스피커 사양에 따라서 비용이 많이 들 수 있지만 여기서는 최소 비용으로 고음질의 다양한 장르의 세계 각국의 실시간 인터넷 방송을 청취할 수 있는 뮤직플레이어를 제작하는 것이 목적입니다.

1. 준비물

라즈베리파이 3, DAC, 스피커,전원 어답터, 인터넷 케이블, 스피커케이블,점퍼선
라즈베리파이 3
스피커 케이블선


앰프
점퍼선

DAC
라즈베리용 전원어답터

스피커



위 준비물은 ,스피커 케이블,스피커를 제외하고 해외직구로 구입했습니다.

2. 회로도

 라즈베리파이 핀과 DAC의 핀을 바르게 아래 그림과 같이 바르게 연결합니다.DAC에 있는 오디오 선을 앰프와 연결합니다. 앰프에 있는 좌우 스피커선을 스피커의 선과 연결하면 됩니다.

참고로 라즈베리파이 숫자는 다음을 의미합니다.
2-> 5V
12->G1
35->G24
39->0V(즉 ground)
40->G29

3. 설치하기

 가.  SD Card Formatter를 설치하여 해당 SD카드를 포멧을 합니다.
 나. 볼르미오 사이트에 접속하여 다운받아 압축을 풀어 이미지파일을 생성하게 합니다.
 다.   Etcher 를 다운받아 설치합니다.
 라. 바탕화면에 Etcher을 클릭하여 볼루미오 이미지파일을 SD카드에 설치합니다.

4. 하드웨어 설치















 위 사진을 보면 맨위에는 라즈베리파이와 DAC를 설치하였습니다. 그 아래는 앰프로 라즈베리파이와 오디오 출력선고 연결했습니다. 맨 아래는 작은 스피커로 거실 한 모퉁이에 좁은 공간에 설치하게 돼서 모아서 설치했습니다. 스피커도 2개 8만원 들었습니다.

5. 볼루미오 구동하기
 가. 볼루미오 이미지파일을 설치한 SD카드를 라즈베리 파이에 장착합니다.
 나. 라즈베리파이를 구동시키면 ID와 password를 물어봅니다. 이때 모두 volumio라고 입력합니다.그러면 다음과 같이 초기화면이 나옵니다.
   












나. 인터넷주소 찾기

   불루미오 부팅한후
     sudo ifconfig 
    또는
     sudo ip addr show

복잡한 내용이 많이 나옵니다. 이 때 2째줄을 잘보시면(흰색네모 부분) intenet addr: 다음에 주소가 나옵니다. 이 주소를 기록했다가 스마트폰 어플 볼루미오를 처음 실행할 때 주소를 물어볼때 기록 했던 주소를 입력하면 실행됩니다. 인터넷 주소를 알아냈으면 키보드와 HDMI선을 제거합니다.





 

5. 스마트폰에 볼루미오 어플설치하기

라즈베리에 볼루미오가 설치되면 스마트폰 play store 에서 어플 volumio를 설치합니다. 이는 스마트폰에서 볼루미오를 구동하기 위해서입니다.

6. 실행하기

라즈베리파이 전원을 켜고 앰프를 on 시킨 상태에서 스마트폰 어플 볼루미오를 실행합니다.
처음 실행시키면 네트워크를 찾는데 화면 오른쪽 아래 설정을 누릅니다. 위3번 설명에서 찾은 인터넷 주소를 입력하면 정상적으로 실행됩니다. 그 이후에는 볼루미오만 실행하면 자동 인터넷 주소가 세팅되어  바로 음악을 들을 수 있습니다.













라벨:

2018년 2월 26일 월요일

39. 조이스틱으로 서보모터 제어하기

Step0. 개요

조이스틱은 게임을 할 때 많이 사용합니다. 우리가 자동차운전할 때 기어변속하는 스틱을 움직여 사용합니다.  스틱을 움직여 로봇의 움직임을 조정하는 것이나 의사가 환자의 수술을 할 때 스틱을 움직여 로봇수술을 하는 것, 건설현장에서 포크레인차가 땅을 파서 옮기는 작업도 조이스틱을 활용하는 것이라고 할 수 있습니다. 일상생활에서 조이스틱을 응용하는 사레는 많이 있을 것입니다.조이스틱은 임의의 움직임 즉 상하좌우 운동을 제어할 수 있 수 있습니다.이는 X,Y축의 움직임이라고 할 수 있습니다.

Step 1. 준비물

아두이노, 브레드보드, 조이스틱, 서보모터 2개, 점퍼선을 준비합니다.

브레드보드


아두이노(UNO)

점퍼선


서보모터







조이스틱

Step 2. 회로도


Step 3. 조립하기

조립한 모습 (바닥은 두꺼운 종이에 글루건으로 고정)

종이 박스를 적당한 크기로 잘라 각 부품을 글루건으로 고정시킵니다. 오른 쪽에는 브레드보드와 아두이노를 왼쪽에는 서보모터 2개와 조이스틱을 글루건으로 고정시켜놓습니다. 서보모터는 서로 움직일 때 닿지 않도록 적당한 거리를 둡니다. 서보모터는  X ,Y축을 구별할 수 있도록서로 수직이 되도록 합니다.

Step 4. 아두이노 코드

아두이노를 실행해서 아래 코드를 입력한 후 에라없이 컴파일하고 업로드하면 됩니다. 이때 반드시 입력하기 전에 툴에서 보드와 포트를 확인해야 합니다.

// add the servo libaray
#include <Servo.h>

// define our servos
Servo servo1;
Servo servo2;

//define joystic pins (Analog)
int joyX = 0;
int joyY = 1;

// variable to read the values from the analog pins
int joyVal;
void setup() {
 
servo1.attach(3);
servo2.attach(5);
}

void loop() {
  // read the value of joystic (between 0~1023)
  joyVal = analogRead(joyX);
  joyVal = map(joyVal,0,1023,0,180); // servo value between 0-180
  servo1.write(joyVal); //set the servo position according to the joystic value

  joyVal= analogRead(joyY);
  joyVal = map(joyVal,0,1023,0,180);
  servo2.write(joyVal);
  delay(15);
}

Step 5. 시연 동영상


Step 6. 후기

우연히 유투브 동영상을 보고 따라해 보고 나름대로 정리해서 올려보았습니다. 잘 응용하면 로봇팔이나 여러 동작을 유연하게 움직이는 물체에 이용할 수 있을 것 같습니다.블로그를 운영하면서 취미로 따라서 만들어 보았습니다.


2018년 2월 5일 월요일

38. 라즈베리파이 뮤직플레이어 만들기

Step 0. 개요

라즈베리파이를 이용하여 뮤직플레이어를 만들어보겠습니다. 라즈베리파이에 룬오디오 소프트웨어를 설치하고 하드웨어는 DAC(디지털신호를 아나로그 신호로 바꿔주는 오디오장치)와  Amp(HiFi Amplifier)를 연결하여 뮤직플레이어를 구축하려고 합니다. 룬오디오(runeaudio)는  MP3,여러나라의 다양한  인터넷 방송, PC의 음원 등 좋은 음질로 들을 수 있습니다. 유투브를 통하여 라즈베리 파이 뮤직플레이어 시연 동영상을 보고 여러 사이트를 복사하여 만들게 되었습니다.나만의 매력적인 뮤직플레어를 저렴한 가격으로 음악매니아로 들어서는 것도 좋을 것 같습니다.

Step 1. 준비물

준비물은 기본적으로 라즈베리파이 3 , DAC(Digital Analog Convert), 앰프(digital Player),스피커, 오디오케이블, 라즈베리파이 전원선(5V), 앰프전원선(12V), HDMI 케이블,점퍼선, SD카드(4GB이상), 모니터가 필요합니다. 
라즈베리파이3(5만원정도)


오디오케이블(5,000원정도)


PCM5102 DAC Decoder(알리익스프레스 구입:8554원)



HY502 Digital Display AMP(알리익스프레스 구입:17,245원)
EP-208스피커(국내인터넷쇼핑에서 구입 38000원X2개)
Step 2. 회로도
 라즈베리파이 핀과 DAC의 핀을 바르게 아래 그림과 같이 바르게 연결합니다.DAC에 있는 오디오 선을 앰프와 연결합니다. 앰프에 있는 좌우 스피커선을 스피커의 선과 연결하면 됩니다.
 참고로 라즈베리파이 숫자는 다음을 의미합니다.
2-> 5V
12->G1
35->G24
39->0V(즉 ground)
40->G29


전체적으로 설치한 모습(나중에 외형을 디자인하여 보기좋게 할 계획입니다)





외형은 일러스트레일러로 디자인하여 아크릴 가게에 맡겨서 글루건으로 붙였습니다.

Step 3. 소프트웨어 runeaudio설치  (주제 37을 참고하세요)

1. 먼저 룬오디오를 아래 사이트에서 다운 받습니다.
http://www.runeaudio.com
2. SD카드를 포멧합니다.(SDFormatter이용)
3.  만들어진 이미지파일을 SD메모리카드에 복사해 넣습니다.(win32DiskImager이용)
4. 이 SD메모리카드를 라즈베리파이에 삽입한 후 부팅합니다.


Step 4. 설정

여기서 설정이란 라즈베리파이가 runeaudio가 PCM5102 DAC Decode를 인식할 수 있도록 설정하는 것입니다. 그외 마우스커서 설정, 한글 설정을 해야합니다. 이를 위해 PUTTY를 다운받아 실행하면 아래 그림처럼 나오는데 host name을 runeaudio라고 입력합니다. 이는 윈도우에서  리눅스 작업을 할 수 있는 툴입니다. 즉 윈도우에서 라즈베리파이로 접속하기 위해서 입니다.





윈도우에서 아래그림 처럼 룬오디오가 나오는데 맨 윗줄에 ID와 다음줄 password를 물어봅니다.
이때 ID는 "root"
password는 "rune" 라고 입력하면 다음과 같은 화면을 볼 수 있습니다.
맨 아래줄처럼 sudo nano /boot/config.txt 입력하여 내용을 수정합니다.


여기서  빨간색 밑줄친 부분을 2곳을 찾아 "#"을 제거하고 Ctrl+x를 한다음 y를 눌러 저장하고 빠져나옵니다.





다시 라즈베리파이에서 sudo reboot하면 다음과 같은 초기화면이 나옵니다.



하지만 마우스 포인터가 보이지 않아 불편합니다. 알아보니 runeaudio는 기본적으로 터치스크린을 디폴트값으로 주어지기 때문에 마우스포인터가 보이지 않는 것입니다.
그래서 다음과 같이 수정합니다.


아까처럼 putty로 runeaudio에 접속합니다.
이어서 
sudo nano /root/.xinitrc
아래 그림처럼 내용이 나오는데 빨간색 부분에서
cursor no를
cursor yes로 바꿔주고 Ctrl+x 이어서 y를 눌러 저장하고 나옵니다.
sudo reboot하면 룬오디오에서 마우스 커서가 나옵니다.




다음으로 한글폰트를 설정해야 합니다. 룬오디오가 영문으로 되어있어 국내음원을 MP3통하여 들을 때 제목,가수명이 한글이 깨져서 나오므로 불편합니다. 한글화 작업을 하기 위해서 다음과 같이 합니다.
먼저 
Putty프로그램을 윈도우에서 실행합니다.
runeaudio 초기화면에서
ID: root
pw: rune
하고 입력합니다.
다음 다음 명령어를 입력합니다.
pacman -Syy
pacman -S ttf-baekmuk
sync
reboot

그러면 한글화 되면서 재부팅됩니다.
한글 폰트를 넣기 위해 폰트를 다운받고 압축을 풉니다.
cd
cd \root
cd & wget http://kldp.net/frs/download.php/1547//ttf-unfonts-1.0-1.pkg.tar.gz

Step 5. 룬오디오 시연 동영상

드디어 구축에 일단 성공했습니다. 처음으로 음원을 들어보고 인터넷 방송을 들어보니 음질이 매우 좋다고 느꼈습니다.이 동영상에서는 룬오디오를 부팅하는 과정이 있고, 초기화면에서 준비된 USB메모리카드를 오른쪽 아래 라즈베리파이에 미리삽입하여  MP3 음원을 들어보고 다음에는 임의의 인터넷 방송을 들어보는 동영상입니다. 인터넷 방송은 접속하는데 다소 시간이 걸립니다. 라이브러리 메뉴에는 라즈베리파이폴더안에 음원을 들을 수 있고 사용자가 인터넷방송을 할 수도 있게 되어있습니다.아직은 메뉴 모두 사용해보지는 못했습니다. 


Step 6. 마치는 글

여러 사이트를 검색하여 실제로 제작하는데 시간이 많이 소요해서 참고사이트를 다 기록못한채 작성되었습니다.주로 산딸기마을 참고하고 공부했습니다. 지금껏 라즈베리파이를 가지고 부분적으로 만들었으나 여기서는 한 작품을 만든 것으로 생각합니다.  전체 비용은 16만원 정도입니다. 경우에 따라서 스피커,전원케이블, 오디오선,앰프가 있다면 10만원이내가 들것이고 좋은 스피커를 선택한다면 비용이 많이 들 것입니다.  16X2 LCD모니터를 설치하여  실행했는데 멈추는 현상시간이 생겨 다시 제거하고 다시 설치했습니다.시간이 돼면 라즈베리파이에 무선 공유기를 설치하여 스마트폰어플을 통하여 룬오디오를 실행하여 수정하려고 합니다.아쉬운대로 일단 여기까지로 마치기로 하겠습니다.







라벨:

2018년 1월 21일 일요일

37. 라즈베리파이 게임기 만들기


Step 0  개요

라즈베리파이로 게임기를 만들어 보겠습니다. 1980년대 8비트 애플컴퓨터를 처음 만져보았을 때 컴퓨터게임을 해본 기억이 있습니다. 지금은 고해상도 윈도우게임이 있지만 라즈베리파이로 고전게임기를 만들어 보겠습니다. 인터넷에 소개된 내용대로 해보았지만 잘 되지 않아서 고생은 했지만 어쨌든 초보자 입장에서 여러 사이트를 참고하여 만드는데 성공했습니다.

Step1. 기본적인 절차

우선 라즈베리파이에 라트로피아(Retropie)라는 게임 에뮬레이터를 설치합니다. 이는 라즈베리파이를 부팅하면 바로 게임기형태의 초기화면이 보이게 되는 것입니다. 즉 게임을 할 수 있는 환경을 만드는 것입니다. 이렇게 되면 라즈베리파이가 게임기가 되는 것입니다.다음 여러 게임을 다운받아 에뮬레이터에 탑재하여 원하는 게임을 실행하면 됩니다. 여기서 여러게임이란 마메(MAME)게임을 말합니다.

Step2. 준비물

라즈베리파이 , 조이스틱, USB메모리카드

라즈베리파이3

조이스틱

Step3. 에뮬레이터 설치하기

1. 윈도우에서 먼저 SD카드메모리를 포멧을 합니다.
  
2. retropie사이트 접속하여 download 합니다.
위 사이트에서 모델에 따라 다운로드합니다. 내가 갖고있는 모델이 라즈베리파이3이므로 오른쪽 파일을 다운받았습니다.

3. 다운받은 파일을 이미지파일로 만듭니다. 이때 Win32 Disk Image툴을 이용합니다.


4. 다운받은 해당파일을 Read하고 준비된 usb메모리카드(2Mb이상)를 넣고 Write하면 됩니다.
read

write

Step 4. 게임 다운받아 올리기

사용할 게임은 마메게임으로 고전게임이 돼겠습니다. 여러사이트에 검색하면 많이 나옵니다.게임은 32비트 , 64비트용이 있으므로 해당 PC에 알맞은 것을 다운 받으면 됩니다.
참고로 나는 아래 사이트를 이용했습니다. 다운받을 수 있는 사이트는 매우 많으니 잘 선택하여 다운받으면 됩니다.

마메롬파일 다운받은 곳: http://mamev.tistory.com
32비트마메 에뮬레이터: http://www.kbench.com/software/?q=node/62732

다운받은 파일을 레트로피아 롬에 저장하면 됩니다.
여기서 다운받은 파일을 라즈베리에 저장해야하는데 삼바를 이용하면 편리합니다. 삼바는  윈도우상에서 라즈베리파이에 접근하여 파일관리가.즉 윈도우에서 네트웍으로 라즈베리에 접근하여 윈도우에 있는 파일을 라즈베리로 파일복사 붙이기, 삭제,이동이 가능하게 됩니다. 그렇지 않으면 USB메모리에 파일을 복사하여 라즈베리를 부팅하여 붙이기하는 번거롭고 복잡한 작업을 하게되어 불편하게 됩니다.
일단 삼바는 라즈베리파이에서 설치합니다.

sudo apt-get install samba samba-common-bin

패스워드를 설정합니다.
sudo smb passwd -a pi

삼바를 시작하려면
sudo service samba start

또는
sudo /etc/init.d/samba start

삼바를 정지하려면
sudo service samba stop

sudo apt-get install samba samba-common-bin
패스워드설정
sudo smbpasswd -a pi

삼바가 설치되었으면 다음을 설정합니다.
sudo nano/etc/samba smb.conf
아래부분처럼 항목을 찾아 #을 지우고 설정합니다. 그리고 저장하고 빠져나옵니다.
work group = WORKGROUP
dos charset = cp949
display charset =UTF8
unix charset = UTF8
comment =[유저마음대로]
valid users=[위에서 설정한 계정]
path =/home/pi
guest ok = no
writable=yes
browsealbe=yes
creat mask=0777
directory ,ask = 0777

윈도우와 라즈베리파이를 부팅한 상태에서 윈도우에서 네트워크를 보면 레트로피아를 볼 수 있습니다.
아래 그림을 보면 네트웍에 retropie가 보이고 여러개의 폴더가 보입니다. 윈도우에서 다운받은 zip파일 여러개가 있는데 압축을 풀지말고 retropie/rom파일에 복사 붙여넣기 하면 됩니다.

















Step 5. 게임시연 동영상




Step6. 후기

라즈베리파이로 게임기를 만들어보았습니다. 블로그에 여러과정을 포스트하기에 어려움이 있어 설명이 많이 부족합니다. 게임기 만드는 큰 과정은 SD메모리 카드를 포멧하고 게임기틀인 레토로피아를 다운받아 설치합니다. 그리고 고전게임을 다운받아 레트로피아에 복사 붙이기를 합니다. 여기서 삼바가 큰 역할을 하게됨을 알게 되었습니다. 게임은 비록 고전이지만 1980년도 초기 지금부터 37년전에 했던 게임을 라즈베리파이가 게임기로 변신하고 실행한 것이 향수를 느끼기에 충분했습니다.

라벨:

2017년 11월 26일 일요일

36. 3.5인치 LCD 480*320 설치

Step 0. 개요.

라즈베리파이를 사용할 때 보통 컴퓨터로 모니터를 사용하게 됩니다. 라즈베리파이 크기와 같은  3.5인치 모니터를 사용하면 휴대하면서 사용할 수 있을 것 같습니다. 게임기나 MP3사용하는데 편리할 수 있습니다. 그런데 컴퓨터 모니터 해상도 1920*1080로 3.5인치 모니터로 보면 글씨가 너무 작아 불편합니다. 3.5인치 모니터는 해상도를 480*320으로 변경해서 사용해야 시각적으로 편리합니다.해외직구로 구입해서 몇번 해상도 변경하려했으나  일주일 정도 시도하다 실패하여 포기하려 했습니다.

위 사진에서 라즈베리파이 부팅하면 글씨가 너무 작아 불편합니다. 물론 컴퓨터모니터로 보면 잘 보입니다.

Step. 1 모델명 확인

 3.5인치 모니터는 여러 종류가 있습니다. 여기서는 KeDei v1.1입니다. 인터넷에는 version에 따라 설치하지 않으면 재부팅하자마지 먹통이 되고 되돌아가지 않아 포멧하고 OS를 다시 설치하게 됩니다.따라서 3.5인치 모니터 뒷면 오른쪽 하단을 확인해야합니다. 인터넷에서는 버전이 높은 v5, v6에 대한 내용은 많이 나와있으나 따라하면 부팅하면 먹통이 됩니다.


Step2. 라즈베리파이 부팅

 부팅할 때 라즈베리파이에 컴퓨터모니터를 사용하여 부팅합니다.
 인터넷에 접속하여 
먼저 다운받을 사이트로 이동합니다.

위 그림처럼 LCD_show_35 파일을 다운받습니다.
그러면 라즈베리파이가 Downloads에 있는 해당파일을 루트에 복사해 놓습니다.

- 다음 다운받은 압축파일을 풀어 놓습니다. 명령어를 복사해서 붙여놓고 실행하면 좋겠습니다.

tar -xzvf LCD_show_35.hdmi.tar.gz

- 해당 폴더로 이동합니다.

cd LCD_show_35hdmi

- 업데이트 합니다. 
 sudo apt-get update

- 관리자 권한으로 설치합니다. 해당 폴더에는 여러 해상도 파일이 있습니다.
sudo ./LCD35_480*320

- 잠시후 자동 재부팅돼면서 다음과 같이 정상적으로 해상도가 480*320상에서 시원하게 보입니다. 이렇게 보이면 성공입니다.


Step 3. 후기

위 설치자료는 알리익스프레스 사이트에 설명이 된 것을 따라해 보았습니다. 유투브나 기타 문서자료를 따라했지만 모두 실패했습니다.

라벨:

2017년 11월 5일 일요일

35. 라즈베리파이에서 LCD 사용하기

Step0. 개요

라즈베리 파이에서 LCD를 사용하는 것을 구현해 보겠습니다. 아두이노로 LCD를 이용하여 문자 출력이나 시계를 구현해 보았는데 라즈베리파이로 LCD 사용해 보겠습니다.
이것을 이용하여 MP3, audio를 만들어 play, stop,pause등을 lcd에 표현할 수 있을 것입니다. 실제로 해보니 결과는 간단하지만 여러 과정에서 세심하게 진행해야 합니다. 실수로 잘못연결하여 LCD모니터가 쇼트로 망가져 다시 시작하게 되었습니다.

Step 1. 준비물

 라즈베리파이(여기서는 raspberry 3 model b v1.2), lcd(1602A), 가변저항, 저항(100Ω), 점퍼선, 브레드보드이 필요합니다.

Step 2. 사전 준비사항

라즈베리파이에 있는 GPIO핀을 이용하려면 먼저 wiringPi를 설치해야 합니다. 설치 방법은 제 블로그 34번 글을 참고하시기 바랍니다.

Step 3. 조립하기

 아래 사진을 참고하시기 바랍니다.


no Lcd wiringPi 물리적 위치
1 VSS -

2 VDD +

3 VO 가변저항 가운데

4 RS CE1 26
5 RW -

6 E CE0 24
7 D0



8 D1



9 D2



10 D3



11 D4 6 22
12 D5 5 18
13 D6 4 16
14 D7 1 12
15 A 저항과 +

16 K -


위 표를 보는 방법은 가장 왼쪽 번호는 LCD 의 번호이고 가장 오른쪽은 라즈베리파이 GPIO핀의 번호를 표시한 것입니다. 라즈베리 파이 핀은 조밀하게 총 40개핀으로 양쪽 20개씩 배열되어있습니다.오른쪽 13번째 핀은 26번을 뜻합니다.
LCD 핀 가장 왼쪽 1번 핀 VSS는 점퍼선으로 브레드보드(빵판)의 -극에 연결합니다.
LCD 4번핀인 RS핀은 라즈베리파이 26번째 핀과 점퍼선으로 연결한다는 것입니다. 그리고 LCD 7번 부터 10번(D0~D3) 연결하지 않습니다. LCD 15번째 핀은 브레드보드 에 저항100Ω을 거쳐 +극에 점퍼선으로 연결하면 됩니다. 여기서 가변저항을 설치한 것은 LCD모니터의 밝기를 조정하기 위한 것입니다. 너무밝게하거나 너무 어둡게 하면 화면에 글자가 보이지 않는 것을 조정하기 위한 것입니다.

참고로 아래 그림은 인터넷에서 복사한 것입니다. 왼쪽은 라즈베리파이 실제 모습으로 오른쪽 검은 바탕에 배열된 것이 GPIO핀의 모습이고 오른쪽 표는 각각의 핀의 물리적위치와 핀의 이름입니다. 핀의 이름은 다를 수 있으므로 반드시 gpio readall을 입력하여 정확한 표를 확인하시기 바랍니다.
라즈베리Gpio핀 배열에 대한 이미지 검색결과






















아래표는 제 라즈베리파이 gpio표를 나타낸 것으로 위의 인터넷과 비교하면 좀 다른 곳이 여러곳 있는 것을 알 수 있습니다.예를들어 7번핀이 위에는 GPIO 4,아래표에서는 GPIO7로 되어있고, 38~40번 핀도 이름이 다르게 표시되어 있습니다.(sudo gpio readall 명령)

Step 4. 코딩

코딩은 터미널 모드에서

cd wiringPi

wiringPi 폴더에서
nano lcd1602.c 를 입력하여 nano 편집기로 다음과 같이 입력합니다.


#include <wiringPi.h>           //WiringPi headers
#include <lcd.h>                //LCD headers from WiringPi
#include <stdio.h>              //Needed for the printf function below

//Pin numbers below are the WiringPi pin numbers

#define LCD_RS  11               //Register select pin
#define LCD_E   10               //Enable Pin
#define LCD_D4  6               //Data pin 4
#define LCD_D5  5               //Data pin 5
#define LCD_D6  4               //Data pin 6
#define LCD_D7  1               //Data pin 7

int main()
{
    int lcd;                //Handle for LCD
    wiringPiSetup();        //Initialise WiringPi

    //Initialise LCD(int rows, int cols, int bits, int rs, int enable, int d0, $
    if (lcd = lcdInit (2, 16,4, LCD_RS, LCD_E ,LCD_D4 , LCD_D5, LCD_D6,LCD_D7,0$
            printf ("lcd init failed! \n");
            return -1 ;
    }
    lcdPosition(lcd,0,0);  //Position cursor on the first line in the first col$
    lcdPuts(lcd, "HELLO WORLD");  //Print the text on the LCD at the current cu$
    getchar();                      //Wait for key press
}

nano 편집기에서 
^o(ctrl+o)
^x(ctrl+x)
입력하여 저장하고 터미널 모드로 빠져 나옵니다.

Step 5. 컴파일과 실행

정확히 입력저장되었다면  다음과 같이 터미널모드에서 컴파일을 합니다.


gcc -o lcd1602 lcd1602.c -lwiringPi -lwiringPiDev

실행하려면 다음과 같이 관리자 권한으로 실행하면 됩니다.
sudo ./lcd1602




출처: http://fishpoint.tistory.com/1953 [기린]


라벨: