지난 글에서 I2C를 이용해 Accelerometer 센서를 제어했는데, 이번에는 Temperature 센서를 제어해보도록 하겠다. 아무래도 Home IoT Project를 구현하는데 있어서 온도 센서가 좀더 활용도가 높다는 판단아래 온도센서 하나를 구입하였고, 실제 가속도 센서와 같이 x, y, z 의 값을 구하고, 구하는 값도 일반적으로 우리가 체감하기에는 어려운 값이기 때문에 이해하기 쉽고 보이기 쉬운 것으로 온도센서만큼 적합한 것이 없을 것 같다. 또한 단기적으로 온도 센서를 제어하는 것에 목적이 있지만, Project로 아래와 같은 시나리오를 기획하고 있다.집안의 온도를 측정하여 32도 이상올라가면 LED를 켜주자. 세부적으로 해야할 사항은 다음과 같다.1) 온도 센서 제어2) 32도 올라갈시 ..
이전 글에서 gpio 핀을 이용하여 LED 의 high/low 값을 write 해서 깜빡깜빡하는 것을 확인해 보았는데, 실제로 Windows 10 IoT core가 올라간 RaspberryPI와 외부 디바이스가 연결할 수 있는 방법은 gpio 핀을 이용하는 것 말고도 다양하다. 오늘은 외부 things 인 sensor나 actuator를 연결하는 방법들 중 GPIO, I2C, SPI 통신에 대해 간략히 소개하고 그중 하나인 I2C 를 이용해서 Accelerometer인 가속도 센서를 제어해보도록 하겠다.# GPIO/I2C/SPI흔히 말하는 외부 디바이스와 통신 방식은 WIFI/BT/ZIGBEE 같은 Network Protocol 표준 방식들을 생각하겠지만, System resource를 이용한 senso..
오늘은 Application을 제작할 때, 햇갈릴 수 있는 내용을 준비했다.Windows 에서는 Application을 Desktop, Mobile, IoT 등에 설치 될 수 있도록 구성해 놓았기때문에Visual Studio를 통한 개발 진행시 Template 를 잘 선택해야한다.Windows 10 IoT 용 App을 만들기위해서 기존에는 Sample project를 기반으로 확인 했었는데 직접Project를 생성하려다 보면 UI가 있거나 없는 프로젝트로 생성할 수 있다. IoT라는 개념이 UI가 있을수 도 있고 없을 수도 있다보니 이런 듯 하지만 지금은 UI를 그려주는 부분을 연습하기도 해야하니 당분간은 UI가 포함되는 Project Template를 선택하도록 할 것이다. 새 프로젝트 생성시 Visu..
Windows 10 IoT Core는 IoT 위해 만들어진 Platform 이다. IoT는 기존 제품과의 차별점으로 그 형태가 정해지지 않았다는 것인데 유저 시나리오에 따라서 어떤 형태로든지 만들수 있는 기본 Set이어야 한다. 여기서 등장하는 개념이 바로 Open Hardware와 Open source project 인데, RaspberryPi, Aduino, BBB 등과 같이 여러가지의 OS를 올려서 다양한 시나리오 베이스로 여타의 센서 등을 연동시킬 수 있어야 하고 Software 적으로 이를 지원해주어야 한다. 이를테면 하드웨어를 부착했지만 그 부착한 하드웨어를 잘 이용할수 있는 Framework 단, 말하자면 API 화 되어 쉽게 제어가능한 App 단위의 Service를 만들 수 있어야 할 것이..
앞서 Windows 10 IoT core를 다운 받고, 간단한 Hello World sample을 만들어봤다. Windows 10 IoT core로 본격적인 작업을 하기전에 우선 Host PC로 부터 Target인 Raspberry에 어떻게 접속할 수 있는지 살펴보도록 하자. 이미 hello world sample app을 visual studio를 통해 target에 설치 해 보았지만, 현재 어떤 app이 설치되있고, process는 어떤게 돌고 있는지, network등 setting을 위해서라도 접속하는 방법을 알아보자. 일반적으로 Raspberry PI와 같은 embedded system은 UART 를 직접연결해서 Serial Log를 확인하고 로긴해서 file system에접속하는 방법이 있는데 ..
조합의 알고리즘은 이전에 설명했던 순열과는 다르지만 알고리즘 문제에 굉장히 많이 나오는 유형중의 하나이다. 거의 공식같이 사용되기 때문에 잘 이해햐두고 변행해서 쓰면 알고리즘 풀이에 유용할 듯하다. 조합은 Combination으로 5개중 3개를 선택하되 중복을 허락하지 않는 것을 의미한다. 중학교인가 고등학교 수학시간에 배웠던 것 같은 기억이 나는데 수학적인 계산 법은 아래와 같다. 5 X 4 X 3 / 3 X 2 X 1 = 10 가지, 그래서 5개중 3개를 선택하되 중복되지 않는 경우는 10가지 이다. 근데 중복되는게 어떤건지 햇갈리다면 다시 한번 봐보자. 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 4 5 2 3 5 3 4 5 눈치챗을지 모르지만, 1 2 3 과 2 ..
첫 번째 프로젝트인 Spider bot을 만들어 본 뒤, 많은 생각에 잠겼다. LEGO를 이용해서 어른도 놀 수 있다는 그것도 아주 재밌게 즐길 수 있다는 걸 느꼈지만 원하는 만큼 퍼포먼스는 나오지 않았다. 물론 좀더 창의적으로 좀더 여러가지 상황들을 고려했다면 잘 할 수도 있었겠지만 노력한 대비 결과가 만족스럽지 않아 안타까웠다. But, 이런게 경험이 되어 다음 만드는 작품에 대해서는 좀더 효과적으로 잘 만들 수 있지 않을까 기대하면서 그 두번째 작품에 대한 구상 스토리 및 결과를 공유한다. #무엇을 만들까? 항상 무엇을 만들까 시작하기전에 많은 고민을 한다. 무엇이나 그렇듯이 한번 시작하면 돌이킬수 없게되기 때문에 잘 만들 수 있을지, 가능한지를 여러모로 따지게 되는데 이번에 만들면서 생각했던 기준..
앞서 EV3를 이용해 만들수 있는 것들에 대해서 또 어떻게 만들 수 있는지 알아보았기 때문에, 실제로 한번 만들어본 Project를 소개하려한다. #무엇을 만들 것인가? Lego를 만진적도 세월이 지나서 어떻게 만들어야 할지 막막하지만 그래도 이미 많은 자료들을 검색을 통해 얻을 수 있었기에 쉽게 시작할 수 있었다. 첫번째 목표는 '4X8' 격자좌표에 랜덤으로 탁구공이 놓여져 있을때, 인식해서 자신의 홈으로 들어오게하는 로봇을 만들어볼까 한다. Requirement 를 정리해보면, 아래와 같다. 1) 격자 좌표 탐색 가능 2) 이동 가능 3) 탁구공 인식 가능 4) 탁구공 집기 가능 사용되어야 하는 구조물 1) 1 cm 격자 좌표 탐색 - 칼라 센서 2) 이동 - 라지모터 3) 탁구공 인식 - 총음파 센..