본문 바로가기

Arduino21

아두이노 + ESP8266으로 무선으로 확인하는 오실로스코프 (Arduino -Web Oscilloscope 수정) 남아서 돌아다니는 아두이노와 wifi모듈을 이용해서 오실로스코프를 흉내 내 볼 수 있는 아주 재미난 설루션이 있어서 공유합니다. 배경 아두이노 등의 보드를 다루다 보면 디버깅이 지원되지 않는 환경에서 원하는 동작이 되지 않을 때 뭐가 문제인지 몰라서 답답하는 적이 있습니다. 이럴 때 아주 가~끔 오실로스코프가 있으면 확인해 볼 수 있을 것 같은데 라는 생각을 할 때가 있습니다. 물론 그 아주 가~끔의 활용도를 위해서 비싼 돈을 들여서 오실로 스코프를 사는 건 배보다 배꼽이 더 큰 상황이기 때문에 다른 방법을 찾게 되는데요. 오늘 소개할 설루션은 바로 이런 상황에서 사용해 볼 수 있을 유용한 팁 되겠습니다. Arduino - Web Oscilloscope (support trigger) - PHPoC Fo.. 2021. 12. 16.
벽돌이 된 wemos d1 mini 소생시키기 wemosd d1 mini 모듈이 벽돌이 되었을 때 해결하는 방법입니다. 컴퓨터에서는 모듈의 USB 인식에 아무런 문제가 없지만 esptool에서 모듈 정보를 전혀 읽어오지 못하고 펌웨어를 리셋하려고 해도 계속 에러만 발생합니다. Wemos D1 모듈은 USB로 연결을 했을 때 자동으로 펌웨어 프로그래밍 모드로 전환을 해주지만 부팅 모드 전환에 문제가 발생하기 때문에 이런 현상이 생기는 것 같습니다. 아두이노 IDE에서 가장 기본적인 옵션으로 업로드를 시도해봐도 아무런 효과가 없습니다. 해결책 만약 하드웨어상 문제가 없다면 이럴 때는 모듈을 부팅할 때 강제로 프로그래밍 모드로 진입할 수 있도록 해주면 됩니다. 방법 1 GND-D1포트를 연결한 상태에서 USB에 연결해줍니다. ESP8266을 다운로드 모드.. 2021. 12. 12.
온풍기용 스마트 콘센트 업그레이드 - WebSocket으로 동적 제어 및 센서값 기록하기 배경 ESP8266 모듈을 사용하는 데 있어서, 제 수준에서는 나름 끝판왕 프로젝트라고 할 수 있을 것 같습니다. 얼마 전에 캠핑장에서 사용하는 온풍기를 온도에 따라 자동으로 끄고 켜주기 위해서 릴레이를 ESP8266 모듈 중 하나인 wemos d1 mini에 연결하고 온습도 센서도 연결해서 온도 값에 따라서 온풍기가 연결될 릴레이를 컨트롤하는 프로젝트를 했던 적이 있었습니다. 프로젝트에 대한 상세는 아래 링크를 참고해 주세요. 온풍기 자동 온도조절용 스마트 콘센트 DIY 2021-06-03 update log: 캠핑장 실 사용 후기 추가 ESP8266 모듈을 활용한 새로운 프로젝트 캠핑용 온풍기를 온도조절이 가능하도록 하는 스마트 플러그를 만들어볼까 합니다. 지난번에 캠핑용 온풍기를 kwonkyo.ti.. 2021. 9. 18.
온풍기 자동 온도조절용 스마트 콘센트 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.