이전 포스트에서 언급했다시피 Arduino Nano 33 BLE Sense를 통해 수집한 데이터를 BLE를 거쳐서 PC에 보내고, 이를 csv파일로 저장하는 과정을 수행했다. 그런데 전혀 예상하지 못한 부분에서 문제가 발생했다. 보통 아두이노에 스케치코드를 올리고, 디버깅을 할 때는 일반적으로 Serial 통신을 활용하고, 이 때 USB를 연결해서 사용한다. 아마 보통 이 과정에서는 Serial Monitor로도 데이터가 잘 보이고 문제가 없을 것이다. 문제는 이제 USB를 끊고, 아두이노에 보조 배터리를 연결해서 원격으로 사용할 때 발생한다. 물론 Nano가 아닌 Uno나 Leonardo 같은 경우는 배럴이라고 부르는 어댑터를 꽂을 수 있는 부분이 달려 있기 때문에, 별도의 배터리 슬롯이나 어댑터, S..
회사에서 하는 일중에 Arduino Nano 33 BLE Sense에 센서를 붙이고, 측정값을 무선으로 수집하고자 하는 것이 있었다. 가장 쉽게 할 수 있는 일이 Arduino 라이브러리 중 ArduinoBLE.h를 붙이고, 통신에 필요한 속성을 설정하는 것인데, 이 예제 중에는 딱 내가 원하는 목적으로 구현된 것이 없었다. 내가 하고자 하는 것은 다음과 같다. 아두이노에 센서를 붙이고, 주기적으로 센서값을 읽어온다. 이 때 센서값은 String으로 넘겨준다. PC에서는 아두이노에서 읽은 데이터값을 BLE를 통해서 String 포멧으로 받아온다. String으로 받은 데이터를 시간 데이터와 묶어서 csv형태로 저장한다. PC에서 보낸 명령어를 통해서 아두이노를 제어한다. 만약 통신이 끊어질 경우, 다시 ..
아두이노에선 두가지 형태의 프로그램이 존재한다. 하나는 아주 쉽게 개발할 수 있는 User Application 형태의 프로그램이다. 이건 흔히 Sketch라고 부르는 JAVA기반의 IDE에서 개발되는 형태로 유저가 쉽게 개발할 수 있게끔 라이브러리들이 제공되고 있어서 쉬운 문법의 언어를 통해 아두이노를 개발할 수 있다. 사실 이 글의 제목과 연관이 있는 내용인 다른 하나는 Firmware 형태의 프로그램이다. 이건 사용자 친화적인 문법을 제공하지 않고, 약간 하드웨어를 직접적으로 다루는 형태가 되겠다. 왜 프로그램이 이 두가지 형태로 제공되는 것일까.. 의문을 가질 수 있다. 결국은 사용자가 개발하는 것인데, 그냥 Firmware 없이 User Program만 가지고 하드웨어를 제어할 수 있으면 얼마나..
Instructables를 살펴보다가 초음파센서에 관련된 내용이 있길래 한번 해봤다. 링크 내가 가지고 있는 초음파 센서는 hc-sr04라는 핀 4개짜리 센서인데, 아마 다른걸로는 흔히 ping이라고 불리는 핀 3개짜리 초음파센서도 있는걸로 안다. 아무튼 이 센서는 한개의 입력핀(trigger)와 한개의 출력(echo) 그리고 ground와 Vcc로 구성되어있다. 초음파센서의 특성은 일반적인 거리측정 원리와 똑같다. 간단히 설명하자면 소리의 이동을 이용한 것이다. 소리는 그 자체의 파장(wavelength)를 가지고, 정해진 시간만큼 그 파장의 거리로 나아간다. 만약 파장이 나아가는 곳에 장애물이 있게 되면 반사(reflection)이 일어나던지 회절(diffraction) 이 발생하는데, 초음파 센서는..
한 일년전인가.. 아는 까페에서 Wifi 모듈을 공동 구매한다고 해서 혹해서 구입했다. 그러고 나서 1년동안 어떻게 쓰는지 몰라서 사용도 못하고 구석에 처박혀있었는데 모처럼 다뤄볼 좋은 기회가 있어서 접해본다. 생김새는 이렇게 생겼다. 이렇게 아두이노 위에 올려서 사용하는 것을 적층형 쉴드라고 한다. 이건 Wifi를 사용할 수 있는 모듈이 포함되어 있는 형태이므로 적층형 Wifi 쉴드라고 표현하면 적당한거 같다. 1년 전에 공동 구매는 아트로봇에서 했던 거 같은데 지금 아트로봇에서는 sparkfun에서 만든 공식 Wifi 모듈만 판매하는 것 같고, 가격은 참 비싸다 13만원... 아무튼 wifi를 선택하는 이유 자체는 곧바로 웹에 접근할 수 있다는 장점때문이다. 그렇게 되면 웹에서 모바일이나 PC로 바로..
일전에 라즈베리 파이로 Healthcare와 관련한 computer를 만들면 어떨까 하고 글을 써본적이 있다.2013/05/28 - [About RPi] - [Raspberry PI] Xenomai Framework on Raspberry PI 그래서 나온 컨셉이 아래 이미지였다. 아트로봇에 가면 아두이노에 쓸 수 있는 맥박 측정기가 있다. 이에 대한 라이브러리도 제공하고 소스코드도 준다. 그래서 이걸 3색 LCD와 묶어서 실시간으로 맥박을 측정하고 위험 단계에 이르면 경고를 하는 그런 시스템을 구현하고자 했고, 위 이미지가 그 프로토 타입이었다. 그런데 생각을 해보니까 라즈베리 파이에는 내부에 AD Converter가 없다. 즉, 아날로그 입력을 받아도 라즈베리 자체에서는 디지털 입력으로만 인식하다는 ..
어제 간단하게 적외선 센서를 이용해서 장애물이 있는지를 감지하는 예제를 진행해봤다.2013/05/20 - [About Arduino] - [Arduino] 적외선 센서를 활용한 전방 감지 그런데 생각해보니까 이런 감지에 대한 Output은 LCD를 통해서만 주어진다. 사람이 항상 이 작은 lcd만을 바라볼 수는 없으므로 다른 방식의 피드백도 주어져야 할 것이다. 그래서 부품통을 찾아보니 사진과 같은 부저(buzzer)가 있길래 삽입해봤다. 우리가 흔히 부저라고 알고 있는 것의 정식 명칭은 Piezo buzzer 이며, 말 그대로 자성에 따른 운동에너지를 활용해서 소리를 내는 원리(다른 말로 압전효과!)를 가진다. 이 조그마한 게 소리를 얼마나 낼 수 있을까 무시할 수도 있겠지만, 생각보다 많은 소리를 낸..
연휴동안 뭘할까 고민을 하다가 집안 구석에서 놀고 있는 부품들을 하나씩 테스트해보기로 했다. 보통 아두이노 키트를 사면 적외선 센서라고 포함되어 있는 것이 있다. (1) 부품명은 SEN0019 라는 것인데 사실 딱 보기만 봤을 때는 VDD와 GND 핀이 있고 Signal 핀이 있어서, 거리를 젤 수 있겠구나 싶었는데.. 아니었다. 실상은 정해진 거리내에 방해물이 있는지 없는지만 검사해주는 역할만 들어있다. 내가 생각했던 것처럼 거리를 알기 위해서는 조금더 비싸고 좋은 적외선 센서를 구입해야 된다. 뭐 아무튼 이걸로 전방에 방해물이 있는지 없는지를 확인하는 것을 시도해보았다. 휴대폰에 내장되어 있는 CCD 카메라로 보면 위와 같이 적외선이 방출되는 것을 확인할 수 있다. 아마 원리를 보자니 빛이 나오는 부..
몇달전에 블로그를 통해서 ArduCAM에 대해서 소개한 적이 있습니다.2012/10/16 - [About Things] - [Device] ArduCAM + Arduino Uno R3 그 게시글에서도 언급한 것이지만 Arducam이란 Arduino를 활용해서 카메라기능을 할 수 있게끔 카메라 모듈을 설치한 형태를 말합니다. 보통 아두이노는 한번에 처리할 수 있는 데이터가 한정되어 있기 때문에 이런 영상작업을 하기가 쉽지 않습니다. 그래서 영상처리에 특화된 dsp 센서를 영상작업에 많이 활용하는데 이 ArduCAM은 간단한 사진찍기 정도를 할 수 있게 모듈화 시킨 겁니다. 물론 아두이노로는 단독으로 동작하지 않고 그때 소개드린 것처럼 CPLD라는 칩의 도움을 받습니다. 사실 그 때 사놓고 나서 몇번 테스트..
요근래 여유 시간이 생겨서 뭔가를 만들어보자 하고 마음을 먹고 있었는데 연말이라서 그런지 뭘 만들어볼 염두가 생기지 않더군요. 그러다가 문득 눈에 띈게 바로 LED cube를 만들어보자는 것이었습니다. 원래는 동영상처럼 거창한 것이었는데 생각해보니까 단가라던가 제어방식이 도저히 감을 잡을 수 없더군요. 위에 나온건 512개의 LED를 사용한 거였는데 참 보기도 좋고 대단하지요. 도저히 만들 용기가 안생겨서 그냥 조그만한 4x4x4 Cube를 만들어보면 어떨까 생각을 했었습니다. 그런데 돌아다니다 보니까 세트로 파는 게 있었습니다. 그런데 이것만 있으면 그냥 불을 껐다 켰다 정도로만 제어할 수 있고 이외로 동영상 처럼 제어를 하기 위해서는 중간에 컨트롤러가 있어야 합니다. 많이 쓰이는게 아두이노인데 누가 ..
두번째 포스트입니다. 애초에 sd카드의 입출력을 써보는 것을 언급하고자 했는데 시간상의 이유로 high Speed SPI 방식에 대해서만 짧게 언급하고자 합니다.지난 포스트를 보시면 아시겠지만 화면의 갱신 주기가 매우 깁니다. 이런 경우에는 아주 빠르게 바뀌는 동영상같은건 출력하지 못하는 단점이 있습니다. 만약 이런 예제는 어떨까요? Adafruit에서 만든 Pong 이라는 예제인데 보면 화면상의 개체가 동적으로 움직입니다. 지난번에 사용했던 예제와는 다르게 화면상의 움직이는 개체를 표현하기 위해서는 뭔가 빠른 전송방식이 필요할 겁니다. 그게 바로 지난번에 잠깐 소개해 드렸던 SPI 방식의 개선된 버전인데 보통은 hardware SPI 방식이라고 말들 합니다. 그리고 그를 위한 예제가 바로 라이브러리와 ..
저번에 중국에서 구입한 TFT LCD에 대해서 언급을 잠깐 했습니다. 그냥 집에만 묵혀둘 수 없어서 이번기회에 TFT LCD를 써보기로 했습니다.참고로 TFT LCD란 Thin Film Transistor LCD의 약자로써 말 그대로 초박막형 LCD라고 받아들이시면 됩니다. 즉 LCD라는 거 자체가 매우 얇다는 의미겠지요. 여기서 맨 위에층에 깔린 검정색 부분이 바로 TFT가 적용되는 부분이고 밑에 투명한 부분이 컬러필터가 달린 부분이지요. 그래서 전기적인 신호에 따라서 우리가 볼수 있는 빛의 형태가 달라집니다. 뭐 이와 동작방식이 다른 개념이 OLED인데 너무 깊게 들어가니까 설명을 생략하도록 하겠습니다. 그래서 그냥 간단하게 말하자면 요새나오는 LCD의 형태가 매우 작게 나오는것이 제가 들고 있는 1..
사실 이전 포스트에서도 빛센서를 통해서 LED도 제어해봤고, LCD에 글자도 출력하게 했습니다. 그럼 이걸 결합시키면 어떨까요? 조도센서의 값을 받아서 LCD에 그 수치를 나타내주고 그 값을 LED에 보내줘서 밝기를 실시간으로 조절하는 게 가능하겠지요. 빛의 밝기를 부드럽게 조절하기 위해서는 당연히 해당 입력을 analog로 받으면 되겠고 그 값을 lcd.print를 통해서 출력시키면 될겁니다. 저는 우선 기본 환경이 이렇게 되어 있었습니다. 아 참 이걸 반복적으로 할려고 하니까 배선을 하는데도 시간이 많이 걸리는 것 같군요. 물론 조금 익숙해주면 만드는데도 시간이 줄어들겠지만 이걸 하기 귀찮으신 분이라면 그냥 lcd shield를 하나 사셔도 좋을 것 같습니다. ebay나 aliexpress에선 하나에..
한 반년전쯤에 저는 서점에서 이책을 열심히 찾아다녔고 구입을 했습니다. 한마디로 말하면 아두이노 바이블입니다. 아두이노에 관한 프로젝트같은 건 없지만 관련된 모든 함수에 대한 설명이 다 되어 있습니다. 그래도 영어로 되어 있으니까 만약 한글판을 내놓아줬으면 어땠을까 하는 생각을 해봤는데 그게 이제서야 나오네요. 원판의 토끼가 그대로 옮겨졌군요. 사실 오라일리에서 나와서 이것도 한빛에서 나오겠지 싶었는데 다른 출판사에서 나오는군요. 그것도 원판보다 가격이 싸게 들어오는군요. 9월 12일 출간 예정이라고 합니다. 정말로 도움이 되는 책이라고 생각합니다. 오히려 기존 원판에서 영어로 되어 있어서 난해했던 내용도 번역되면서 잘 순화되었으리라 믿습니다. 아래 링크로 따라가시면 해당 책의 샘플(1장,2장)이 들어있..
- Total
- Today
- Yesterday
- Pipeline
- RL
- Offline RL
- Variance
- Distribution
- windows 8
- arduino
- SketchFlow
- Kinect
- bias
- 한빛미디어
- 강화학습
- dynamic programming
- 파이썬
- Kinect SDK
- TensorFlow Lite
- DepthStream
- End-To-End
- Gan
- Policy Gradient
- ColorStream
- reward
- processing
- PowerPoint
- Kinect for windows
- ai
- 딥러닝
- Windows Phone 7
- Expression Blend 4
- Off-policy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |