메이킹/메이킹 준비 13

풀스택 개발 프로젝트 준비하기 (1)

현재 풀스택 개인 프로젝트를 준비하고 있다. 어플리케이션 기반의 커뮤니티 앱이다. 서버와 어드민 페이지까지 만든 다음에 애플리케이션과 연결할 예정이다. 프로젝트의 목표는 다음과 같다. 개인 공부가 목표이다. 어드민 페이지를 통해 유저 관리가 되어야 한다. 앱스토어와 플레이스토어에 출시가 되어야 한다. Fcm을 통해 푸시 메시지를 제어한다. 앱에 공지사항과 강제 업데이트 같은 관리자가 외부에서 제어할 수단이 있어야 한다. 해당 목표를 이루기 위해서 기술스택을 찾고, 현재 제작 중이다. 백엔드 : NestJS : Typescript 기반으로 빠르게 작성하고 테스트가 가능하고 익숙함 ORM : Typeorm : 가장 많이 사용하고, 나중에 확장할 때 빠르게 할수 있다. DB : Postgres : 오픈소스, ..

아두이노 I2C LCD 모듈 사용하기

아두이노 부품 중에 LCD 패널 모듈이 있다. 이 패널은 16*2의 문자 표현이 가능하며, 데이터 입출력 핀 8개와 기타 핀의 개수를 모두 합하면 총 16개의 핀이 있다. 실제 사용 배선은 12개의 핀이 필요하며, 아두이노를 이용할 경우에는 6개의 배선이 필요하다. 하지만 이 방법은 핀을 많이 잡아먹고 배선이 복잡하다는 단점이 있다. 그래서 대부분의 LCD모듈에는 I2C 컨버터가 필요하다. 따로 구매를 할 필요는 거의 없다. 대부분 LCD를 판매할 때 납땜이 되어서 오기 때문이다. 이 부품의 스펙은 다음과 같다. 동작전압 : 5VI2C 주소 : 0x27, 0x3F 이것을 이용해 LCD를 손쉽게 제어할 수 있다. 그 전에 이 모듈을 사용하기 위해서는 I2C 주소를 알아야 한다. 아두이노 wire 라이브러리..

아두이노를 위한 Serial(UART) 통신 알아보기

UART 통신이란? 시리얼 통신은 기기간 통신을 위해 정해놓은 규칙 중의 하나이다. 시리얼 통신은 오랜 기간 사용되어 왔으며, 마이크로프로세서를 다룬다면 알아야 할 지식 중의 하나이다. 시리얼 통신의 정의는 무엇일까? 시리얼의 뜻은 직렬이다. 이것은 한 개의 선에 한개의 정보를 보내기 때문에 붙여진 이름이다. 즉 수신부(RX)와 송신부(TX), 두 개의 선으로 양방향 통신이 가능하다. 이 포스팅에서는 시리얼 통신의 한 종류인 UART 통신에 대해서 간단히 정리할 것이다. Arduono UNO 의 경우에는 UART 통신을 위한 부분이 2곳이 있다. 하나는 USB 포트에 있고, 나머지 하나는 디지털 핀 0번과 1번에 있다. USB에 있는 부분의 경우에 PC랑 통신하기 위해 쓰고 나머지 하나는 블루투스 통신 ..

아두이노를 위한 I2C 통신 알아보기

I2C 통신의 정의 아두이노 및 MCU를 사용하다 보면 한 번쯤 접하게 되는 단어 중에 I2C(Inter-Intergrarted Circuit) 라는 단어가 있다. 이것은 기기 제조사들 간에 미리 약속된 데이터 통신 규격이며, 전원을 제외한 2개의 선으로 기기간에 통신을 할 수 있게 해 둔 '통신 프로토콜' 이다. 위의 그림은 I2C 통신을 위한 배선을 그린 그림이다. I2C 통신은 마스터 기기와 슬레이브 기기가 존재한다. 이 둘은 클럭 데이터를 기준으로 동기화되어 통신이 이루어진다. 마스터 기기는 슬레이브 기기와의 통신으로 슬레이브 기기를 제어할 수 있으며, 슬레이브 기기는 하나 이상의 마스터 기기와 통신이 가능하다. 슬레이브 기기는 각자의 주소값을 가지며, 최대 1008개까지 지원한다. 하지만 실제로..

아두이노 프로 특징 및 사용법

이번에 간단한 작품을 만들면서 아두이노 프로를 쓰게 되었다. 아두이노 프로는 기존의 아두이노와 다를 게 별로 없지만, 아두이노 프로를 사용함으로서 얻는 장점이 있기에, 사용을 할 것이다. 여기서는 간단히 아두이노 프로의 사용 이유와 사용법을 간단히 알아 볼 것이다. 아두이노 프로를 사용할 예정이라면, FT232RL 드라이버 설치가 필수적이다. 구글에 검색 후 설치하도록 하자. 아두이노 프로 특징 및 사용방법 아두이노 프로의 외형은 이렇게 생겼다. 실제 판매를 할 때에는 (대부분의 경우에는) 핀헤더가 달려있지 않고 따로 배송이 오니 주의해야 한다. 나는 아두이노 프로에 납땜을 한 상태이기 때문에 핀헤더가 달려있다. 아두이노 프로의 외형을 보면, 기존의 아두이노와 크게 다른 점이 눈에 보일 것이다. 바로 U..

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

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

아두이노 OLED 사용기

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

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

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

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

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

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

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