embeded/raspberry pi2015. 7. 4. 12:48

테스트 회로에는 이렇게 되어 있어서..

6V 입력에 220옴으로.. LED를 output에 연결하라고 되어 있긴한데..

막상 출력을 재보니..

5V 입력에 1.8V 출력


불밝기가 엄청 약하다...

GPIO 에서 3.3V 톨러런스니까.. 1.8를 1로 인식하겠지?




최대 탐지거리는 6미터 라는데. 최소로 하면 한 50cm 정도 되는듯(실험치)

그리고 시간은.. 최소 5초 정도.. 중간으로만 놔도 언제 꺼지나 세다가 포기하는 수준이라..

일단은 최소로 해놓고 쓰면 될 것으로 보인다.


Sensitivity range: up to 20 feet (6 meters) 110° x 70° detection range

Power supply: 3V-9V input voltage, but 5V is ideal.


If the Rtime potentiometer is turned all the way down counter-clockwise (to 0 ohms) then

Tx = 24576 x (10K) x 0.01uF = 2.5 seconds (approx)

If the Rtime potentiometer is turned all the way up clockwise to 1 Megaohm then

Tx = 24576 x (1010K) x 0.01uF = 250 seconds (approx)


[링크 : https://learn.adafruit.com/downloads/pdf/pir-passive-infrared-proximity-motion-sensor.pdf] 



귀찮으니.. GPIO1번에 연결하고 읽어오기


pi@raspberrypi ~ $  gpio readall

 +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+

 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |

 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+

 |     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |

 |   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |

 |   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |

 |   4 |   7 | GPIO. 7 |   IN | 1 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |

 |     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |

 |  17 |   0 | GPIO. 0 |  OUT | 0 | 11 || 12 | 0 | IN   | GPIO. 1 | 1   | 18  |

 |  27 |   2 | GPIO. 2 |   IN | 0 | 13 || 14 |   |      | 0v      |     |     |

 |  22 |   3 | GPIO. 3 |   IN | 0 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |

 |     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |

 |  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |

 |   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |

 |  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |

 |     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |

 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+

 |  28 |  17 | GPIO.17 |   IN | 0 | 51 || 52 | 0 | IN   | GPIO.18 | 18  | 29  |

 |  30 |  19 | GPIO.19 |   IN | 0 | 53 || 54 | 0 | IN   | GPIO.20 | 20  | 31  |

 +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+

 | BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |

 +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+


pi@raspberrypi ~ $ gpio read 1

0

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

1

pi@raspberrypi ~ $ gpio read 1

0

pi@raspberrypi ~ $ gpio read 1

0

pi@raspberrypi ~ $ gpio read 1

0 


5초 정도

Posted by 구차니
embeded/raspberry pi2015. 7. 2. 22:42

일단.. 귀차니즘으로.. 5V USB 파워를 그냥 서보에 연결해서 사용

180도에 0.9~1.1초에 가깝게 걸리는 듯(약간 부족하게 움직이다 돌아오는거 봐서는)

전압이 낮아서인가.. 전류가 부족한건가..

스펙상으로는 4.8V에 60도 0.2초 정도였으니 3배면 0.6초이고

그러면 거의 인지 가능할 만큼 그거보다 빨리 움직여서 멈춰있는 시간이 있어야 할텐데 -_-


아무튼.. 동영상에서 찾은 것에 비해서도 꽤 늦은 느낌..


$ gpio pwm 1 30; sleep 1; gpio pwm 1 110; sleep 1;gpio pwm 1 30; sleep 1; gpio pwm 1 110; sleep 1 



Posted by 구차니
embeded/raspberry pi2015. 7. 2. 22:31

wiiring pi 설치방법


$ sudo apt-get install git-core

$ mkdir ~/src

$ cd ~/src

$ git clone git://git.drogon.net/wiringPi

$ cd wiringPi

$ git pull origin

$ ./build 


[링크 : http://wiringpi.com/download-and-install/]

Posted by 구차니
embeded/raspberry pi2015. 6. 29. 15:26


KEY_OK 보다는..

KEY_ENTER로 해줘야 하려나?


ir receiver 해서 설정시

KEY_OK로 하면 메뉴에서 들어갈수 없다 -_-


[링크 : http://kodi.wiki/view/Keymap]

[링크 : http://kodi.wiki/view/Keyboards]

Posted by 구차니
embeded/raspberry pi2015. 6. 22. 21:30


$ gpio mode 1 pwm

$ gpio pwm-ms

$ gpio pwmc 400


$ gpio pwm 1 30

$ gpio pwm 1 70

$ gpio pwm 1 110 



실험적으로 해보니.. 30~110 범위 총 80

30(좌)

70(중간)

110(오른쪽 끝)

Posted by 구차니
embeded/raspberry pi2015. 6. 22. 13:00

pwm balanced(?) mode 에서는

말그대로.. on:off 비율로 출력된다. 고로.. LED 같은걸 켜는데에는 안정적이 되서 좋다고 한다.


(기본값)$ gpio pwm-bal

$ gpio mode 1 pwm

$ gpio pwm 1 1

약.. 1.8ms 간격으로 신호가 나옴.. 음.. 머지?

(대충 1/1024 저 폭이 아마도.. 1us 정도 될지도?)


$ gpio pwm 1 64

너무 촘촘하니 확대!


엑? 26us 단위? ㄷㄷㄷ

(64/1024 = 0.0625 대략 6% 출력! 2/26= 1/13=0.076 = 7% 정도 대충 맞을듯?)


$ gpio pwm 1 128

14us 단위

(128/1024= 대충 12.5% 2/13=1/6=0.16 =16%)


$ gpio pwm 1 256

10us 단위

(256/1024=25% 2/8=1/4=25%)




PWM ms(mark - space)는 고정간격에 공백을 주는 방법이다.

라즈베리에서는 bal mode가 기본이라 pwm-ms로 모드를 변경해야 한다.


$ gpio pwm-ms

$ gpio pwmc 400

20ms 단위로 PWM 파형이 나옴


$ gpio pwmc 200

40ms 단위로 PWM 파형이 나옴


$ gpio pwmc 800

10ms 단위로 PWM 파형이 나옴


클럭 디바이더는.. 1/4096 까지만 허용한다.

근데 해보면 4095 까지만 됨 -_-

$ gpio pwmc 1000000

gpio: clock must be between 0 and 4096

Posted by 구차니
embeded/raspberry pi2015. 6. 20. 18:48

서보모터 제어해보겠다고 간단하게 PWM으로 해보려고 했는데

클럭이 문제인지 자꾸 가장 왼쪾을 벗어 나려고 쑈하는 바람에

모터 고장날까봐 후다닥 -_-


pwmSetClock(1); -> 2.342kHz

pwmSetClock(2); -> 4.81MHz

pwmSetClock(3); -> 3.19MHz

pwmSetClock(4); -> 2.398MHz

pwmSetClock(5); -> 1.919MHz

pwmSetClock(6); -> 1.6MHz

pwmSetClock(7); -> 1.3MHz

pwmSetClock(8); -> 1.2MHz

pwmSetClock(9); -> 1.067MHz

pwmSetClock(10); -> 959kHz

pwmSetClock(11); -> 871kHz

pwmSetClock(20); -> 480kHz

pwmSetClock(200); -> 48kHz

pwmSetClock(500); -> 19kHz

pwmSetClock(1000); -> 9.59kHz

pwmSetClock(2000); -> 4.802kHz

pwmSetClock(4000); -> 2.401kHz

pwmSetClock(5000); -> 10.58kHz


[링크 : http://raspberrypi.stackexchange.com/questions/4906/control-hardware-pwm-frequency] 


The PWM controller incorporates the following features:

• Two independent output bit-streams, clocked at a fixed frequency.

• Bit-streams configured individually to output either PWM or a serialised version of a 32-bit word.

• PWM outputs have variable input and output resolutions.

• Serialise mode configured to load data to and/or read data from a FIFO storage block, which can store up to eight 32-bit words.

Both modes clocked by clk_pwm which is nominally 100MHz, but can be varied by the clock manager.


[링크 : http://www.element14.com/.../43016-102-1-231518/Broadcom.Datasheet.pdf] 


+

2015.06.21


[링크 : http://www.rasplay.org/?p=6783] python

[링크 : https://learn.adafruit.com/adafruits-raspberry-pi-lesson-8-using-a-servo-motor/overview] python


 The base clock has a frequency of 19.2 MHz. Setting a divisor of 400 along with a "range" of 1024 gives us a PWM frequency of 19200000/400/1024 = 46.875 Hz, or a period of 21.3 milli seconds.

[링크 : http://electronut.in/controlling-two-servos-with-hardware-pwm-on-the-raspberry-pi-model-a/]

    [링크 : http://devkyu.tistory.com/349]



[링크 : http://razzpisampler.oreilly.com/ch06.html] stepper motor

Posted by 구차니
embeded/raspberry pi2015. 6. 20. 18:01

리모컨 인식은 하는데..

인식 속도가 끊어서 한번 눌렀다가 바로 떼어야 할 정도로 

KEY_LEFT를 누르는데 두번이 한번에 눌리는 느낌?


아무튼 검색을 해보니

delay나 repeat 값을 조절해서

빠르게 입력되는 키를 좀 둔감하게 쓸 수 있는 듯


[링크 : http://forum.kodi.tv/showthread.php?tid=57488]

[링크 : http://www.lirc.org/html/configure.html]


+

젠장 PWM 하다가 포트 날려먹었나 -_ㅠ

라즈베리 2 에서 갑자기 입력이 안된다 ㅠㅠ 라즈 b로 테스트 ㅠㅠ

+

켜기 전에 연결하고 하니 되네.. 머지?

초기에 자동 감지라 그런가?


remoterepeat 라는걸 해봤는데 차이가 없네 -_-

$ sudo vi /usr/share/kodi/system/advancedsettings.xml

<?xml version="1.0" encoding="UTF-8"?>

<advancedsettings>

  <video>

    <defaultplayer>dvdplayer</defaultplayer>

    <defaultdvdplayer>dvdplayer</defaultdvdplayer>

  </video>

        <remoterepeat>2000</remoterepeat>

        <gui>

                <algorithmdirtyregions>3</algorithmdirtyregions>

                <nofliptimeout>0</nofliptimeout>

        </gui>


        <splash>false</splash>


        <lookandfeel>

                <enablerssfeeds>false</enablerssfeeds>

        </lookandfeel>


        <cputempcommand>sed -e 's/\([0-9]*\)[0-9]\{3\}.*/\1 C/' /sys/class/thermal/thermal_zone0/temp</cputempcommand>

        <gputempcommand>/opt/vc/bin/vcgencmd measure_temp | sed "s,temp=\([0-9]*\)\.[0-9]'C,\1 C,"</gputempcommand>


</advancedsettings> 


실험적으로 해보니.. suppress_repeat가 잘 먹는다.

리모컨 마다 특성이 달라서 그럴려나?(내가 쓰는건 미친듯이 반복입력한다.)

$ sudo vi /etc/lirc/lircd.conf

min_repeat    1

suppress_repeat 2 // #suppress_repeat 1

#  uncomment to suppress unwanted repeats 

Posted by 구차니
embeded/raspberry pi2015. 6. 20. 09:04

주말이니 상큼하게 라즈베리? ㅋㅋ

+ b와 2b에서 확인완료






요약본

$ sudo vi /boot/config.txt

dtoverlay=lirc-rpi

$ sudo reboot

$ sudo apt-get install lirc

$ sudo vi /etc/lirc/hardware.conf

LIRCD_ARGS="--uinput"

LOAD_MODULES=true

DRIVER="default"

DEVICE="/dev/lirc0"

MODULES="lirc_rpi"

LIRCD_CONF=""

LIRCMD_CONF=""

$ sudo service lirc stop

$ irrecord -d /dev/lirc0 ~/lircd.conf

$ sudo cp lircd.conf /etc/lirc/lircd.conf

$ sudo service lirc start 


[링크 : http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/]


lircd.conf 파일이 있긴한데.. 멀 써야 하지?

[링크 : http://lirc.sourceforge.net/remotes/]



-------------------

Step 1. config.txt의 내용에서 

# Uncomment this to enable the lirc-rpi module

dtoverlay=lirc-rpi 


Step 2. irw 해서 명령어가 실행안됨 -> lirc 미설치

$ sudo apt-get install lirc 


Step 3. hardware 파일수정

$sudo vi /etc/lirc/hardware.conf

# /etc/lirc/hardware.conf

#

# Arguments which will be used when launching lircd

LIRCD_ARGS=""


#Don't start lircmd even if there seems to be a good config file

#START_LIRCMD=false


#Don't start irexec, even if a good config file seems to exist.

#START_IREXEC=false


#Try to load appropriate kernel modules

LOAD_MODULES=true


# Run "lircd --driver=help" for a list of supported drivers.

DRIVER="UNCONFIGURED"

# usually /dev/lirc0 is the correct setting for systems using udev

DEVICE=""

MODULES=""


# Default configuration files for your hardware if any

LIRCD_CONF=""

LIRCMD_CONF="" 

을 다음과 같이

# /etc/lirc/hardware.conf

#

# Arguments which will be used when launching lircd

LIRCD_ARGS="--uinput"


#Don't start lircmd even if there seems to be a good config file

#START_LIRCMD=false


#Don't start irexec, even if a good config file seems to exist.

#START_IREXEC=false


#Try to load appropriate kernel modules

LOAD_MODULES=true


# Run "lircd --driver=help" for a list of supported drivers.

DRIVER="default"

# usually /dev/lirc0 is the correct setting for systems using udev

DEVICE="/dev/lirc0"

MODULES="lirc_rpi"


# Default configuration files for your hardware if any

LIRCD_CONF=""

LIRCMD_CONF=""


일단.. 설정한거 같으니.. 실행해보는데.. 당연히(?) 안된다.

$ sudo service lirc restart

[ ok ] No valid /etc/lirc/lircd.conf has been found..

[ ok ] Remote control support has been disabled..

[ ok ] Reconfigure LIRC or manually replace /etc/lirc/lircd.conf to enable.. 


Step 4. 혹시 모르니 lircd 데몬 종료

$ sudo service lirc restart 


Step 5. 리모컨의 특성을 설정해주어야 하는데 그게 바로 lircd.conf

$ irrecord -d /dev/lirc0 ~/lircd.conf

irrecord -  application for recording IR-codes for usage with lirc


Copyright (C) 1998,1999 Christoph Bartelmus(lirc@bartelmus.de)


This program will record the signals from your remote control

and create a config file for lircd.



A proper config file for lircd is maybe the most vital part of this

package, so you should invest some time to create a working config

file. Although I put a good deal of effort in this program it is often

not possible to automatically recognize all features of a remote

control. Often short-comings of the receiver hardware make it nearly

impossible. If you have problems to create a config file READ THE

DOCUMENTATION of this package, especially section "Adding new remote

controls" for how to get help.


If there already is a remote control of the same brand available at

http://www.lirc.org/remotes/ you might also want to try using such a

remote as a template. The config files already contain all

parameters of the protocol used by remotes of a certain brand and

knowing these parameters makes the job of this program much

easier. There are also template files for the most common protocols

available in the remotes/generic/ directory of the source

distribution of this package. You can use a template files by

providing the path of the file as command line parameter.


Please send the finished config files to <lirc@bartelmus.de> so that I

can make them available to others. Don't forget to put all information

that you can get about the remote control in the header of the file.


Press RETURN to continue.



Now start pressing buttons on your remote control.


It is very important that you press many different buttons and hold them

down for approximately one second. Each button should generate at least one

dot but in no case more than ten dots of output.

Don't stop pressing buttons until two lines of dots (2x80) have been

generated.


Press RETURN now to start recording.

................................................................................

Found const length: 108417

Please keep on pressing buttons like described above.

................................................................................

Space/pulse encoded remote control found.

Signal length is 67.

Found possible header: 4543 4506

Found trail pulse: 614

Found repeat code: 618 490

Signals are space encoded.

Signal length is 32

Now enter the names for the buttons.


Please enter the name for the next button (press <ENTER> to finish recording)


Checking for toggle bit mask.

Please press an arbitrary button repeatedly as fast as possible.

Make sure you keep pressing the SAME button and that you DON'T HOLD

the button down!.

If you can't see any dots appear, then wait a bit between button presses.


Press RETURN to continue.

..............................

No toggle bit mask found.

Successfully written config file.


엔터만 치고 star recording 에서 아무키나 눌러주면 되는데

처음에는 반복을 인식하는데

두번째는 반복 인식을 안해서 미친듯이 눌러줘야 한다 ㅠㅠ

아무튼 다 하고 나면 다음과 같은 lircd.conf 파일 생성

# Please make this file available to others

# by sending it to <lirc@bartelmus.de>

#

# this config file was automatically generated

# using lirc-0.9.0-pre1(default) on Fri Jun 19 23:54:38 2015

#

# contributed by

#

# brand:                       /home/pi/lircd.conf

# model no. of remote control:

# devices being controlled by this remote:

#


begin remote


  name  /home/pi/lircd.conf

  bits           32

  flags SPACE_ENC|CONST_LENGTH|REPEAT_HEADER

  eps            30

  aeps          100


  header       4543  4506

  one           607  1621

  zero          607   508

  ptrail        614

  repeat        618   490

  gap          108417

  toggle_bit_mask 0x0


      begin codes

      end codes


end remote 


Step 6. /etc/lirc/lircd.conf로 복사해주고 서비스 시작

$ sudo cp lircd.conf /etc/lirc/lircd.conf

$ sudo service lirc start

[ ok ] Loading LIRC modules:.

[ ok ] Starting remote control daemon(s) : LIRC :. 




irrecord로 녹화하기 위해서는 키를 입력해야 하는데 지정된 녀석만 일단은 쓸 수 있다.

Now enter the names for the buttons.


Please enter the name for the next button (press <ENTER> to finish recording)

KEY_CHUP

'KEY_CHUP' is not in name space (use --disable-namespace to disable checks)

Use 'irrecord --list-namespace' to see a full list of valid button names

Please try again. 


사용가능한 키 이름은 아래와 같다.

$ irrecord --list-namespace

KEY_0

KEY_102ND

KEY_1

KEY_2

KEY_3

KEY_4

KEY_5

KEY_6

KEY_7

KEY_8

KEY_9

KEY_A

KEY_AB

KEY_ADDRESSBOOK

KEY_AGAIN

KEY_ALTERASE

KEY_ANGLE

KEY_APOSTROPHE

KEY_ARCHIVE

KEY_AUDIO

KEY_AUX

KEY_B

KEY_BACK

KEY_BACKSLASH

KEY_BACKSPACE

KEY_BASSBOOST

KEY_BATTERY

KEY_BLUE

KEY_BLUETOOTH

KEY_BOOKMARKS

KEY_BREAK

KEY_BRIGHTNESS_CYCLE

KEY_BRIGHTNESSDOWN

KEY_BRIGHTNESSUP

KEY_BRIGHTNESS_ZERO

KEY_BRL_DOT10

KEY_BRL_DOT1

KEY_BRL_DOT2

KEY_BRL_DOT3

KEY_BRL_DOT4

KEY_BRL_DOT5

KEY_BRL_DOT6

KEY_BRL_DOT7

KEY_BRL_DOT8

KEY_BRL_DOT9

KEY_C

KEY_CALC

KEY_CALENDAR

KEY_CAMERA

KEY_CANCEL

KEY_CAPSLOCK

KEY_CD

KEY_CHANNEL

KEY_CHANNELDOWN

KEY_CHANNELUP

KEY_CHAT

KEY_CLEAR

KEY_CLOSE

KEY_CLOSECD

KEY_COFFEE

KEY_COMMA

KEY_COMPOSE

KEY_COMPUTER

KEY_CONFIG

KEY_CONNECT

KEY_CONTEXT_MENU

KEY_COPY

KEY_CUT

KEY_CYCLEWINDOWS

KEY_D

KEY_DASHBOARD

KEY_DATABASE

KEY_DEL_EOL

KEY_DEL_EOS

KEY_DELETE

KEY_DELETEFILE

KEY_DEL_LINE

KEY_DIGITS

KEY_DIRECTION

KEY_DIRECTORY

KEY_DISPLAY_OFF

KEY_DISPLAYTOGGLE

KEY_DOCUMENTS

KEY_DOLLAR

KEY_DOT

KEY_DOWN

KEY_DVD

KEY_E

KEY_EDIT

KEY_EDITOR

KEY_EJECTCD

KEY_EJECTCLOSECD

KEY_EMAIL

KEY_END

KEY_ENTER

KEY_EPG

KEY_EQUAL

KEY_ESC

KEY_EURO

KEY_EXIT

KEY_F10

KEY_F11

KEY_F12

KEY_F13

KEY_F14

KEY_F15

KEY_F1

KEY_F16

KEY_F17

KEY_F18

KEY_F19

KEY_F20

KEY_F21

KEY_F22

KEY_F23

KEY_F24

KEY_F2

KEY_F

KEY_F3

KEY_F4

KEY_F5

KEY_F6

KEY_F7

KEY_F8

KEY_F9

KEY_FASTFORWARD

KEY_FAVORITES

KEY_FILE

KEY_FINANCE

KEY_FIND

KEY_FIRST

KEY_FN

KEY_FN_1

KEY_FN_2

KEY_FN_B

KEY_FN_D

KEY_FN_E

KEY_FN_ESC

KEY_FN_F

KEY_FN_F10

KEY_FN_F1

KEY_FN_F11

KEY_FN_F12

KEY_FN_F2

KEY_FN_F3

KEY_FN_F4

KEY_FN_F5

KEY_FN_F6

KEY_FN_F7

KEY_FN_F8

KEY_FN_F9

KEY_FN_S

KEY_FORWARD

KEY_FORWARDMAIL

KEY_FRAMEBACK

KEY_FRAMEFORWARD

KEY_FRONT

KEY_G

KEY_GAMES

KEY_GOTO

KEY_GRAPHICSEDITOR

KEY_GRAVE

KEY_GREEN

KEY_H

KEY_HANGEUL

KEY_HANJA

KEY_HELP

KEY_HENKAN

KEY_HIRAGANA

KEY_HOME

KEY_HOMEPAGE

KEY_HP

KEY_I

KEY_INFO

KEY_INSERT

KEY_INS_LINE

KEY_ISO

KEY_J

KEY_K

KEY_KATAKANA

KEY_KATAKANAHIRAGANA

KEY_KBDILLUMDOWN

KEY_KBDILLUMTOGGLE

KEY_KBDILLUMUP

KEY_KEYBOARD

KEY_KP0

KEY_KP1

KEY_KP2

KEY_KP3

KEY_KP4

KEY_KP5

KEY_KP6

KEY_KP7

KEY_KP8

KEY_KP9

KEY_KPASTERISK

KEY_KPCOMMA

KEY_KPDOT

KEY_KPENTER

KEY_KPEQUAL

KEY_KPJPCOMMA

KEY_KPLEFTPAREN

KEY_KPMINUS

KEY_KPPLUS

KEY_KPPLUSMINUS

KEY_KPRIGHTPAREN

KEY_KPSLASH

KEY_L

KEY_LANGUAGE

KEY_LAST

KEY_LEFT

KEY_LEFTALT

KEY_LEFTBRACE

KEY_LEFTCTRL

KEY_LEFTMETA

KEY_LEFTSHIFT

KEY_LINEFEED

KEY_LIST

KEY_LOGOFF

KEY_M

KEY_MACRO

KEY_MAIL

KEY_MAX

KEY_MEDIA

KEY_MEDIA_REPEAT

KEY_MEMO

KEY_MENU

KEY_MESSENGER

KEY_MHP

KEY_MINUS

KEY_MODE

KEY_MOVE

KEY_MP3

KEY_MSDOS

KEY_MUHENKAN

KEY_MUTE

KEY_N

KEY_NEW

KEY_NEWS

KEY_NEXT

KEY_NEXTSONG

KEY_NUMERIC_0

KEY_NUMERIC_1

KEY_NUMERIC_2

KEY_NUMERIC_3

KEY_NUMERIC_4

KEY_NUMERIC_5

KEY_NUMERIC_6

KEY_NUMERIC_7

KEY_NUMERIC_8

KEY_NUMERIC_9

KEY_NUMERIC_POUND

KEY_NUMERIC_STAR

KEY_NUMLOCK

KEY_O

KEY_OK

KEY_OPEN

KEY_OPTION

KEY_P

KEY_PAGEDOWN

KEY_PAGEUP

KEY_PASTE

KEY_PAUSE

KEY_PAUSECD

KEY_PC

KEY_PHONE

KEY_PLAY

KEY_PLAYCD

KEY_PLAYER

KEY_PLAYPAUSE

KEY_POWER

KEY_POWER2

KEY_PRESENTATION

KEY_PREVIOUS

KEY_PREVIOUSSONG

KEY_PRINT

KEY_PROG1

KEY_PROG2

KEY_PROG3

KEY_PROG4

KEY_PROGRAM

KEY_PROPS

KEY_PVR

KEY_Q

KEY_QUESTION

KEY_R

KEY_RADIO

KEY_RECORD

KEY_RED

KEY_REDO

KEY_REFRESH

KEY_REPLY

KEY_RESERVED

KEY_RESTART

KEY_REWIND

KEY_RFKILL

KEY_RIGHT

KEY_RIGHTALT

KEY_RIGHTBRACE

KEY_RIGHTCTRL

KEY_RIGHTMETA

KEY_RIGHTSHIFT

KEY_RO

KEY_S

KEY_SAT

KEY_SAT2

KEY_SAVE

KEY_SCALE

KEY_SCREEN

KEY_SCROLLDOWN

KEY_SCROLLLOCK

KEY_SCROLLUP

KEY_SEARCH

KEY_SELECT

KEY_SEMICOLON

KEY_SEND

KEY_SENDFILE

KEY_SETUP

KEY_SHOP

KEY_SHUFFLE

KEY_SLASH

KEY_SLEEP

KEY_SLOW

KEY_SOUND

KEY_SPACE

KEY_SPELLCHECK

KEY_SPORT

KEY_SPREADSHEET

KEY_STOP

KEY_STOPCD

KEY_SUBTITLE

KEY_SUSPEND

KEY_SWITCHVIDEOMODE

KEY_SYSRQ

KEY_T

KEY_TAB

KEY_TAPE

KEY_TEEN

KEY_TEXT

KEY_TIME

KEY_TITLE

KEY_TUNER

KEY_TV

KEY_TV2

KEY_TWEN

KEY_U

KEY_UNDO

KEY_UNKNOWN

KEY_UP

KEY_UWB

KEY_V

KEY_VCR

KEY_VCR2

KEY_VENDOR

KEY_VIDEO

KEY_VIDEO_NEXT

KEY_VIDEOPHONE

KEY_VIDEO_PREV

KEY_VOICEMAIL

KEY_VOLUMEDOWN

KEY_VOLUMEUP

KEY_W

KEY_WAKEUP

KEY_WIMAX

KEY_WLAN

KEY_WORDPROCESSOR

KEY_WWW

KEY_X

KEY_XFER

KEY_Y

KEY_YELLOW

KEY_YEN

KEY_Z

KEY_ZENKAKUHANKAKU

KEY_ZOOM

KEY_ZOOMIN

KEY_ZOOMOUT

KEY_ZOOMRESET

BTN_0

BTN_1

BTN_2

BTN_3

BTN_4

BTN_5

BTN_6

BTN_7

BTN_8

BTN_9

BTN_A

BTN_B

BTN_BACK

BTN_BASE

BTN_BASE2

BTN_BASE3

BTN_BASE4

BTN_BASE5

BTN_BASE6

BTN_C

BTN_DEAD

BTN_DIGI

BTN_EXTRA

BTN_FORWARD

BTN_GAMEPAD

BTN_GEAR_DOWN

BTN_GEAR_UP

BTN_JOYSTICK

BTN_LEFT

BTN_MIDDLE

BTN_MISC

BTN_MODE

BTN_MOUSE

BTN_PINKIE

BTN_RIGHT

BTN_SELECT

BTN_SIDE

BTN_START

BTN_STYLUS

BTN_STYLUS2

BTN_TASK

BTN_THUMB

BTN_THUMB2

BTN_THUMBL

BTN_THUMBR

BTN_TL

BTN_TL2

BTN_TOOL_AIRBRUSH

BTN_TOOL_BRUSH

BTN_TOOL_DOUBLETAP

BTN_TOOL_FINGER

BTN_TOOL_LENS

BTN_TOOL_MOUSE

BTN_TOOL_PEN

BTN_TOOL_PENCIL

BTN_TOOL_QUADTAP

BTN_TOOL_RUBBER

BTN_TOOL_TRIPLETAP

BTN_TOP

BTN_TOP2

BTN_TOUCH

BTN_TR

BTN_TR2

BTN_TRIGGER

BTN_WHEEL

BTN_X

BTN_Y

BTN_Z 


irw는 키를 읽어 오는건데 lircd.conf에 저장된 내용만 인식한다.

아무튼.. 아래와 같은 포맷으로 출력이 나온다.

$ irw

000000000000e210 00 KEY_RIGHT /home/pi/lircd.conf

000000000000e210 01 KEY_RIGHT /home/pi/lircd.conf

000000000000e210 02 KEY_RIGHT /home/pi/lircd.conf

000000000000e218 00 KEY_LEFT /home/pi/lircd.conf

000000000000e208 00 KEY_OK /home/pi/lircd.conf

000000000000e208 01 KEY_OK /home/pi/lircd.conf

000000000000e208 02 KEY_OK /home/pi/lircd.conf

000000000000e218 00 KEY_LEFT /home/pi/lircd.conf

000000000000e218 01 KEY_LEFT /home/pi/lircd.conf

000000000000e218 02 KEY_LEFT /home/pi/lircd.conf 



Posted by 구차니
embeded/raspberry pi2015. 6. 18. 13:03

떔질하다가 태워먹었나 -_- << 아마도 결론?

이번에는 잘 됨 ㅠㅠ
(C8 내 천원 ㅠㅠ)


먼가 파형이 이상하다는 말이 있긴한데..

음.. 잘못 잡은걸려나?

아무튼.. 파형은 나오니 일단 패스 ㅠㅠ



음.. 그럴린 없겠지만.. GND / Vs를 반대로 체크했나 -ㅁ-?

잘보니.. optical test signal과 output signal이 반대로 있네? 헐.. -_-?!



[링크 : https://www.sparkfun.com/datasheets/Sensors/Infrared/tsop382.pdf]


+

pi@raspberrypi ~ $ dmesg | grep -i lirc

[    5.288497] lirc_dev: IR Remote Control driver registered, major 246

[    5.522143] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.

[    6.664110] lirc_rpi: auto-detected active low receiver on GPIO pin 18

[    6.771417] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0

[    7.014398] lirc_rpi: driver registered! 


low active니 상관없으려나? 흐음...

Posted by 구차니