메이킹 22

서보모터를 이용한 간단한 로봇 팔 제작기

방학때 이것저것 만들어 보겠다던 나의 포부는 역시나 물거품이 되어 사라졌다. 하지만 몇 개 만들어 놓은 것 중 하나가 로봇팔 제작을 해보는 것이였다. 원래의 목표는 다이나믹셀 같은 고성능 모터를 이용하여 제작하는 것이였다. 하지만 다이나믹셀은 제일 저렴한 모터가 하나에 3만원 씩이나 한다. 또한 그에 걸맞는 부품을 장착할려면, 돈이 무지막지하게 들어간다. 그래서 가격을 생각하여 저렴하게 만들 것을 찾다보니, 서보모터를 이용하여 만든 로봇팔을 찾아냈다. 서보모터는 다이나믹셀에 비해서 성능이 매우 떨어진다. 토크도 약하고 수명도 짧다. 하지만 가장 큰 장점은 저렴하다는 것이다. 솔직히 가격 아니면 서보모터는 쓸 일이 없다. 여하튼 서보모터를 이용하여 간단한 로봇 팔을 제작해보기로 했다. 1. 프레임 가공 로..

카카오톡 학식봇 만들기-json 파일이란?

카카오톡 학식봇을 만들기 위해 개인적으로 json에 대한 지식 및 정리를 하기 위한 포스팅입니다. json 이란? json은 데이터 저장 및 공유를 위한 개방평 표준 포맷이다. json의 구성은 "키:값" 으로 이루어져 있다. 예를 들면 { "날씨" : "맑음" } 이라는 json 파일이 있다. 여기서 키(key) 값은 "날씨" 이고, 값(value)는 "맑음" 이다. 즉, 한 개의 키에 대응하는 값이 한개 있다는 뜻이다. json은 여러가지 통신과 값 저장에 쓰이지만, 특히 인터넷에서 자료를 주고 받을 떄 많이 쓰인다. XML을 대체하는 언어로 쓰이기도 한다. 기원은 자바 스크립트에서 파생되었으나, 최근에는 여러가지 프로그래밍 언어에서도 json을 지원하여 여기저기서 많이 쓰인다. json의 기본 자료..

카카오톡 학식봇 만들기 - 2

카카오 오픈빌더 사용하기 학식을 알려주는 카카오톡 봇을 만들기 위해 필요한 것만 간단히 알아보자. 먼저 봇 제네릭 메뉴를 설정해 보자. 봇 제네릭 메뉴는 채팅창 하단에 고정되어 있는 버튼이다. 이것을 활성화 시키고, 식당을 선택하는 곳에 써 보자. 왼쪽 상단에 있는 시나리오 설정을 클릭하면, 봇 제네릭 메뉴가 뜬다. 봇 제네릭 메뉴는 채팅 입력 칸 상단에 고정적으로 떠 있는 버튼이다. 봇 제네릭 메뉴 목록을 원하는 대로 추가하면 채팅방에 하단 고정이 되어 계속 뜬다. 다음으로는 시나리오를 추가해야 한다. 챗봇을 위해 하는 이 작업은 사용자가 말한 내용을 기반으로 어떠한 정보를 출력해야 하는지 입력받는 것이다. 사용자 발화를 인식하게 하기 위해서는, 시나리오에 사용자 발화를 적어야 한다. 각 상황이 될 발..

카카오톡 학식봇 만들기 - 1

카카오톡 채널 API가 2019년 12월 31일을 기점으로 카카오톡 오픈빌더로 통합되었다. 기존의 API 응답 형식을 사용하던 카카오톡 채널 (구 옐로아이디) 은 챗봇을 계속 운영하기 위해서는 대대적인 프로그램 수정이 불가피해졌다. 만약 수정하지 않는다면, API응답을 사용하는 카카오톡 채널은 정상적인 운영이 불가능하게 되었다. 그로 인해 우리 학교 학식 알람 봇도 먹통이 되었다. 학교 측에서 운영하는 것이 아닌 학생들이 개발한 챗봇이라서, 다시 운영을 요구하기도 좀 애매하다. 그래서 이렇게 불편하게 살 바에야, 직접 만들어서 사용하기로 마음먹었다. 챗봇은 한번도 다뤄본 적 없고 문회안이지만, 도전하는 것도 나쁘지 않을 것 같다. 계획하기 봇을 만들기 전에, 어떠한 방식으로 만들 것인지 간단한 계획을 세..

아두이노 OLED 사용기

아두이노를 이용하여 디스플레이로 원하는 것을 출력할 수 있다. 이번 게시물에서는 OLED 의 간단한 사용법과 이를 응용한 간단한 예제에 대해서 알아볼 것이다. 이번에 쓰는 OLED 는 링크 의 상품과 거의 동일하다. 4핀 구성이며 컨트롤러는 SSD1306을 사용한다. 핀 구성도 4핀이라서 매우 간단하다. VCC는 5V에 꼽고 SCL은 A5, SDA는 A4에 꼽는다. SDA 와 SCL 의 핀번호는 라이브러리에서 정해 놓은 것이라 바꿀 수가 없다. 만약 바꾸고 싶다면 라이브러리를 직접 손을 봐야 한다. 아두이노 라이브러리는 u8glib 를 사용한다. 이 라이브러리는 사용자가 직접 추가해야 하는 라이브러리 이다. 링크 에서 직접 다운받아 설치하도록 하자. 이 라이브러리에는 기본적으로 10개 정도의 기본 예제를..

