레이블이 GPIO app인 게시물을 표시합니다. 모든 게시물 표시
레이블이 GPIO app인 게시물을 표시합니다. 모든 게시물 표시

2015. 3. 6.

[Casual hacking] 아두이노 센서 키트, GPIO 앱으로 연동하기 1탄 : Laser, PIR 센서

 [Casual hacking] 아두이노 센서 키트 GPIO 앱으로 연동하기 1탄 : Laser, PIR 센서

GPIO 앱을 통해 여러 가지 프로젝트를 보여드린 바 있습니다!

초음파 센서로 'air button' 만들기

PIR 센서로 '신호등(traffic lights) 만들기

이번 포스팅에서는 시중에서 판매되는 여러가지 센서들을 GPIO 앱으로 연동하는 것을 보여드리려고 해요.

(문 앞의 레이저 센서?!)

(Bugs 보드에 손바닥?!)

사용된 센서 패키지를 소개해드리겠습니다!


이 중에서
- Laser sensor
- Sound sensor
- Tilt sensor
- Liquid level sensor
이 패키지에는 없지만,
- PIR sensor
를 NARAN 사무실에서 어떻게 사용하는 지 보여드리겠습니다!

우선 1탄에서는 Laser 센서와 PIR 센서의 사용을 보여드리겠습니다.

# 센서 연동 테스트




해당 센서들의 데이터 시트는 http://www.eleparts.co.kr/EPXDPVYB 에서 확인하실 수 있습니다!
(development resources를 확인하세요!)

  • PIR 센서 설정값
 PIR은 Interrupted - Pull up 을 활용합니다.

  • 레이저 센서 설정값
레이저 센서는 시리얼 통신을 이용해 데이터값을 받아야 하지만, 이 패키지의 센서는 그리 사양이 좋지 않다보니 제대로 데이터값이 넘어오지는 않네요.
그래서 Interrupted - Pull up 을 이용하기로 했습니다.

GPIO17, GPIO18 에 Interrupted를 설정해주세요.





# 센서들을 이용한 자동화 규칙 만들기

## Laser sensor


Laser 센서의 용도
- 사무실 입구에 있는 Hue 전등 색 바뀌기
- 출입문에 사람이 왔다갔다한 횟수


위의 완성된 룰 이미지를 보면,

"GPIO17에 연결된 센서가 Edge rising 이면,
입구의 Hue 두 개가 Random color 로 바뀐다"

입니다.

이렇게 사람이 지나가면 전등의 색이 바뀝니다!

레이저 센서(Laser sensor)가 있는 분들은 Hue 전등이 없더라도 다른 액츄에이터를 이용해서 써보세요!
아래의 룰 이미지를 공유하시면 저희 사무실에서 사용하는 것과 같이 똑같이 사용할 수 있습니다.



출입문 통과 횟수는 베타 버전의 앱을 테스트하면서 구현해봤습니다.
조만간 프로타 사용자분들이 사용해볼 수 있도록 열심히 노력할게요 :)


## PIR sensor


PIR 센서의 용도
- 버그보드에 포스트잇을 붙이고 터치를 하면 음악 재생
- 30초 후 음악 재생 정지


위의 완성된 룰 이미지를 보면,

"GPIO 18에 Interrupted Edge Rising이 일어나면,
Volumio(스트리밍 뮤직 플레이어)가 재생되고,
60초 후에 꺼져라"

입니다.

데모 영상을 보세요!





아주 간단하죠?

여러분도 아래의 룰 이미지를 공유받아서 직접해보세요!



여기까지 GPIO 앱으로 아두이노 센서 키트 연동하기 1편 이었습니다!

다음 2편을 기대해주세요 :)

2015. 1. 13.

[Casual hacking] Introduce GPIO app for Raspberry Pi

 [Casual hacking] GPIO app for Raspberry Pi 

What is GPIO?
GPIO stands for General Purpose Input/Output. By integrating with software, electrical input and output of a device can be controlled.

This blog post is about GPIO Raspberry Pi, one of the most popular board out there.

