라즈베리파이 3.5인치 터치스크린인식

라즈베리파이에 파이스크린 적용기록

관련 url : http://onestepcloser.tistory.com/123

sudo rpi-update

sydo apt-get update
sudo apt-get upgrade
sudo reboot

——————————————–
sudo vi /boot/config.txt

dtoverlay=piscreen,speed=16000000,rotate=90

sudo reboot

——————————————

sudo apt-get install fbi
wget http://ozzmaker.com/piscreen/image-test.gif
sudo fbi -noverbose -T 1 -a -d /dev/fb1 image-test.gif

—————————————–

sudo vi /usr/share/X11/xorg.conf.d/99-fbturbo.conf

#Option “fbdev” “/dev/fb0”
Option “fbdev” “/dev/fb1”
———————————————————-

터치스크린 터치시 상하가 반전되어 찾아봄

참고 url : http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)
sudo apt-get install -y xinput-calibrator

라즈베리파이 x윈도상태에서
do DISPLAY=:0.0 xinput_calibrator
터치스크린에 찍으라는 위치를 찍음

결과 텍스트가 나오면 완료

재부팅 없이도 바로 터치스크린이 조정됨.

Calibrating EVDEV driver for “ADS7846 Touchscreen” id=6
current calibration values (from XInput): min_x=0, max_x=4095 and min_y=0, max_y=4095

Doing dynamic recalibration:
Setting calibration data: 217, 3908, 3891, 197
–> Making the calibration permanent <–
copy the snippet below into ‘/etc/X11/xorg.conf.d/99-calibration.conf’ (/usr/share/X11/xorg.conf.d/ in some distro’s)
Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “217 3908 3891 197”
Option “SwapAxes” “0”
EndSection
pi@raspberrypi:~ $ pwd
~

재부팅하니 조절했던 내역이 싹 사라짐

/etc/X11에 가보니 xorg.conf.d 디렉토리 자체가 없음
/usr/share/X11/xorg.conf.d 디렉토리는 있음

요디렉토리에 99-calibration.conf 파일을 만들고 아래 내용 추가

Section “InputClass”
Identifier “calibration”
MatchProduct “ADS7846 Touchscreen”
Option “Calibration” “217 3908 3891 197”
Option “SwapAxes” “0”
EndSection

재부팅하면 터치위치가 정상적으로 적용된다.

라즈베리파이 + 아두이노 시리얼 통신

참고 URL : http://m.blog.naver.com/agapeuni/220198811728

라즈베리파이에서 아두이노 우노를 제어하기 위한 arduino 패키지 설치

Cap 2016-02-12 16-56-59-464

Cap 2016-02-12 17-00-37-647
설치완료

라즈베리파이에 원격데스크탑으로 접속하면 아두이노 개발툴이 설치된 것을 확인 할 수 있다.Cap 2016-02-12 17-02-00-186.png

실험1. 아두이노 우노에서 시리얼통신 (USB?) 으로 0부터 1023 까지 값을 0.5초 간격으로 보내는 코드아두이노 IDE를 기동하고 아래 코드를 작성 후 아두이노에 넣고 실행~
Cap 2016-02-12 17-14-15-510.png

Tool -> Serial Moniter 를 누르면 시리얼 모니터 창에서 아두이노로부터 오는 값을 확인 할 수 있다
Cap 2016-02-12 17-18-30-195

실험2.
– 실험 1 을 적용한 후 터미널 환경에서 아두이노 우노가 시리얼 통신으로 보낸 값을 읽어오는 실험
파이썬으로 코딩한다.

Cap 2016-02-12 17-38-28-408.png
Cap 2016-02-12 17-37-46-742
이렇게 코딩하고 파이썬 실행
Cap 2016-02-12 17-39-11-859.png음 에러가 나는데…내용을 보니 port 쪽에 문제가 있는 것 같다

/dev 디렉토리를 가본다
Cap 2016-02-12 17-40-10-427
나는 ttyACM0 란게 없다. 참조한 블로그의 글쓴이분과 환경이 다른가 보다
ttyAMA0 가 있으니 이걸로 바꿔서 한번 테스트~

Cap 2016-02-12 17-42-57-360.png

Cap 2016-02-12 17-45-39-513.png
음 아무런 반응이 없다.. port에 문제가 있는것 같다.
그러고 보니 아두이노IDE 우측 하단에 아두이노와 연결된 포트정보가 있다
Cap 2016-02-12 17-49-16-336
port 정보를 바꿔서 다시 실행
Cap 2016-02-12 17-50-52-582

Cap 2016-02-12 17-51-48-153.png
파이썬으로 실행한 프로그램에서 usb를 통해 들어온 값을 읽어오는게 가능해졌다.

Cap 2016-02-12 17-53-48-711.png

재미있는 것은 터미널에서 실행시킨 SerialRead1.py 가 usb포트로부터 값을 가져와 찍으면
아두이노 IDE의 시리얼모니터에서 값이 빠지는 것이 확인되었다.

한개의 포트에 한개의 프로그램만이 값을 가져갈 수 있는 것으로 예상된다.

 

 

Extend Raspberry PI GPIO PIN

1. 최근 고민하고있던 내용에 대해, 이미 누군가 라즈베리파이 포럼에 동일한 질문을 함.
https://www.raspberrypi.org/forums/viewtopic.php?f=47&t=40879

2. 솔루션

Raspberry Pi and the MCP23017 I2C I/O Expander

mcp23017 칩을 이용하면 추가적인 핀사용이 가능하다고 한다.

그런데 mcp23017 을 가지고 어떻게 하면 되는거지?

라즈베리파이 JAVA FX

참고URL : https://www.youtube.com/watch?v=swW9KJRyLeA

1. 설정변경
pi@was02 /etc/alternatives $ sudo vi /boot/config.txt
[AS-IS]
# uncomment to force a console size. By default it will be display’s size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
[TO-BE]
# uncomment to force a console size. By default it will be display’s size minus
# overscan.
framebuffer_width=1280
framebuffer_height=720

2. CPU 오버클럭
pi@was02 ~/javaSample $ sudo raspi-config
7 -> 900Mhz 선택

3. 그래픽 메모리 추가할당
pi@was02 ~/javaSample $ sudo raspi-config
8 -> 3 -> 64를 128로 변경

4. 테스트
어떻게 하지?영상에선 이런 효과가 낼수 있다고 함.

Cap 2015-07-05 20-31-22-829