반응형

아두이노 20

(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를 아주 빠르게 반복..

태양전지 모듈 연결

너무 간만에 접속했다... 일전에 사둔 태양전지판이 보여서 조립(?)해았다. 아래에 표기한 부품구매한 정보는 맨 아래에 표기... 주섬주섬 모아보니... 태양전지판 크기가 각기 다른 것들이 여러개 있다. 작은 것은 열개가 있네... 예전에 많이 사둔 듯... 부품 사두는 것이 취미여서...T.T 지금 생각하니 작은 것은 왜 샀는지 모르겠다... 사용할 곳이 있을라나 모르겠네... 집에 배터리가 많이 굴러다녀서.... 이런 배터리가 대여섯개... 잘 사용하지는 않지만, 계속 충전을 해두기에는 귀찮고.... 태양전지와 연결해서 배란다에 두면 어떨까 싶어서... 한번 시도 해본다.. 부품함을 뒤지다가 보니 이런것도 사두었네..... 이러한 일반적인 것들은 직접 만드는 것보다 가격도 싼 기성품을 쓰는 것이 더 ..

이제 시작하면서....

#1 이제 시작합니다. 지금으로부터 30여년 전, 중학교 1학년때 학교특활반으로 '라디오조립반'에 들어가게 되었다. 이 때, 3천원짜리 라이오 키트와 인두를 사서 납땜하는 것을 시작으로 중고등학교 수업을 버리고 전자회로 책만 찾아보곤했다. 어느 누구도 가르쳐 주지 않고, 돈도 없었기에 하고는 싶은데...할수는 없고. 게다가 공부도 등한시하였던 어린 시절.... 대학에 와서는 컴퓨터에 빠져서, 잠자는 몇 시간을 제외하고는 컴퓨터만 보고 있던 시간을 지나서... 군대에서 전산병이 되고... 직장을 다니게 되면서... 벌써 50을 바라보게 되었다. 이렇게 시간이 흘러가니 시간적 여유와 금전적으로 여유가 생기게 되고(과거보다), 오래전 어렸을 때의 해보고 싶던 전자회로를 만들어보고 싶었고... 주변 책을 찾다가..

반응형