If you are one of its users, you’ll be able to see that it’s quite different from how you managed and built it before.




(Above is what the GPIO app looks like)


(This is what inside the app looks like when you first launch it.)


(Python code to test input & output)

This’s what it looked like before when trying code to control pins.

To list functions in the GPIO UI you’ve seen above, they are as follows:
GPIO / SPI, UART, I2C / Pull up & down / PWM

1) GPIO pins
- Input, Output


Select the specific GPIO pins that you wish.
When selected it provide you options like the following.


Selecting Input will let you Read.
You can find out if the current GPIO state is 0 or 1 with this option.


Selecting Output will send data of 0 and 1 to the specific device.
For instance, when trying to control the LED using Raspberry Pi, you can control its power using True(=1), False(=1) using python. Writing 1 in blank will turn on the LED and 0 in blank will turn off the LED.

2) PWM - GPIO18 pin
- 1 ~ 1023 write


Inputting 1023 like in the above will increase the voltage to its highest level.

What’s unique about using a GPIO app is that you can select input or output values with a few clicks.

However, this’s the real reason why it was created.


GPIO can be integrated with other apps. They can easily integrated for automation.
In the next blog post, you can find out more about how to integrate the values from GPIO with other apps and how to setup PI, UART, I2C, and Interrupt(rising, falling).

2015. 1. 10.

[Casual hacking] Introduce GPIO app for Raspberry Pi

 [Casual hacking] GPIO app for Raspberry Pi 


GPIO 란?
Genenral Purpose Input/Output. 쉽게 말해 다용도 입출력 포트를 말합니다.
GPIO를 소프트웨어와 연동해서 전기 입력 및 출력 신호를 이용하여 소프트웨어에서 구현하려고 했던 디바이스 컨트롤을 행하죠.

이번에 다루는 GPIO는 세계적인 열풍을 불러 일으킨 라즈베리파이(Raspberry Pi) GPIO 입니다!

기존 라즈베리파이 유저분들이라면 신세계를 맞이할 것 같네요^^



 (위에 GPIO 앱이 보이시나요?)

(GPIO app을 접속하면 처음 보시게 되는 Shell 화면입니다.)


(Input & Output test를 위한 python code)

기존에는 위와 같은 코딩을 통해서 pin들을 컨트롤해왔었죠?!

이제 위 이미지에서 봤던 GPIO 앱 UI를 순서대로 하나씩 설명해 드리겠습니다!^^
GPIO / SPI,UART,I2C / Pull up & down / PWM

1) GPIO pins 
    - Input, Output

해당 GPIO pin 들을 마우스로 선택해줍니다.
선택하면 아래의 옵션이 보이게 되죠.
input option은 Read 를 할 수 있습니다.
현재 해당 GPIO 의 상태가 0인지 1인지를 판단할 수 있죠!



 Output option은 1과 0을 입력하여 해당 device에 data값을 보내줍니다.
예를 들자면,
기존 Raspberry Pi를 이용하여 LED 를 컨트롤 하려고 하면, python 의 경우 True(=1), False(=1)로 LED 의 전원을 제어할 수 있었죠!
blank에 1을 Write하면 LED 가 켜지고, 0을 Write하면 LED 가 

2) PWM - GPIO18 pin
    - 1 ~ 1023 write

위의 이미지에서는 PWM값을 1023으로 입력하여 전압 폭을 늘리는 시도를 하고 있네요!

GPIO 앱을 사용하면 기존의 번거로운 코딩없이 입출력을 클릭 몇번으로 사용할 수 있는 것이 큰 매력이라고 할 수 있습니다.

하지만 GPIO 앱이 개발된 가장 큰 이유는 바로!

PROTA에 설치되어 있는 다른 앱들과의 자동화를 실현할 수 있다는 점입니다!!
실제로 GPIO 값을 다른 앱들과 연동하여 자동화 하는 case는 SPI, UART, I2C, Interrupt(rising, falling) 값을 설정하는 법과 함께 다음 포스팅에서 소개해드리겠습니다!^^