분류 전체보기 168

(3) 아두이노에서 초소형 테트리스를 만들어보자(3)

이번에는 조이스틱을 이용하여 키 입력을 받기 위한 방법이다. PC에서 키보드를 입력했을 때와 유사(?)하게 키보드 버퍼 같은 것을 만들어 두면, 테트리스 프로그램 할 때 편리하지 않을 까 하는 생각에 이것을 구현해보았다. 여기서 사용한 것은 인터럽트를 사용한 방식을 최초 적용했다가 좀 이상한 것 같아서 timer 라이브러리를 찾아서 적용해보았다. 타이머 소스코드를 찾아보지는 않았지만, 결국은 인터럽트를 사용한 것과 같은 것이 아닐까 생각한다. 아닐수도... ^^ 사용한 라이브러리는 MsTimer2를 사용하였다. 이 라이브러리가 기본적으로 설치되어 있었는지 기억이 나지 않지만, 설치가 되어있지 않다면 설치하면된다. 설치 방법은 바로 직전 글의 라이브러리 추가하는 것을 참고하면 된다. #include 키보드..

(2) 아두이노에서 초소형 테트리스를 만들어보자(2)

한번의 광고 클릭이 저에게 도움을 줍니다. 감사합니다. 제일 먼저, 화면에 무언가 출력이 되어야하니, OLED에 출력하는 부분에 대해 간략히 설명한다.OLED의 전체 사용법은 주변의 다양한 글들을 찾아서 보면되겠고, 여기서는 테트리스를 만들 때 사용된 코드를 위주로 설명을 한다.OLED에 출력하기 위해서 간단하게 "Universal 8bit Graphics Library, http://code.google.com/p/u8glib/"를 사용하였다. u8glib를 사용하면 아주 간단하게 화면에 점, 선, 도형 등을 그려 넣을 수 있다. 아두이노 -> 스케치 -> 라이브러리 포함하기 ->라이브러리 관리 메뉴에서 u8glib 을 찾아서 설치를 하면 된다. u8glib 만 설치하면된다. 아래의 사진의 u8g2는 ..

(1) 아두이노에서 초소형 테트리스를 만들어 보자

2015년에 네이버 카페에 올린 글을 찾아와서 다시 정리한다. 아두이노를 접하면서 쉽게 만들어보려고 했던 프로그램이 테트리스인데, 아두이노로 LED를 깜빡이고 하는 단순 기능을 연습하다가 보니 실제 응용 프로그램을 만들어보는 것이 배움(?)의 진도를 더빨리 나갈 것 같아서, 주변에 있던 부품을 이용하여 만들수 있는 응용 프로그램으로 테트리스를 생각하게 되었다. 작은 흑백 OLED가 있었고, 조이스틱 모듈도 있었기에 이 정도 부품으로 작은 다마고찌 게임기 처럼, 테트리스를 만들어 볼까 하는 생각과 오래전(약 2~30년전)에 프로그래밍을 처음 배울때, 알고리즘 공부하려고 시작한 테트리스를 구현했던 것을 아두이노에 적용해 보았다. 테트리스는 나에게 여러가지 방식으로 만들어본 프로그램. 맨 처음에는 8086 X..

아두이노로 2바퀴 밸런싱 로봇 만들기(3일차)

집에 있던 L293N을 사용해서 시험을 해보니, 작동이 잘 안된다... 모터 2개를 연결해서 해보니, 왼쪽은 잘 작동하는데, 오른쪽 것은 작동이 잘 안된다. 여러 시험을 해보니, L293N 드라이버 고장인 것으로 생각되어, 드라이버 모듈을 새로 주문해야 했다. 전에 집에 L293N이 2개 있었는데.... 1개는 고장이 났었고, 나머지 한개는 정상적이었는데.... 이번에 사용한 것이 고장난 놈을 사용한 것 같았다. 이 L293N 모듈로 PWM으로 속도 조절하는 방법이 IN1/INT2/PWM 3개의 핀을 사용해야지만 되었는데, 이것도 고장나서인지 잘 작동되지 않았었다. 작게 움직이게 할 경우에는 잘 작동되지 않았다. 360도를 돌고 멈추려고 하니, 프로그램에서는 360도에 가까워지면 속도를 좀 줄여서 360..

아두이노로 2바퀴 밸런싱 로봇 만들기(2일차)

비싸게 주고 산 인코더가 붙어있는 모터를 작동 시켜보자. 먼저 모터를 돌리기 위해 모터 드라이버 L298N을 사용했다. 아두이노와의 연결은 아래와 같이 연결한다. 모터를 구동하는 전원은 5V를 넣도록 하였고, 모터 인코더로 들어갈 전원은 3.3v를 이용하였다. 인코더를 이용하여 속도를 얻어오기 위한 C1, C2핀은 디지털 2번과 4번 핀으로 연결하였다. ㅇ 모터 인코더 관점에서의 핀 연결 정보 M1 ------> OUT1 (L293N) GND ------> GND (아두이노) C1 ------> D2 (아두이노) C2 ------> D4 (아두이노) VCC ------> 3.3v (아두이노) M2 ------> OUT2 (L293N) ㅇ 모터 드라이버(L293N) 관점에서의 핀 연결 정보 OUT1 ---..

