반응형

Arduino 16

[아두이노] TMP36 으로 온도계 만들기

여름철 차량의 온도가 아주 높이 올라간다. 70도 이상도 올라가기 때문에 라이터, 휴대폰 같은 터지기 쉬운 것은 놔두지 않도록 얘기를 한다. 위험하다는 것은 익히 알지만, 어쩔수 없이 차량에 전자 제품을 놔두어야 만하는 경우에는 어떻게 해야할 까. 차량용 블랙박스 배터리를 조수석 바닥에 놔두도록 하고 있고, 물론, 리튬이온과 다른 리튬인산철 배터리는 폭발 및 인화에 강한 제품이지만... ^^ 미러링크를 위해서 차량 내에 언제나 안쓰는 휴대폰을 연결해두려고 하고 있다. 배터리를 빼고 사용하고픈 마음이 있지만, 돌아가는 폰의 배터리를 뺐을 경우, 배터리 우선 모드로 작동하는 폰이라면 켜지지 않으니 낭패이고, 어떤 상황이 생길지 몰라서 그냥 배터리 채로 차에 두는 생각을 하고 있다. 다른 계절은 문제가 없지만..

초간단 wifi 카메라 ESP32-CAM 사용하기

작년에 충동 구매한 부품들을 뒤적이다가 카메라 모듈을 찾게 되어서, 정리차원에서 간단 사용기를 적는다.홈서버로 사용하는 라즈베리파이에 카메라를 연결하여 사용하려고도 해봤는데, 아두이노를 이용해서도 아주 간단하게 카메라를 사용한다. 동영상까지는 얼마나 잘 작동할지 모르겠지만... WIFI카메라를 만들어보자.아래에 설명하게 되는 카메라 모듈은 ESP32를 같이 장착하고 있는 모듈로, 전원만 공급하면 WIFI카메라 역할을 하게 된다. MicroSD카드 슬롯도 장착되어있어서, 필요한 것은 저장할 수 있는 기능도 있다.안테나 까지 포함해서 가격이 5달러를 조금 넘을 뿐이다. 세상 정말 좋아진것 같다. 중국이 있어서 행복해요 라는 말이 헛소리는 아닌 것 같다. 한번의 광고 클릭이 저에게 도움을 줍니다. 감사합니다...

서보모터를 이용한 카메라 움직이기

상하좌우 움직일 수 있는 카메라를 집에 설치해볼까 싶어서, 서보모터 브라킷을 구매한지 어언 1년이 지났다. 구매할 시점에는 무언가 하려고 했지만, 알리의 싼 가격으로 구매하는 장점과 달리, 배송이 거의 2달 가까이 걸리니, 그 사이에 그 니즈는 시들해져버리고, 도착한 부품은 계속 쌓여만 간다. 취미생활이 아두이노로 무엇을 만드는 것이 아니라, 부품 구매하기가 되어버린 것이 현실이다. 구매한 SG90에 맞다고 하는 서보모터 마운트 브라킷은 이렇게 생겼다. 아주 단순하기는 한데, 볼트 너트가 많이 들어있다. 이 브라킷을 끼워넣어보려니, 생각보다 사이즈가 맞지 않는듯.... 했으나, 사진을 잘 보니 대충(?)은 맞아 들어간다.. 단지, 서버모터에 끼워져 있는 명칭을 모르겠는데, 모터에 꽂혀지는 플라스틱 막대의..

서보모터(MG90S) 사용

아두이노를 시작하게 되면, LED 를 켰다가 껐다 하는 것. 그 다음은 센서를 이용해서 정보를 측정하는 것들을 해보게 된다.그 다음 단계로는 무언가 움직이는 것을 해보고자 하는 생각이 들게 된다. 직접 움직일 수 있는 것을 만들면 기존에 했던 것 보다 훨씬 더 잘했는 것 같고, 성취감도 높아지는 것 같다. 개인적인 생각이기는 하지만 말이다.2족로봇의 경우에도 서보모터를 여러개 연결해서 각 관절이 움직이게 해서 만든 것이고, 무선조정 자동차의 앞바퀴 방향을 바꾸는 것도 서보 모터를 이용하여 휠의 방향을 바꿀수 있게 한다. 또한, 무선조정 비행기의 경우에도 서보모터를 이용하여 방향을 조정할 수 있다. 이 처럼 서보모터를 이용하고 활용되는 곳은 아주 많다. 기존의 제품을 변경하지 않고 사람이 하던 인터페이스를..

(최종) 아두이노에서 테트리스 게임을 만들어보자(5)

앞의 4회에서 소스코드와 설명을 간략히 했는데, 전체 소스코드를 아래에 공개한다.돌아가는 사진은 아래에 있고, 동영상 촬영한 것은 맨 아래에 유튜브에 올려둔 동영상을 연결했다. 더 간단하게도, 더 확장될 수 있게도 만들수 있겠지만, ^^/*============================================================== Tetris.ino 그냥 테트리스의 일반적인 구현(아두이노) Copyright (c) 2015, myjunu@gmail.com (KANG, YOUNG-IG) All rights reserved. 아무나 알아서 수정해서 쓰면 됨... 그런데 위에 웬 copyright? ... ^^ GLCD에 시험용으로 어떤 것을 만들어 볼까 고민하다가 24년 전에 프로그램 처..

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

테트리스의 블럭이 있는 곳을 1로 표시하고, 공간 즉 공백인 곳을 0으로 지정한다. 움직이려는 곳이 블럭이 있으면 움직일 수 없도록 할 것이라서, 테트리스의 테두리를 1로 가득채우고, 가운데는 0으로 채웠다. 아래와 같다. // 전체 화면의 크기 #define BOARD_ROW_CNT 19 #define BOARD_COLUMN_CNT 10 // 화면의 초기 설정을 함. // 이 부분을 다양화 시키면, 스테이지를 구분해 가면서 이미 블럭이 존재하도록 // 하는 등 다양한 표현을 할 수 있다. // 화면의 좌우 및 하단은 1로 정의를 하여, 블럭이 좌우 및 맨 아래를 뚫고 // 지나가지 않도록 초기 설정함 char board[BOARD_ROW_CNT][BOARD_COLUMN_CNT+2] = { { 1, 0,..

(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..

반응형