아두이노 외부 라이브러리 추가하는 법

아두이노에는 기본적으로 자주 쓰이는 라이브러리들이 기본적으로 탑재되어 있다. 하지만 특수한 모듈 등을 사용할 경우에는 직접 코딩하여 사용할 수도 있으나, 너무 복잡하고 실용적이지 않으므로 인터넷을 조금만 찾아보면 누군가가 만들어 놓은 라이브러리가 있다. (라이브러리 : 직역하면 '도서관' 이라는 뜻이다. 사용자들이 특정 모듈이나 기능을 쉽게 함수 같은 것으로 구현이 가능하게 한 것이다. 라이브러리를 불러와서 작업하면 코딩의 양 또는 난이도를 줄일 수 있다.) 라이브러리를 추가하는 법을 알아두면 유용하게 사용할 수 있다. 이번 게시물에서는 OLED를 쉽게 사용 가능하게 만든 u8glib 를 예시로 설명을 할 것이다. 먼저 라이브러리가 없을 경우에 어떠한 일이 일어나는지 u8glib 헤더를 불러온 다음, 그..

아두이노를 이용해 조도센서 (CDS) 로 컴퓨터 FAN 제어하기

또다른 프로젝트를 위해 트랜지스터의 작동법에 관해 공부 중이다. 이번에는 환풍기를 만들어 볼려고 한다. 우리집에는 화장실 창문이 바깥이랑 바로 연결이 되 있지가 않다. 심지어 환풍기 자체가 없다. 수건에서는 아쿠아맨 주인공 머리카락에서 날 법한 냄새가 나기 시작한다. 이말인 즉슨, 샤워를 하고 나서 습기가 빠지는 데 시간이 매우 오래 걸린다는 것이다. 우리집 구조를 보면, 베란다와 화장실이 통하는 창문이 있다. 하지만 이 창문은 매우 작다. 베란다는 문을 조금만 열어놔도 바깥이랑 환기가 잘 통한다. 환풍기를 이용해 화장실에 있는 습기를 베란다로 보내면 그나마 습기가 빨리 사라지지 않을까. 집에 남은 컴퓨터 환기 팬 을 제어해 보기로 했다. 컴퓨터 팬은 정격 전압 전류가 12v에 0.18A 이므로 아두이노..

라즈베리파이 보일러 제어기 제작

필자는 얼마전에 복학한 대학생 2학년이다. 그냥 평범한 공대생이다. 여느때와 다름없이 집에 도착해서 씻을려 하는데 온수가 너무 안나온다. 나온다 해도 15분 전부터 보일러를 틀어놔야지 온수가 바로 나온다. 이를 해결할 방법이 없을까? 고민하던 차에 원격으로 보일러를 제어하는 것을 만들기로 마음먹었다. 깜빡하고 보일러를 켜고 나오는것도 이거면 해결할수 있을거라 생각했다. 전공에선 나오지 않지만, 그래도 공대생인데 한번 만들어 보자 마음먹었다. 준비물은 이렇다. 라즈베리 파이 마이크로 sd카드 릴레이 스위치 점퍼선 이 부품들은 선정한 이유는 문서에 잘 나와있다. 먼저 라즈베리파이에 운영체제를 설치해주자. 아래 주소에 운영체제 설치법이 잘 나와 있다. https://tre2man.tistory.com/146 ..

아두이노, 조도센서로 릴레이(Relay) 제어하기

제가 목표로 삼고있는 IOT보일러를 위해 이것저것 배우고 있는 중입니다. 알아보던 도중 릴레이란 좋은 장치가 있어서 여러가지 해보고 있습니다. 지금은 조도센서를 이용해 릴레이를 켰다 껐다 하는 장치를 만드는 중입니다. 여기서 잠깐! 조도센서란? 조도센서는 빛의 세기에 따라 저항값이 달라지는 센서입니다. 황화카드뮴(cds)를 이용해 만들었습니다. cds 센서라고도 불리고 있습니다. 빛을 감지하고, 세기를 측정할 때 씁니다. 저는 이 센서를 이용해 릴레이를 제어하는 법을 연습중입니다. 여기서 잠깐! 릴레이란? 릴레이는 신호를 이용해 스위치 역할을 하는 부품입니다. 전자석의 성질을 이용 (전기가 흐르면 자석이 된다!) 하여 실제 스위치의 역할을 합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 1..

아두이노 회로도를 쉽게 그려보자!

아두이노 및 라즈베리파이의 회로도를 그리려 하다가 너무 복잡해서 잘 안되는 경우가 가끔 있습니다. 또한 컴퓨터로 그릴려고 해도 컴퓨터에 있는 기본 프로그램으론 부족한 경우가 많죠. 그럴 경우에 이 프로그램을 이용해 주시면 됩니다! 심지어 한글도 지원하네요! http://fritzing.org/download/ Fritzing Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone. We offer a software tool, a community website and services in the spirit of Processing and Arduino,..