아두이노로 2바퀴 밸런싱 로봇 만들기 1일차

5년여 전에 밸런싱 로봇 만들어보려다가 접었는데... 이번에는 끝까지 가보려한다.. 기록을 남기면서... 우선 이번에는 돈을 좀 들여서 밸런싱 로봇 만들기 위한 모터를 구매했다. 기존에는 집에 있던 부품을 활용해서, 속도가 느린 큰 서보 모터를 사용했다가 DC모터도 사용해봤는데... 이번에는 깔끔하게 만들어보자 싶어서 알리에서 비싼 놈으로 샀다. US $22.66 | Smallest balance car chassis GA12-N20 MINI N20 DC Motor with encoder For Stm32 Self-Balancing Robot https://a.aliexpress.com/o7RuNN8c 프레임은 포맥스를 칼과 드릴로 가내수공업 작업해서 만들어봤다. 포맥스는 커터나이프로 쉽게 잘리고 프라스..

샤오미 공기청정기에 사용된다는 미세먼지 센서를 이용한, 아두이노 초미세먼지 측정기 만들기(PMS 7003)

개요 미세먼지 센서를 이용해서 지금 공기중의 미세먼지를 측정해보자. 미세먼지 센서는 검색을 하다 보니 PMS 7003 이라는 센서가 좋은 것 같아서 비싼 가격이지만 사용해 봤다. 가격이 싼 미세먼지 센서도 있지만, 인터넷 어디선가에서 샤오미 공기청정기에 사용되는 미세먼지 센서라고 강추를 하는 글을 보고, 측정기는 비싼 부품을 사용해야지 정확한 값을 구할 수 있다는 생각에서 본 모듈로 정했다. 이 모듈을 구매할 때는 인터페이스 보드도 꼭 같이 사야한다. 그것이 없으면 선을 뽑아내서 PCB에 연결하기가 너무 어려운 것 같다. 소켓이 같이 들어있어서 이것을 PCB에 연결해서 납땜질을 했는데.... 너무 쉽게 부러져서, 누구든 물어보면 인터페이스 보드도 꼭 같이 사라고 얘길한다. 1천원 더 비쌌었나.... 아니..

#1 아두이노 LED 깜빡이기

테스트용으로 할 때는 UNO를 사용하지만, 내 경우에는 아두이노Pro mini를 잘 사용한다.한 2년여전 부터는 wifi를 연결한 프로그램을 하는 경우가 많아서 NodeMCU를 사용하고 있어서 최근에는 아두이노를 잘 사용하지는 않지만... 집에 있는 부품을 갖고 두서 없이 기록을 남겨볼까 한다. 필요 부품 - LED - 저항 220옴 (1k옴 저항도 무관) 브레드보드 연결 LED는 극성이 있으니, 방향을 맞춰서 꽂아야 한다. LED의 머리쪽을 자세히 보면 넓은 모양을 갖고 있는것이 +극성이고, 얇은 모양의 것이 -극성이라고 보면 된다. LED를 연결할 때는 무조건 저항을 직렬로 연결해야지 LED가 고장나지 않는다. 물론, 아래의 소스를 변경해서 delay를 아주 짧게 해서 ON/OFF를 아주 빠르게 반복..

4.(삼성순정)미러링크 지원 구형 폰으로 차량용 T맵, 유튜브 플레이어로 사용

한번의 광고 클릭이 저에게 도움을 줍니다. 감사합니다."따라 해보시다가 안되거나 잘못 적힌 것 정정은 댓글로 달아주세요. 아는데로 답변 및 수정하겠습니다." 실제 사용 사례앞에서 설명을 했던 부분이지만, 앞에서 설명하지 않은 부분을 포함하여 설명한다.개통되지 않은 공폰인 구형폰(갤럭시 A6 2016)을 차에 언제나 연결해서, 미러링크 연결을 하여, 유튜브와 폰의 네비게이션을 사용하려한다. 이렇게 해야 휴대폰을 차에 탈때마다 연결하는 불편함이 없을 것 같아서 방법을 찾아 보았다. 현재 개통해서 사용하는 휴대폰은 갤럭시 S10 5G폰을 사용하고 있다. 그리고, 개통되지 않은 공폰인 갤럭시 A6 2016은 차의 미러링크 용도로 연결되어있다.차 시동을 걸면, 5G폰이 블루투스로 차량과 연결되게 했다. 그리고, ..