embeded/raspberry pi2015. 8. 5. 15:27

지인 : 조만간 지르겠군..



[링크 : http://eleparts.co.kr/EPXDR9TM] 3.5" LCD 320*480

    [링크 : http://cafe.naver.com/pipc/11690]

[링크 : http://eleparts.co.kr/EPXD4BBD] 5M CIS OV5647

Posted by 구차니
embeded/raspberry pi2015. 8. 5. 09:28

예전회사에서 ARM9 으로 테스트 하던 녀석들 얼마나 먹나 궁금해서 URL 찾아서 해보니. ㄷㄷㄷ

의외로 ARM11도 쓸만하구나...


WMAPro / WMA2 / AAC+

오디오인데.. ARM9에서는 끊어지던 녀석들이.. 눈물나게 잘 나온다. ㄷㄷㄷ



ARM11의 mpegaudio에 AAC+가 포함되서 그런건가?

2015/01/26 - [프로그램 사용/ffmpeg / ffserver] - ffmpeg arm 아키텍쳐별 최적화 코덱



pi@raspberrypi ~ $ mplayer mms://stream.polskieradio.pl/zagranica_wma10

ASF file format detected.

[asfheader] Audio stream found, -aid 1

Clip info:

 title: Zagranica

 author: Polskie Radio S.A.

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 48000 Hz, 2 ch, floatle, 48.0 kbit/1.56% (ratio: 6000->384000)

Selected audio codec: [ffwmapro] afm: ffmpeg (WMA Pro audio (FFmpeg))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

[AO_ALSA] Format floatle is not supported by hardware, trying default.

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:674191.3 (187:16:31.3) of 0.0 (unknown)  7.1% 10%



pi@raspberrypi ~ $ mplayer mms://stream.polskieradio.pl/program3

ASF file format detected.

[asfheader] Audio stream found, -aid 1

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 48000 Hz, 2 ch, s16le, 96.0 kbit/6.25% (ratio: 12000->192000)

Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:674819.8 (187:26:59.8) of 0.0 (unknown)  6.6% 15%



pi@raspberrypi ~ $ mplayer http://80.86.106.110:8002/

AAC file format detected.

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders

libavcodec version 53.35.0 (external)

Mismatching header version 53.32.2

AUDIO: 44100 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->176400)

Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))

==========================================================================

AO: [pulse] Init failed: Connection refused

Failed to initialize audio driver 'pulse'

AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)

Video: no video

Starting playback...

A:   2.9 (02.8) of 0.0 (unknown) 16.3% 28%



----

라즈베리 파이 B / ARMv6 / ARM11 vfp


$ mplayer mms://stream.polskieradio.pl/zagranica_wma10

A:674191.3 (187:16:31.3) of 0.0 (unknown)  7.1% 10%


$ mplayer mms://stream.polskieradio.pl/program3

A:674819.8 (187:26:59.8) of 0.0 (unknown)  6.6% 15%


$ mplayer http://80.86.106.110:8002/

A:   2.9 (02.8) of 0.0 (unknown) 16.3% 28%


-----

라즈베리 파이 2B / ARMv7 / Cortex-A7 quad neon


$ mplayer mms://stream.polskieradio.pl/zagranica_wma10

A:723685.4 (201:01:25.4) of 0.0 (unknown)  4.0% 24%


$ mplayer mms://stream.polskieradio.pl/program3

A:724356.9 (201:12:36.9) of 0.0 (unknown)  2.9% 25%


$ mplayer http://80.86.106.110:8002/

A:   2.4 (02.3) of 0.0 (unknown)  9.2% 31%



잠시 착각했으나..

cpu 점유율 / 캐시사용률 이다 -_-a

2015/01/26 - [프로그램 사용/ffmpeg / ffserver] - mplayer status line



Posted by 구차니
embeded/raspberry pi2015. 8. 3. 08:38

기본적으로는 부팅시에만 가능하고

tvservice라는 3rd party 유틸을 통해 변경은 가능하나

출력 방향만 바꾸지 해상도까지 변경되는건 아니고 오버스캔 되는 등의 문제가 있으니

완전한 해결책이라고 하긴 힘들듯.


pi@delta ~ $ tvservice -c "PAL 4:3"; fbset -depth 8; fbset -depth 16

