본문 바로가기

Hardware/MCU(Arduino,ESP8266)48

ESP8266 모듈 8종 Fritzing 파트 파일(fzpp) 모음 ESP8266 기반의 모듈 8종의 Fritzing 부품 파일입니다. Fritzing에서 새로운 부품 만들어 넣기가 여간 까다로운게 아닌데 감사하게도 많이 사용하는 ESP8266모듈들을 만들어주셨네요. 출처인 아래 github에서 받으실 수도 있어요. ydonnelly/ESP8266_fritzing Fritzing part for an ESP8266-based WiFi module. Contribute to ydonnelly/ESP8266_fritzing development by creating an account on GitHub. github.com 2020. 9. 26.
ESP8266 펌웨어 무선(OTA) 업데이트 ESP8266 Wifi 모듈에서 스케치를 무선으로 업데이트하는 OTA(Over the Air) 사용방법입니다. OTA는 무선으로 펌웨어나 설정, 보안 사항 등 변경 내용을 무선으로 배포하는 방식을 총칭하는 용어인데요. ESP8266 모듈에서도 이 스마트해 보이는 기능을 간단하게 사용할 수 있습니다. 제가 요즘 많이 사용하는 ESP01 모듈의 경우 USB 포트가 없기 때문에 코드를 수정해서 올릴 때마다 프로그래밍 보드에 연결하는 수고를 들여야만 합니다. 게다가 만약 어떤 프로젝트의 부품으로 패키징이 완성된 어떤 디바이스에 사용 중이라면 코드를 변경하기 위해서 조립된 패키징을 열어서 ESP 꺼내와서 컴퓨터에 연결해야지 업데이트를 할 수 있기 때문에 여간 불편한 게 아닙니다. 이럴 때 OTA를 사용하면 컴퓨터.. 2020. 9. 2.
ESP01 모듈로 만드는 IoT 웹서버 - WIFI로 전등 켜기 요즘은 ESP8266 보드를 아두이노 보다 더 많이 사용하고 있습니다. USB 포트가 없어서 별도로 USB-UART 변환 도구가 있어야 하는 불편함이 있지만 크기도 작고 와이파이도 사용할 수 있기 때문에 실생활의 활용도 면에서 더 장점이 많지 않나 싶습니다. 오늘은 지금까지 ESP01 모듈에 Blynk 라이브러리를 올려서 만들었던 와이파이 스위치를 Blynk 대신 ESP8266WebServer.h 라이브러리를 이용해서 ESP01 모듈 자체를 웹서버로 만들어서 와이파이 스위치 기능을 구현하려고 합니다. 이전 포스팅 내용은 아래 2개의 링크 참고해 주세요. ESP01 모듈 활용, 핸드폰으로 켜고 끄는 IoT 전등 만들기 지난 포스팅에서는 간단하게 ESP01 모듈에 Blynk를 이용해서 모듈의 내장 LED를 .. 2020. 8. 28.
analogRead() & AREF핀 사용법 아두이노에서 아날로그 전압값을 읽어야 할 때 더 정확하게 측정할 수 있도록 도와주는 AREF(Analog Reference) 단자의 사용방법 알아보겠습니다. analogRead() 아두이노 보드에는 10비트 아날로그-디지털 컨버터가 있어서 입력되는 값을 10비트 그러니까 1024개로 쪼개서 그 정도를 0에서 1023의 디지털로 표시하게 됩니다. 아두이노 우노 보드를 예로 들면 6 채널 AD 컨버터가 있어서 A0~A5핀을 아날로그 입력 핀으로 사용할 수 있으며 5V로 동작하는 보드이기 때문에 0~5V 값을 읽을 수 있습니다. 만약 아날로그 핀에 0V가 걸리면 0이 그리고 5V가 걸리면 1023이라는 숫자를 읽어오게 되고 그 이상의 전압이 걸리게 되면 1023으로만 표시됩니다. 그래서 숫자 "1"이 의미하는.. 2020. 8. 28.
ESP01 모듈 활용, 핸드폰으로 켜고 끄는 IoT 전등 만들기 지난 포스팅에서는 간단하게 ESP01 모듈에 Blynk를 이용해서 모듈의 내장 LED를 핸드폰으로 껐다가 켜는 예제를 한번 따라 해 봤었습니다. 원격으로 스위치 제어를 하기 위한 로직을 구현해 봤으니 이번에는 실제로 실생활에서 사용할 수 있는 IoT 스위치를 만들어 보려고 합니다. 알리를 검색하다보니 ESP01 모듈로 사용할 수 있는 릴레이 제품을 발견할 수 있었습니다. ESP01 모둘의 GPIO 핀의 신호를 받아서 릴레이를 컨트롤할 수 있도록 모듈 형태로 만들어진 제품입니다. "ESP01 Relay module"이라고 검색하면 되고 가격도 1달러가 되지 않습니다. ESP01 모듈을 포함해도 3달러가 넘지 않으니 부담 없이 한번 테스트해볼 수 있습니다. 릴레이 스위치를 이용해서 제어를 해볼 제품은 전등으.. 2020. 8. 27.
ESP8266-01 모듈로 Blynk 시작하기 - 원격으로 LED 켜고 끄기 Blynk라는 솔루션을 아시나요? 엄청 편리하고 디자인도 이쁘고 거기다가 무료(일부만)라서 많이들 사용하실텐데요. 아두이노, ESP8266 등 컨트롤러를 컴퓨터와 유선으로 혹은 BT, WIFI를 이용해서 무선으로도 연결해서 IOT 프로젝트를 구현해볼 수 있는 그런 서비스입니다. Blynk Join the most popular IoT platform to connect your devices to the cloud, design apps to control them, and manage your deployed products at scale blynk.io 오픈소스 기반의 라이브러리와 다양한 예제가 제공되고 핸드폰용 어플도 매우 직관적으로 사용할 수 있도록 잘 만들어져 있어서 처음 시작해도 손가락 몇번.. 2020. 8. 18.
DC Step-up 모듈 MT3608 직류 승압 모듈 MT3608입니다. 저전압의 전원 소스를 사용해야 할 때 필요한 작동 전압으로 승압시켜야 할 때 사용할 수 있는 모듈입니다. 저는 아두이노 보드를 사용하는데 3.7V의 리튬폴리머 배터리를 사용하기 위해서 사용하고 있습니다. 구성은 아주 단순합니다. 입력 전원 +, - 와 승압된 출력 전원 +, - 단자가 각각 있어서 입력된 전압을 설정값에 맞게 승압해서 내보내 주는 그런 역할을 하는 모듈입니다. 중요한 스펙 몇 가지만 집고 넘어가겠습니다. 칩셋: MT3608 입력 전압: 2 ~ 24 V 출력 전압: 5 ~ 28 V 최대 전류: 2A 저는 5V의 아두이노 보드를 사용하기 위해서 출력을 5V로 설정하였습니다. 전원 공급장치에서 약 3V정도의 전압을 걸어준 상태에서 모듈 중간 부분의 가변저항을.. 2020. 8. 17.
PlatformIO.ini 설정 모음 Platformio에서 보드별로 "platformio.ini"를 설정하는 방법을 모아둔 페이지 입니다. 공통 [common] lib_deps = [의존 라이브러리명] lib_dir = [사용자 라이브러리 폴더명] lib_deps = ${common.lib_deps} 아두이노 우노 [env:uno] platform = atmelavr framework = arduino board = uno 아두이노 나노 [env:nano] platform = atmelavr framework = arduino board = nanoatmega328 ESP8266 [env:esp8266] platform = espressif8266 board = esp01_1m framework = arduino 2020. 8. 8.
리튬폴리머 배터리 + 충방전 및 배터리 보호 모듈(TP4056, DW01A) 아두이노로 나만의 프로젝트를 완성하고 나면 활용까지 해봐야 할 텐데, 대부분의 개발단계에서 사용되는 전원은 PC의 USB인 경우가 많습니다. 그런데 완성된 아두이노 프로젝트를 사용하기 위해서 매번 PC를 켜는 건 배보다 배꼽이 더 커지는 상황이고 야외에서 사용해야 하거나 할 때는 PC를 가지고 다닐 수도 없기 때문에 다른 방법이 필요합니다. 그래서 오늘은 주변 전자기기에서 많이 사용하는 리튬폴리머 배터리와 배터리 충전 모듈에 대한 이야기입니다. 리튬폴리머 배터리 배터리는 종류가 참 많습니다. 충전을 할 수 있는 것도 있고 충전은 안되지만 마트에서 쉽게 살 수 있는 알카라인 건전지도 있고 전압도 손가락 만한 AAA, AA 규격의 건전지는 1.5V이고, 네모난 9V의 건전지도 있습니다. 이런 건전지들 중에서.. 2020. 8. 5.
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.
ESP-01 모듈용 아두이노 쉴드 제작 ESP-01 와이파이 모듈을 조금 공부해 보고 나니 이것저것 해보고 싶은 것들도 있고 테스트해보고 싶은 것도 하나둘 생기고 하니 ESP-01 모듈용 어댑터를 구매해야 하나라는 고민이 들었습니다. ESP-01 모듈을 아두이노에 연결해서 사용했었는데 회로가 복잡한 건 아니지만 필요할 때마다 회로 꾸며서 사용하기도 귀찮고 그렇다고 하나뿐인 빵판을 ESP모듈용으로 꾸며둘 수도 없어서 어댑터를 알아봤는데, 단순히 USB에 연결만 해주는 브릿지가 5천원이나 하고 펌웨어 올리고 확인하는 것 외에는 GPIO 핀을 테스트하기도 힘들고 해서 전혀 가성비가 없는 것 같았습니다. 그냥 아두이노 쉴드 형태로 만들어두고 필요할 때마다 아두이노에 꽂아서 쓰면 좋겠다 싶어서 쉴드를 만들어 보기로 했습니다. ESP-01 모듈로 공부 .. 2020. 6. 14.
와이파이 모듈 ESP8266-01의 모든것 ESP8266은 Espressif systems라는 중국 업체가 설계한 마이크로 컨트롤러로 2014년에 출시된 칩입니다. ESP8266은 단순히 와이파이 모듈의 역할뿐만 아니라 아두이노와 같이 자체적으로 프로그램을 구동할 수 있는 그런 컨트롤러입니다. ESP8266은 마이크로 칩의 이름이지만 인터넷 상에서는 많은 다른 부품들이 그러하듯 모듈화 된 보드의 이름으로 통용되고 있습니다. ESP8266이라고 하면 원래는 위 사진에서 보듯 손톱보다 작은 저 칩을 얘기하는 겁니다. 그런데 저같이 아두이노를 취미로 하는 분들은 인터넷으로 쉽게 접하기를 아래와 같이 보드에 조립된 모듈을 ESP8622라고 알고 있는데요. 사실은 이건 ESP8622 칩을 기반으로 사용하기 쉽도록 만든 여러 가지 형태의 모듈 중에 하나입니.. 2020. 6. 12.
아두이노 + 블루투스 모듈 (HC05, HC06) 기본 사용법 2020-11-17 update log: 결선도 오류 수정 블루투스모듈 HC05를 아두이노에서 사용하는 방법입니다. 준비물 아두이노 우노 블루투스 모듈 HC-05(ZG-B23090W) 점프케이블 저항 1kΩ, 2kΩ HC-05 아두이노 실습용으로 가장 많이사용하는 블루투스 모듈로는 HC05, HC06 두가지가 있는데 이 두가지 모듈의 차이점에 대해서 설명한 자료들은 많기 때문에 생략하고 제가 가지고 있는 HC05 모듈에 대해서 간략히 정리합니다. 블루투스는 마스터기기와 슬레이브기기가 서로 쌍으로 연결이되어 통신을하도록 되어 있는데 쉽게 생각해서 스마트폰으로 음악을 들을때 핸드폰이 마스터기기가 되고 블루투스 이어폰이 슬레이브기기가 되는식입니다. HC05는 마스터와 슬레이브 역할을 모두 할수 있는 모듈입니다.. 2020. 5. 22.
아두이노, 미세먼지 센서 + Time Timer 하나로 합치기 도입 이번 포스팅은 Nextion LCD에서 여러개의 페이지를 만들고 선택에 따라서 각 페이지별로 독립된 기능이 실행되도록 아두이노와 연계하는 방법입니다. 그래서 Nextion에서 선택하는 메뉴에 따라 아두이노와 Nextion이 상호적으로 작동을하도록 해서 여러가지 기능을 할 수 있는 복합 디바이스를 만드는 그런 방법 되겠습니다. 말은 거창했지만 간단히 얘기해서, 이전에 소개했던 아래 2개의 포스팅을 하나로 합쳐보는 시간이 되겠습니다. 첫번째 기능은 Nextion에서 동작하는 타이머 기능입니다. Nextion 단독으로만 구현된 기능이며 시간을 설정하면 그 시간동안 남은 시간을 시각적으로 보여주고 간단한 기능을 수행합니다. Nextion LCD만으로 Time Timer MOD(타이머) 만들기 이번 포스팅은.. 2020. 5. 6.