Skip to main content

2 posts tagged with "keyboard"

View All Tags

· 4 min read

부모님용으로 무작정 구매했다.

SD 카드도 필요해서 마트에 가서 Sandisk 8GB짜리 하나도 집었다. 할인해서 7000원대.

Class도 적혀있지 않고 bulk인 것처럼 생겼는데 그냥 써볼거라 문제되지 않을거라 생각했었다. 하지만 어떤 것들은 사용할 수 없는 것 같기도 하다. (SD Card compatibility list)

1. Raspbian 준비

공식 페이지에서 Raspbian (데비안 계열 raspberry pi용 linux os) 이미지를 다운로드 받은 후 (엄청 느림, http://www.raspberrypi.org/downloads) dd command로 부팅 가능한 SD card를 만들었다. Guide에는 좀 헷갈리게 되어있는데 /dev/disk_n_s_n_ 형태가 아닌 /dev/disk_n_ 경로를 사용해야 한다.

2. 기타 장치 준비 (PS/2 문제)

Display는 HDMI로만 연결 가능하다. 무선 인터넷은 나중에 설정하면 가능한 것 같기도 한데 Model B의 경우 우선은 유선으로만 가능하다. 키보드와 마우스를 연결해야 하는데, Model B는 USB Port가 2개 뿐이고 PS/2 port는 보이지 않는다. 아쉬운대로 PS/2 to USB 젠더를 이용해서 전원을 연결해봤다. (Raspberry pi는 USB 전원을 연결하자마자 부팅된다. 별도 전원버튼 없음)

boot_log

사진처럼 여느 리눅스처럼 부팅로그가 나타나고 설정 화면으로 이동하는데 로그상으로만 보면 문제점은 없었으나 키보드를 인식하지 못했다. 자료를 찾아보니 PS/2 type 키보드나 마우스의 경우 소모전력 문제로 Raspberry pi에서는 인식이 잘 안되는 것 같다. 특정 젠더나 별도 전원이 있는 hub 같은 걸 사용하면 되는 경우도 있는 것으로 보이나 내가 사용한 젠더로는 인식 불가.

USB용 키보드도 가격이 꽤 나가고 USB port 수도 제한적이라 USB용 RF를 사용하는 키보드/마우스 콤보를 구매했다. (핫트랙스에서 17,900원) 바로 사용가능했음.

3. 인터넷

부팅 / 설정을 끝내고 X window를 띄웠다.

xwindow

X window에 포함된 기본 브라우저 중 하나인 Midori를 실행해서 이메일 확인 및 몇가지 검색을 해봤는데 좀 답답한 감은 있지만 사용못할 수준은 아니다. (SD Card를 class 높은 걸로 바꿔서 다시 해 볼 예정)

4. 기타

최초 부팅 후 설정을 마치지 않더라도 ssh 접속이 가능하다. 접속 계정 정보는 pi / raspberry 이며, sudoer로 등록되어 있는 것 같으니 root 계정을 꼭 사용할 필요는 없다. 또 키보드/마우스, 모니터가 없어도 ssh 접속 상태에서 기본 설정을 진행할 수 있다.

· 4 min read

Ch.4는 변수 선언과 기본 연산, for loop에 대한 내용 (Java와 동일)

1. Ch.4에서 소개된 예약어

width : 화면의 가로 크기

height : 화면의 세로 크기

 

 

Ch.5 Response

Ch.5는 주로 interaction을 위해 알아야 하는 함수와 예약어, 방법들을 소개

mouse를 움직일 때 좌표를 알 수 있는 방법 (mouseX, mouseY)과

다른 좌표값들과의 비교 방법, keyboard 입력은 어떻게 구분할 수 있는지를 설명하고 있다.

소개된 일부 함수들은 굳이 사용이 필요없을 수도 있으나

연산의 편의성을 위해 제공하는 것으로 보임

 

1. draw 함수

화면을 구성하는 매 frame 마다 호출되는 함수

 

2. setup 함수

프로그램의 시작 시점에만 한 번 호출되는 함수 (보통 초기화에 이용)

 

3. mouseX, mouseY (예약어)

mouse의 현재 좌표를 의미함 (이동할 경우 변경됨)

 

4. background 함수

화면을 초기화하는 기능이 있으므로 draw에 이용할 경우 잔상없는 이미지 표현 가능

 

5. pmouseX, pmouseY

이전 frame에서의 mouse 좌표를 저장하고 있는 변수 (예약어)

 

6. dist 함수

이전 좌표와 현재 좌표의 거리 차이를 자동 연산하는 함수

 

7. map 함수

좌표를 수식에 의해 매번 변경해야 할 때 자동으로 매핑해주는 함수

 

Example)

float mx = map(mouseX, 0, width, 60, 180);

//의미 : mouseX가 최소 0에서 width까지 변화할 때 mx는 60에서 180까지 연산해서 할당

 

8. mousePressed

예약어로 mouse 버튼이 클릭되었는지 여부를 저장하는 변수 (boolean)

 

9. mouseButton

예약어. 마우스의 어떤 버튼이 클릭되었는지 저장하는 변수 (LEFT or CENTER or RIGHT)

 

커서의 현재 위치가 왼쪽인지 오른쪽인지 도형 내부에 있는지 외부에 있는지 알기 위해서는

각각 도형의 x, y, width, height 등의 수치와 mouseX, mouseY의 크고 작음을 비교해서 연산해야 함

 

10. keyPressed

예약어. 키보드 버튼이 눌렸는지 여부를 저장하는 변수 (boolean)

 

11. key

예약어. 눌려진 key 값을 저장하는 변수 (CODED인 경우는 특수 키로 keyCode(LEFT, RIGHT, ALT, SHIFT, ...)로 비교해야함