Powering on SDTV with explicit settings (mode:2 aspect:1)


pi@delta ~ $ tvservice -p; fbset -depth 8; fbset -depth 16

Powering on HDMI with preferred settings


[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=38020]



pi@raspberrypi ~ $ tvservice

Usage: tvservice [OPTION]...

  -p, --preferred                   Power on HDMI with preferred settings

  -e, --explicit="GROUP MODE DRIVE" Power on HDMI with explicit GROUP (CEA, DMT, CEA_3D_SBS, CEA_3D_TB, CEA_3D_FP)

                                      MODE (see --modes) and DRIVE (HDMI, DVI)

  -t, --ntsc                        Use NTSC frequency for HDMI mode (e.g. 59.94Hz rather than 60Hz)

  -c, --sdtvon="MODE ASPECT"        Power on SDTV with MODE (PAL or NTSC) and ASPECT (4:3 14:9 or 16:9)

  -o, --off                         Power off the display

  -m, --modes=GROUP                 Get supported modes for GROUP (CEA, DMT)

  -M, --monitor                     Monitor HDMI events

  -s, --status                      Get HDMI status

  -a, --audio                       Get supported audio information

  -d, --dumpedid <filename>         Dump EDID information to file

  -j, --json                        Use JSON format for --modes output

  -n, --name                        Print the device ID from EDID

  -h, --help                        Print this information 


pi@raspberrypi ~ $ fbset --help
Linux Frame Buffer Device Configuration Version 2.1 (23/06/1999)
(C) Copyright 1995-1999 by Geert Uytterhoeven


Usage: fbset [options] [mode]

Valid options:
  General options:
    -h, --help         : display this usage information
    --test             : don't change, just test whether the mode is valid
    -s, --show         : display video mode settings
    -i, --info         : display all frame buffer information
    -v, --verbose      : verbose mode
    -V, --version      : print version information
    -x, --xfree86      : XFree86 compatibility mode
    -a, --all          : change all virtual consoles on this device
  Frame buffer special device nodes:
    -fb <device>       : processed frame buffer device
                         (default is /dev/fb0)
  Video mode database:
    -db <file>         : video mode database file
                         (default is /etc/fb.modes)
  Display geometry:
    -xres <value>      : horizontal resolution (in pixels)
    -yres <value>      : vertical resolution (in pixels)
    -vxres <value>     : virtual horizontal resolution (in pixels)
    -vyres <value>     : virtual vertical resolution (in pixels)
    -depth <value>     : display depth (in bits per pixel)
    -nonstd <value>    : select nonstandard video mode
    -g, --geometry ... : set all geometry parameters at once
    -match             : set virtual vertical resolution by virtual resolution
  Display timings:
    -pixclock <value>  : pixel clock (in picoseconds)
    -left <value>      : left margin (in pixels)
    -right <value>     : right margin (in pixels)
    -upper <value>     : upper margin (in pixel lines)
    -lower <value>     : lower margin (in pixel lines)
    -hslen <value>     : horizontal sync length (in pixels)
    -vslen <value>     : vertical sync length (in pixel lines)
    -t, --timings ...  : set all timing parameters at once
  Display flags:
    -accel <value>     : hardware text acceleration enable (false or true)
    -hsync <value>     : horizontal sync polarity (low or high)
    -vsync <value>     : vertical sync polarity (low or high)
    -csync <value>     : composite sync polarity (low or high)
    -gsync <value>     : synch on green (false or true)
    -extsync <value>   : external sync enable (false or true)
    -bcast <value>     : broadcast enable (false or true)
    -laced <value>     : interlace enable (false or true)
    -double <value>    : doublescan enable (false or true)
    -rgba <r,g,b,a>    : recommended length of color entries
    -grayscale <value> : grayscale enable (false or true)
  Display positioning:
    -move <direction>  : move the visible part (left, right, up or down)
    -step <value>      : step increment (in pixels or pixel lines)
                         (default is 8 horizontal, 2 vertical) 


Posted by 구차니
embeded/raspberry pi2015. 7. 30. 09:50

composite 해상도 관련

ssh로 하니 안되서 마우스 + 키보드 연결하고 파일로 저장해서 읽어옴 -_-

$ xdpyinfo

$ cat xdpy.txt

name of display:    :0.0

