본문 바로가기

Arduino18

온풍기 자동 온도조절용 스마트 콘센트 DIY 2021-06-03 update log: 캠핑장 실 사용 후기 추가 ESP8266 모듈을 활용한 새로운 프로젝트 캠핑용 온풍기를 온도조절이 가능하도록 하는 스마트 플러그를 만들어볼까 합니다. 지난번에 캠핑용 온풍기를 리뷰한 적이 있었는데 이 온풍기의 단점은 전원 스위치 외에는 아무것도 없어서 주변 온도에 관계없이 전원이 켜져 있으면 따뜻한 바람이 계속 나온다는 겁니다. 온풍기를 사용하면 공기가 건조해지기 때문에 어느 정도 공기가 따뜻해지면 온풍기를 끄고 싶은데 그럴 수 없어서, 온도에 따라 온풍기의 전원을 제어할 수 있는 방법을 찾아보게 되었습니다. 캠핑 필수아이템 미니 온풍기, 툴콘 CODE26 후기 코로나 사태가 장기화되면서 캠핑 다니시는 분들 많으시죠? 저도 작년부터 캠핑을 시작한 캠린이입니다. 하.. 2021. 5. 28.
Home Assistant, 더샵 아파트 월패드 연동 1편 - 설치환경 확인 및 홈오토메이션 관련 자료 수집 지금 살고 있는 아파트는 2014년도에 완공된 더샵 아파트입니다. 홈 네트워킹이 설치되어 있어서 월패드에서 전등을 켜고 끄거나 각방의 난방과 냉방을 조절하는 등 기본적인 기능이 가능합니다. 그런데 이게 흉내만 내다 말아서 편리하게 활용하기에는 너무 부족하고 그렇다고 아주 안 쓰자니 아쉽고 완전 계륵이라고 볼 수 있습니다. 어떤 식이냐면 제가 주로 취미생활을 하는 방에 전등 스위치는 이런 식으로 생겼습니다. 터치로 천장 형광등을 켜고 끌 수 있는 스위치가 하나 있고 그리고 방 좌우 벽에 설치된 콘센트를 차단하거나 연결하는 스위치 2개가 있습니다. 벽 콘센트는 사용 중인 전력량까지 표시가 되는 나름 스마트한 스위치입니다. 그런데 문제는 이 스위치는 홈네트워크에 연결되어 있지 않습니다. 그리고 원격으로도 집 .. 2020. 11. 16.
ESP8266 웹서버+웹소켓+파일시스템(SPIFFS) 예제 ESP8266 모듈을 사용해서 전등을 컨트롤하는 프로젝트를 진행했었습니다. 컨트롤 인터페이스를 위해서 ESP8266 모듈을 웹서버로 활용할 수 있는 기능을 사용했었는데요. HTML 코드를 문자열로 저장하고 있다가 요청이 오면 그 문자열을 반환해서 웹페이지를 보여주는 방식이었습니다. 하지만 이런 방법으로는 웹페이지를 디자인하는데 제한사항이 너무 많습니다. 일단 웹페이지 디자인 수정이 필요한 경우 펌웨어 자체를 다시 올려야 하기 문제가 있습니다. 물론 OTA를 이용해서 나름 편리하게 수정을 할 수 있지만 업데이트 때마다 서버가 중단되어야 하는 문제는 해결하지 못합니다. 그리고 웹페이지에서 사용할 수 있는 소스에도 한계가 있습니다. 물론 ESP8266 모듈의 용량이 코딱지 만하기 때문에 물리적인 한계는 있지만.. 2020. 10. 24.
아두이노 온습도 센서 - DHT11, DHT 22 온습도 센서 DHT11 그리고 DHT22를 사용해서 온도와 습도를 측정하는 방법입니다. DHT센서 기본 DHT11 센서와 DHT22 센서의 차이는 정밀도입니다. 많은 실습 키트 그리고 예제에서 DHT11 센서를 많이 사용하는데 DHT22는 DHT11보다 좀 더 정밀하게 온도와 습도를 측정할 수 있는 센서입니다. DHT11 센서와 DHT22 센서의 차이점을 간단히 비교해 보면 아래와 같습니다. 대표적인 차이는 DHT22 센서가 좀 더 넓은 범위의 온도와 습도를 좀 더 정확하게 측정할 수 있지만 대신 가격이 좀 더 비싸다는 겁니다. DHT센서는 내부에 온도와 습도를 측정할 수 있는 부품이 각각 들어있는데요. 온도 측정은 온도에 따라 저항이 변화는 성질을 가진 서미스터를 이용해서 측정합니다. 그리고 습도를 측.. 2020. 9. 28.
VS Code로 아두이노 업로드 - PlatformIO IDE 저는 Arduino IDE의 대안으로 Visual Studio(VS)에 Visual Micro라는 확장 프로그램을 깔아서 사용하고 있습니다. VS가 매우 무거운 프로그램이긴 하지만 그만큼 생산성을 높여주는 유용한 프로그램입니다. 그런데 Visual Studio Code(VS Code)에서도 아두이노를 코딩하고 업로드할 수 있는 "PlatformIO IDE(PIO)"라는 새로운 옵션을 알게 되어서 소개합니다. VS Code는 오픈소스의 텍스트 에디터라고 할 수 있는데요. 오픈소스답게 방대하고 막강한 확장 프로그램이 특징입니다. 그래서 다양한 플랫폼에서 사용 가능하고 다양한 코드 개발을 지원하기 때문에 단기간에 점유율이 급상승한 인기 프로그램입니다. 다양한 익스텐션을 활용하면 Visual Studio 못지않.. 2020. 7. 24.
PlatformIO IDE - UnicodeDecodeError 해결하기 Vsivual Studio Code + PlatformIO(PIO) 환경에서 아두이노 프로젝트 컴파일 할 때, 코드에 주석을 한글로 달아둔 경우 드물게 다음과 같은 에러가 발생하는 경우가 있습니다. "UnicodeDecodeError" 말 그대로 유니코드로 해석이 안됩니다 라는건데요. 뒤에 'cp949' 라는 부분은 윈도우에서 사용하는 인코딩의 한 종류로, 949번 코드페이지, 그러니까 한글 인코딩을 얘기하는 겁니다. cp949 말고 다른 메시지가 나올 수도 있는것 같습니다. 이 문제의 원인은, PIO가 파이썬3 기반으로 만들어져 있는데 파이썬에서 유니코드 인코딩의 텍스트를 읽어오는데 어떤 이슈가 있는것 같습니다. 대충 찾아본 바에 따르면 PIO차기 버전에서는 내장 파이썬 엔진 사용해서 이런 문제가 해결.. 2020. 7. 23.
안드로이드 스마트폰용 아두이노 IDE Arduinodroid의 업로드 에러 Arduinodroid는 스마트폰에서 아두이노 스케치를 편집하고 업로드하고 시리얼 모니터링도 할 수있는 스마트폰용 무료 IDE입니다. 그런데 간혹 몇몇 보드에서 컴파일은 잘되는데 아두이노로 업로드시에 에러가 발생하는 경우가 있습니다. ''ERROR: PROCESS RETURNED NOT ZERO RESULT CODE:1'' 이런 에러가 뜨면서 업로드가 되지 않는데 아무튼 관련된 찾아보니 역시나 솔루션이 있네요. 업로드를 할때 아두이노의 리셋버튼을 같이 눌러주면 된다고 합니다. 그러니까 컴퓨터로 업로드를 하면 업로드전에 자동으로 리셋이 되고 업로드가 이루어지는데 그 부분에서 이슈가 있는것 같습니다. 그래서 수동으로 리셋을 시켜주는거죠. 문제는 타이밍인데 업로드 직전에 기막힌 타이밍으로 눌러줘야지만 성공할 .. 2020. 1. 31.
아두이노, LCD 1602 I2C 모듈 사용하기 (feat. 주소에러) 아두이노와 LCD를 I2C로 연결해서 출력을 하는 방법입니다. 아두이노와 I2C 모듈이 있는 LCD 그리고 케이블들만 준비하시면 되겠습니다. (여기에서는 아두이노 나노 사용했습니다.) 하드웨어 LCD 1602 I2C 모듈 사용할 LCD 1602 i2c 모듈의 사진입니다. 생김새를 보면 앞면은 LCD만 떡하나 달려있고 뒷면에는 이렇게 i2c변환 모듈이 달려있습니다. 이 변환 모듈이 없다면 LCD의 16개 핀을 다 컨트롤 해줘야 하는데 800원짜리 변환모듈만 있으면 단 4개의 핀으로 모든일을 다 할 수 있으니 참 편합니다. 하드웨어 연결 결선은 4개의 각 핀을 아두이노와 LCD 모듈을 동일하게 연결해 줍니다. GND와 VCC는 잘 알겠는데 SDA, SCL은 뭐지 할 수 있을텐데요. i2c라는 통신방식을 이용.. 2019. 11. 20.
아두이노 I2C 스캐너, LCD 1602 I2C 모듈 주소 찾기 LCD 1602 I2C 모듈을 사용하는 방법을 소개한 포스팅(https://kwonkyo.tistory.com/309)에서 주소값 불일치로 인한 오류에 대해서 언급한 적이 있었습니다. 이번에는 LCD의 이 주소값을 확실하게 확인 할 수 있는 방법을 공유합니다. 아두이노를 통해서 주소값을 검색하고 시리얼 모니터로 이값을 확인하도록 하는방법입니다. 본론으로 들어가기 전에 인터넷을 검색하다가 발견한건데 모듈의 주소값을 정리해 놓은 사진이 있어서 기록으로 남깁니다. 어디서 받았는지 기억이 안나네요... 아무튼 아래에서 소개할 방법이 귀찮으신 분들은 이 그림보시고 주소값 먼저 확인해 보셔도 좋을 것 같습니다. 모듈 뒷면에 A0, A1, A2 라고 표시된 단자에 점퍼 연결여부에 따라서 주소값이 다른거 같습니다. 제.. 2019. 11. 20.
ArduinoDroid - 스마트폰에서 아두이노 코딩과 업로드 그리고 시리얼모니터링 까지 오늘은 안드로이드 어플 소개입니다. 안드로이드 스마트폰에서 아두이노 코딩도하고 코드 업로드도 하고 심지어 시리얼 모니터링까지 할 수 있는 IDE 어플입니다. ArduinoDroid - Arduino IDE - Google Play 앱 Important: The app takes about 210Mb as it contains IDE, compiler and uploader. Make sure you have enough free space in internal storage and it can't be installed on sd card because of Android security policy. Features: * open/edit Arduino sketches * examp play.googl.. 2019. 7. 24.
Nextion LCD, HMI펌웨어 USB로 업로드 이전 포스팅에서 터치가 가능한 컬러 LCD 부품이면서 그래픽의 HMI를 손쉽게 만들 수 있는 부품인 Nextion LCD에 대해서 언급했었습니다. Nextion LCD 사용기, Arduino SoftwareSerial로 연결해서 온습도(DHT22)측정 및 LED컨트롤 전용 소프트웨어를 통해서 GUI를 만들고 이걸 Nextion에 업로드해서 사용하는 방식인데, 업로드때 sd메모리를 이용해서 업로드를 했었습니다. 그런데 그 방법 말고도 다른 방법이 하나더 있습니다. 바로 USB포트에 연결해서 컴퓨터에서 바로 연결하는 방법입니다. 대신 Nextion에는 USB포트가 없기 때문에 USB - UART 어댑터가 필요합니다. 저는 FT232RL이라는 부품 사용하였습니다. 그리고 이 어댑터 사용시 PC에서 드라이버를 .. 2019. 7. 6.
아두이노 공기질 감시기 만들기 (PMS7003 미세먼지 센서, Nextion LCD를 동시에 Softwareserial 2개로 연결) 2020-06-20 update log: Nextion LCD를 softwareSerial로 연결하기위해 필요한 설정에 대해서 설명이 생략된 부분이 있어서 보완했습니다. 아두이노 프로젝트 - 미세먼지 측정기 및 온습도계 만들기 (feat. by multiple Softwareserial of Arduino) 아두이노를 활용한 공기질 감시기(미세먼지 측정기 + 온습도계)를 만들어 봤습니다. 저는 미세먼지에 민감한 편인 한사람으로써 미세먼지 관련 프로젝트를 진행하고 있습니다. 가지고 다니면서 온습도 및 미세먼지를 측정할 수 있는 그런 장치를 만들려고 합니다. 이번 포스팅은 그 첫번째 단계로 기능구현을 해보는 그런 작업입니다. 최종 결과물을 먼저 보여드리면 이렇습니다. 미세먼지를 PM1, PM2.5, PM10.. 2019. 3. 29.
Nextion LCD 사용기, Arduino SoftwareSerial로 연결해서 온습도(DHT22)측정 및 LED컨트롤 1.개요 그동안 컴퓨터 시리얼을 연결하지 않고 아두이노에서 독립적으로 동작하는 프로젝트는 IIC방식의 1602 LCD를 사용해서 작동상태를 확인하였습니다. 센서값을 확인하거나 간단히 동작상태를 모니터링 하는 용도로는 그정도면 충분했었습니다. 그렇지만 센서정보가 많아지면 32글자라는 화면 제약이 답답하기만 합니다. 그리고 좀더 그럴듯한 인터페이스를 만들고 싶은 욕심도 생기다 보니 좀더 좋은 디스플레이를 써보고 싶다는 생각이 들었습니다. 그렇지만 디스플레이를 그럴듯하게 보이도록 만드는거 자체가 하나의 프로젝트가 될 수도 있기 때문에 선뜻 시작할 엄두를 내지 못했었죠. 그런데 Nextion 디스플레이란 제품을 알게되었습니다. 일반적인 디스플레이 가격보다는 조~금 비싸긴 하지만 아주 쉽게 아두이노와 연동되는 G.. 2019. 3. 20.
새로운 Fritzing 부품 만들기 - Nextion Display for Fritzing 개요 아두이노등을 활용한 나만의 프로젝트를 진행할때 회로도를 그려야 할일이 있습니다. 기본적으로는 아두이노와 각종 부품들의 배선을 알아보기 쉽게 표현하기 위해서 회로도로 그려보기도 합니다. 그리고 가끔은 장기간 사용하기위한 회로를 만들기 위해서 만능기판에 납땜질을 하기도 하는데 이때 회로도를 그려서 최적화된 배선을 찾는등 작업이 필요할 때도 있습니다. 회로도를 그리는 프로그램은 매우 다양한 프로그램들이 있습니다. 전문가용 상용프로그램들은 기능도 참 많고 좋은데 그만큼 가격도 비싸서 저처럼 단순취미인들에게는 돼지목에 진주목걸이입니다. 전통적 강자인 OrCad같은 경우는 패키지별로 수십에서 수백정도 하는것 같더라구요. 하지만 요즘이 어떤시대입니까? 개방의 시대(?) 아니겠습니다. 상용프로그램 못지않는 기능을.. 2019. 3. 15.
아두이노 미세먼지 측정기 만들기 (PMS7003센서 사용기) 개요 미세먼지 농도를 측정하는 아두이노 프로젝트입니다. 제법 정밀한 센서로 알려져 있는 PMS7003센서를 사용하고 아두이노를 이용해서 센서를 동작하고 데이터를 확인하도록 하겠습니다. 준비물 PMS7003 센서 아두이노 우노 R3 아두이노 업로드 및 전원용 USB케이블 점프케이블 빵판 PMS7003 센서 특징 PMS7003센서는 공기중의 부유 미세입자의 농도를 측정하는 센서입니다. 그리고 측정된 결과는 디지털 인터페이스(UART)로 출력합니다. datasheet의 성능요약 테이블을 살펴보겠습니다. 측정가능한 최소 입자크기는 0.3마이크론 까지인데 보시는것 처럼 측정효율이 많이 떨어집니다. 그래서 실질적인 측정가능 입자크기는 최소 0.5마이크론으로 봐야 겠습니다. 측정 농도의 범위는 PM2.5를 기준으로 .. 2019. 3. 11.