version number:    11.0

vendor string:    The X.Org Foundation

vendor release number:    11204000

X.Org version: 1.12.4

maximum request size:  16777212 bytes

motion buffer size:  256

bitmap unit, bit order, padding:    32, LSBFirst, 32

image byte order:    LSBFirst

number of supported pixmap formats:    7

supported pixmap formats:

    depth 1, bits_per_pixel 1, scanline_pad 32

    depth 4, bits_per_pixel 8, scanline_pad 32

    depth 8, bits_per_pixel 8, scanline_pad 32

    depth 15, bits_per_pixel 16, scanline_pad 32

    depth 16, bits_per_pixel 16, scanline_pad 32

    depth 24, bits_per_pixel 32, scanline_pad 32

    depth 32, bits_per_pixel 32, scanline_pad 32

keycode range:    minimum 8, maximum 255

focus:  window 0x1200005, revert to Parent

number of extensions:    27

    BIG-REQUESTS

    Composite

    DAMAGE

    DOUBLE-BUFFER

    DPMS

    DRI2

    GLX

    Generic Event Extension

    MIT-SCREEN-SAVER

    MIT-SHM

    RANDR

    RECORD

    RENDER

    SECURITY

    SGI-GLX

    SHAPE

    SYNC

    X-Resource

    XC-MISC

    XFIXES

    XFree86-DGA

    XFree86-VidModeExtension

    XINERAMA

    XInputExtension

    XKEYBOARD

    XTEST

    XVideo

default screen number:    0

number of screens:    1


screen #0:

  dimensions:    656x416 pixels (174x110 millimeters)

  resolution:    96x96 dots per inch

  depths (7):    16, 1, 4, 8, 15, 24, 32

  root window id:    0xe2

  depth of root window:    16 planes

  number of colormaps:    minimum 1, maximum 1

  default colormap:    0x20

  default number of colormap cells:    64

  preallocated pixels:    black 0, white 65535

  options:    backing-store NO, save-unders NO

  largest cursor:    656x416

  current input event mask:    0x7a003c

    ButtonPressMask          ButtonReleaseMask        EnterWindowMask

    LeaveWindowMask          StructureNotifyMask      SubstructureNotifyMask

    SubstructureRedirectMask FocusChangeMask          PropertyChangeMask

  number of visuals:    33

  default visual id:  0x21

  visual:

    visual id:    0x21

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    8 bits

  visual:

    visual id:    0xc2

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc3

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc4

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc5

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc6

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc7

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc8

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xc9

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xca

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcb

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcc

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcd

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xce

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xcf

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd0

    class:    TrueColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd1

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd2

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd3

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd4

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd5

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd6

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd7

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd8

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xd9

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xda

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdb

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdc

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdd

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xde

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xdf

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0xe0

    class:    DirectColor

    depth:    16 planes

    available colormap entries:    64 per subfield

    red, green, blue masks:    0xf800, 0x7e0, 0x1f

    significant bits in color specification:    6 bits

  visual:

    visual id:    0x41

    class:    TrueColor

    depth:    32 planes

    available colormap entries:    256 per subfield

    red, green, blue masks:    0xff0000, 0xff00, 0xff

    significant bits in color specification:    8 bits 


$ cat xran.txt

Screen 0: minimum 656 x 416, current 656 x 416, maximum 656 x 416

default connected 656x416+0+0 0mm x 0mm

   656x416         0.0* 


[링크 : http://www.cyberciti.biz/faq/how-do-i-find-out-screen-resolution-of-my-linux-desktop/]


composite + HDMI는 불가능 하다고..

듀얼 모니터로 쓸수 있을까 아니면 clone 모드로 가능할까 싶었는데

물건너 간 듯하다 ㅠㅠ

[링크 : https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=4034&p=53117]




+

심심해서 해보는 뻘짓

음.. 작게 나오네...


gimp에서 fb 덤프해서 복구

RGB565 ㄷㄷㄷ


아무튼 이렇게 아담하게 나온다.



+

2015.07.31

아무것도 연결안하니 composite 출력이 기본으로 설정되는 듯

Posted by 구차니
embeded/raspberry pi2015. 7. 18. 22:16

초음파 관련 루틴을 while로 처리해서

오차가 있을것으로 생각되다 보니..

인터럽트 처리방식 검색...


gpio 유틸에도 존재는 한다.

gpio edge <pin> rising/falling/both/none

This enables the given pin for edge interrupt triggering on the rising, falling or both edges. (Or none which disables it)

[링크 : http://wiringpi.com/the-gpio-utility/] 


python 버전

GPIO.add_event_detect(17, GPIO.FALLING, callback=my_callback, bouncetime=300)  GPIO.add_event_detect(23, GPIO.FALLING, callback=my_callback2, bouncetime=300)  

[링크 : http://raspi.tv/2013/how-to-use-interrupts-with-python-on-the-raspberry-pi-and-rpi-gpio-part-3] 


c 버전

void myInterrupt(void) {

   eventCounter++;

}


int main(void) {

  if (wiringPiSetup () < 0) {

      fprintf (stderr, "Unable to setup wiringPi: %s\n", strerror (errno));

      return 1;

  }


  // set Pin 17/0 generate an interrupt on high-to-low transitions

  // and attach myInterrupt() to the interrupt

  if ( wiringPiISR (BUTTON_PIN, INT_EDGE_FALLING, &myInterrupt) < 0 ) {

      fprintf (stderr, "Unable to setup ISR: %s\n", strerror (errno));

      return 1;

  }


  // display counter value every second.

  while ( 1 ) {

    printf( "%d\n", eventCounter );

    eventCounter = 0;

    delay( 1000 ); // wait 1 second

  }


  return 0;

}

[링크 : http://cs.smith.edu/dftwiki/index.php/Tutorial:_Interrupt-Driven_Event-Counter_on_the_Raspberry_Pi] 



Posted by 구차니
embeded/raspberry pi2015. 7. 17. 10:52

전에 쓴적이 있던가?

아무튼.. 지금글을 보고 있노라니..

국제화 관련 설정에서

gb가 기본값이었던거 같은데..

영국에서 만든게 왜...중국이 기본값이 된걸까?

+

2017.09.12

gb는 영국임. Great Britain



키보드 레이아웃은 집에가서 테스트 해봐야지 ..



[링크 : http://raspberrypi.stackexchange.com/questions/1042/why-is-my-symbol-not-working]


~!@#$%^&*()_+| 를 입력한 화면 확실히 먼가 이상하게 나온다.

프랑이라던가? 이.. 미묘한 기호순서라니!

XKBLAYOUT을 gb에서 us로 바꾸고

pi@raspberrypi ~ $ sudo cat /etc/default/keyboard

# KEYBOARD CONFIGURATION FILE


# Consult the keyboard(5) manual page.


XKBMODEL="pc105"

XKBLAYOUT="gb"

XKBVARIANT=""

XKBOPTIONS=""


BACKSPACE="guess" 


setupcon을 해주면 빠르게 설정이 된다는데 ssh나 터미널로는 안된다

pi@raspberrypi ~ $ sudo setupcon

We are not on the console, the console is left unconfigured. 


pi@raspberrypi ~ $ sudo service lightdm stop

ctrl -alt - f1

pi@raspberrypi ~ $ sudo setupcon


아무튼 리부팅 하고 오니

~!@#$%^&*()_+| 

원하는대로 잘 나온다.



Posted by 구차니
embeded/raspberry pi2015. 7. 13. 23:27

릴레이는 단순하게 HI/LO 입력에 따라 on/off 스위치라 별거 없으니 대충~

당연히(!) 귀차니즘으로 wiring pi 기준 1번 / GPIO18번에 연결


$ gpio mode 1 output

$ gpio write 1 1


$ gpio write 1 0



[링크 : http://www.seeedstudio.com/depot/Grove-Relay-p-769.html]

Posted by 구차니
embeded/raspberry pi2015. 7. 13. 23:14

3.3-5V 이나 5V추천

탐지거리 3cm-4m

[링크 : http://www.seeedstudio.com/depot/Grove-Ultrasonic-Ranger-p-960.html]


다른 소스들의 예제와 다르게 이녀석...

Trigger / Echo가 아닌 Signal 하나 뿐이다


그래서 Trigger로 output 모드 설정후 전송하고 재빠르게

Echo로 input 모드로 설정후 받아 시간을 재도록 수정해야 한다.


포트는 만만한(?) GPIO18번 PWM 포트(wiring pi 기준 1번)으로 설정

흰색 - 5V

검정 - GND

보라 - GPIO18 ->A0




$ cat ultrasonic_1.py

#!/usr/bin/python

#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

#|R|a|s|p|b|e|r|r|y|P|i|-|S|p|y|.|c|o|.|u|k|

#+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

#

# ultrasonic_1.py

# Measure distance using an ultrasonic module

#

# Author : Matt Hawkins

# Date   : 09/01/2013

# -----------------------


# Import required Python libraries

import time

import RPi.GPIO as GPIO


# Use BCM GPIO references

# instead of physical pin numbers

GPIO.setmode(GPIO.BCM)


# Define GPIO to use on Pi

GPIO_TRIGGER = 18

GPIO_ECHO    = 18


print "Ultrasonic Measurement"


# Set pins as output and input

GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger


# Set trigger to False (Low)

GPIO.output(GPIO_TRIGGER, False)


# Allow module to settle

time.sleep(0.5)


# Send 10us pulse to trigger

GPIO.output(GPIO_TRIGGER, True)

time.sleep(0.00001)

GPIO.output(GPIO_TRIGGER, False)

start = time.time()


GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo

while GPIO.input(GPIO_ECHO)==0:

  start = time.time()


while GPIO.input(GPIO_ECHO)==1:

  stop = time.time()


# Calculate pulse length

elapsed = stop-start


# Distance pulse travelled in that time is time

# multiplied by the speed of sound (cm/s)

distance = elapsed * 34300


# That was the distance there and back so halve the value

distance = distance / 2


print "Distance : %.1f" % distance


# Reset GPIO settings

GPIO.cleanup() 


자가 없어서 대충 한뼘(21cm)로 해봤는데 얼추 맞는 기분

pi@raspberrypi ~/src/sonic $ sudo python ultrasonic_1.py

Ultrasonic Measurement

Distance : 154.8

pi@raspberrypi ~/src/sonic $ sudo python ultrasonic_1.py

Ultrasonic Measurement

Distance : 3.0

pi@raspberrypi ~/src/sonic $ sudo python ultrasonic_1.py

Ultrasonic Measurement

Distance : 9.1

pi@raspberrypi ~/src/sonic $ sudo python ultrasonic_1.py

Ultrasonic Measurement

Distance : 26.3 


대충 소스 받아서 수정

[링크 : http://www.raspberrypi-spy.co.uk/2012/12/ultrasonic-distance-measurement-using-python-part-1/]

Posted by 구차니
embeded/raspberry pi2015. 7. 7. 06:54

그냥 쏘고 받고

그 시간 간격재고 끝인가? 굳이.. 몇개의 파형을 안보내는 되는 걸려나..


[링크 : http://www.modmypi.com/blog/hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi]

[링크 : http://www.raspberrypi-spy.co.uk/2012/12/ultrasonic-distance-measurement-using-python-part-1/]

Posted by 구차니
embeded/raspberry pi2015. 7. 6. 23:40

귀찮아서 여전히 USB to RS232로 하면서 뻔뻔한 제목 ㅋㅋ

땜질 안되어 있는 녀석이라 핀 몇개만 일단 박고 대충 결선하고 테스트!


핀이 하나도 없네?!?!


으쌰으쌰 대충 땜질하자


귀찮으니.. 3.3V를 내줄수 있는 USB to 232를 애용합시다? ㅋㅋ

일단 당연하지만 RX와 TX는 서로 엇갈리게 연결해준다.


232의 RXBT의 TX

232의 TXBT의 RX


전원도 대충~ GND와 3.3V 연결


3.3V 입력

TTL 레벨에 38400 으로 연결하고

명령어를 치면되는데.. \r\n 이라 그냥 입력이 불가능해서

Putty로는 테스트 불가 -_ㅠ


1. Set work mode

\r\n+STWMOD=1\r\n Set work mode Master




[링크 : http://www.seeedstudio.com/wiki/Serial_port_bluetooth_module_(Master/Slave)]

[링크 : http://www.seeedstudio.com/wiki/images/e/e8/BTSoftware_Instruction.pdf]

    [링크 : http://www.seeedstudio.com/wiki/Bluetooth_Shield]


Posted by 구차니