본문 바로가기

아두이노27

아두이노 버튼 짧게 누르기/길게 누르기 구현(ezButton 라이브러리) 아두이노 프로젝트에서 버튼은 프로젝트 기능을 풍부하게 만들어 줄 수 있는 중요한 요소입니다. 그러나, 하드웨어 적으로는 입력 핀에 연결된 스위치를 통해서 High/Low 전압 값을 읽어 들이는 간단한 메커니즘이지만 스프트웨어 적으로는 인터럽트, 디바운싱, 풀업/다운 저항 등 입문자 입장에서는 부담스러울 수 있는 여러 가지 고려사항이 있는 까다로운 요소입니다. 오늘은 이런 난감한 상황을 시원하게 해결해 줄 수 있는 "ezButton"이라는 라이브러리를 알아보겠습니다. ezButton 라이브러리 ezButton은 debounce, 버튼의 닫힘, 열림 이벤트 등을 지원하는 아두이노 라이브러리입니다. 지원기능 지원되는 기능은 다음과 같습니다. Uses the internal pull-up resistor to .. 2023. 10. 3.
아두이노 + 자외선(UV)센서 모듈 사용법2 - SZH-CH025 예전에 UV센서 모듈을 구입해서 간단히 사용해 본 적 있었는데(아두이노 + 자외선(UV) 센서 모듈 사용법), 불량이었는지 금방 고장이 나서 이번엔 비슷하지만 다른 제품을 구매해 봤습니다. UV센서 자체는 동일한 모델(GUVA-S12SD)을 사용하는 것 같고 출력 회로만 살짝 다른데 사용법도 동일하고 스펙도 거의 동일합니다. 자외선 센서 제품 사양 살펴보면 다음과 같습니다. 자외선의 탐지범위는 이전에 사용했던 것보다 약간 더 좁은 약 240~370nm 파장이라고 되어있네요. 센서자체는 동일한데 이전에 사용했던 모델은 왜 200nm부터가 탐지범위라고 했는지 지금에서야 좀 의문스럽네요. ㅎ (판매하시는 분들도 워낙 많은 물건을 다루시다 보니 정확한 스펙을 기재하기 어려운 점이 있는 것 같습니다.) 사양(Sp.. 2023. 8. 19.
UART 시리얼 통신의 기본 아두이노에서 여러 기기들 간의 통신에 시리얼 통신(Serial Communication)을 많이 사용합니다. 저도 시리얼(Serial or UART)로 정보를 주고받는 기기들을 종종 사용하긴 하지만 대부분의 경우 라이브러리를 사용하기 때문에 깊이 있는 이해가 부족했습니다. 그러다 보니 문제가 생기면 어디서부터 접근해야 할지 막막한 경우가 생기더군요. 저도 이번에 시리얼 포트로 연속적으로 수신되는 데이터를 처리해야 하는데 생각처럼 잘 되지 않았고 그래서 시리얼에 대해서 되도록이면 기초부터 공부를 해야 할 필요를 느껴서 정리를 좀 했습니다. 시리얼 통신은 직렬 통신 시리얼(Serial) 통신이라는 건 전달해야 할 데이터를 직렬로 전달하는 방법을 지칭하는데요. 직렬이라는 건 데이터를 순서대로 차례차례 주고받는.. 2023. 1. 25.
아두이노 + ESP8266으로 무선으로 확인하는 오실로스코프 (Arduino -Web Oscilloscope 수정) 남아서 돌아다니는 아두이노와 wifi모듈을 이용해서 오실로스코프를 흉내 내 볼 수 있는 아주 재미난 설루션이 있어서 공유합니다. 배경 아두이노 등의 보드를 다루다 보면 디버깅이 지원되지 않는 환경에서 원하는 동작이 되지 않을 때 뭐가 문제인지 몰라서 답답하는 적이 있습니다. 이럴 때 아주 가~끔 오실로스코프가 있으면 확인해 볼 수 있을 것 같은데 라는 생각을 할 때가 있습니다. 물론 그 아주 가~끔의 활용도를 위해서 비싼 돈을 들여서 오실로 스코프를 사는 건 배보다 배꼽이 더 큰 상황이기 때문에 다른 방법을 찾게 되는데요. 오늘 소개할 설루션은 바로 이런 상황에서 사용해 볼 수 있을 유용한 팁 되겠습니다. Arduino - Web Oscilloscope (support trigger) - PHPoC Fo.. 2021. 12. 16.
온풍기용 스마트 플러그 업그레이드 - 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.
배터리를 사용하는 아두이노 프로젝트에 배터리 잔량 표시하기 리튬 폴리머 배터리를 사용해서 휴대용으로 만들어 본 미세먼지 측정기에 배터리 잔량을 표시하는 기능을 추가하였습니다. 배터리가 얼마나 남아있는지 알 수가 없었기 때문에 들고나갔다가 갑자기 꺼져버리게 되면 요즘은 micro-USB 단자를 충전할 수 있는 곳이 없기 때문에 난감해집니다. 아두이노 휴대용 미세먼지 측정기 만들기 완결편 - 아두이노 나노, PMS7003 센서, Nextion LCD, 3D프린� 2020-03-16 update log: 결선도 수정(아두이노 나노에서 5V외부입력 사용시 5V단자를 사용해야 함, Vin단자는 7V이상 전원 사용) 배경 지금 이 글을 쓰고 있는 2019년 7월 벌써 1주일이 넘게 미세먼지가 나�� kwonkyo.tistory.com 그래서 아두이노에 아날로그 단자를 이용.. 2020. 12. 7.
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.
DC Step-up 모듈 MT3608 직류 승압 모듈 MT3608입니다. 저전압의 전원 소스를 사용해야 할 때 필요한 작동 전압으로 승압시켜야 할 때 사용할 수 있는 모듈입니다. 저는 아두이노 보드를 사용하는데 3.7V의 리튬폴리머 배터리를 사용하기 위해서 사용하고 있습니다. 구성은 아주 단순합니다. 입력 전원 +, - 와 승압된 출력 전원 +, - 단자가 각각 있어서 입력된 전압을 설정값에 맞게 승압해서 내보내 주는 그런 역할을 하는 모듈입니다. 중요한 스펙 몇 가지만 집고 넘어가겠습니다. 칩셋: MT3608 입력 전압: 2 ~ 24 V 출력 전압: 5 ~ 28 V 최대 전류: 2A 저는 5V의 아두이노 보드를 사용하기 위해서 출력을 5V로 설정하였습니다. 전원 공급장치에서 약 3V정도의 전압을 걸어준 상태에서 모듈 중간 부분의 가변저항을.. 2020. 8. 17.
와이파이 모듈 ESP8266-01의 모든것 ESP8266은 Espressif systems라는 중국 업체가 설계한 마이크로 컨트롤러로 2014년에 출시된 칩입니다. ESP8266은 단순히 와이파이 모듈의 역할뿐만 아니라 아두이노와 같이 자체적으로 프로그램을 구동할 수 있는 그런 컨트롤러입니다. ESP8266은 마이크로 칩의 이름이지만 인터넷 상에서는 많은 다른 부품들이 그러하듯 모듈화 된 보드의 이름으로 통용되고 있습니다. ESP8266이라고 하면 원래는 위 사진에서 보듯 손톱보다 작은 저 칩을 얘기하는 겁니다. 그런데 저같이 아두이노를 취미로 하는 분들은 인터넷으로 쉽게 접하기를 아래와 같이 보드에 조립된 모듈을 ESP8266라고 알고 있는데요. 사실은 이건 ESP8266 칩을 기반으로 사용하기 쉽도록 만든 여러 가지 형태의 모듈 중에 하나입니.. 2020. 6. 12.
알리에서 구입한 가성비 직류전원 공급장치 - 이정도면 쓸만한거 아닐까요? 요즘 부쩍 알리익스프레스에서 구매하는 물건이 많아지고 있습니다. 알리를 경험허기전에는 중국에서 물건이 정말 제대로 오긴 하는거야? 그리고 물건에 이상이 있으면 반품이며 여러가지 복잡한 일을 어떻게 감당하지? 싶어서 엄두가 나지 않았는데 하나둘 사다보니 이제는 너무 익숙해져 버렸습니다. 그래서 또하나 질러버린 전원공급장치입니다. 아두이노 공부하고 전자제품 분해도 하면서 전원공급장치가 가~끔 있었으면 좋겠다 생각을 했었는데 알리를 보다가 이런 말도 안되는 가격을 찾았습니다. 30V, 10A 직류 공급이 가능한 전원공급장치를 단돈 23.73달러!! 환율을 1200원으로 계산하면 약 2만8천원이라서 뒤도 안돌아보고 구매를 했습니다. 그런데 그럼 그렇지 배송비로 26달러를 뜯어갔습니다. 최저가 낚시에 걸려든것이죠.. 2020. 6. 4.
아두이노 + 블루투스 모듈 (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.
아두이노 + 자외선(UV) 센서 모듈 사용법 아두이노를 이용해서 자외선 센서 모듈을 사용하는 방법과 자외선을 측정해본 결과입니다. 준비물 아두이노(나노를 사용했어요.) 자외선 센서 모듈 점프 케이블 자외선 센서 약 200~370nm 파장 범위의 빛의 강도를 측정하는 아날로그 센서입니다. 자외선의 강도를 출력 전압으로 읽어올 수 있으며 출력전압이 자외선 지수에 맞도록 캘리브레이션이 되어 있어서 출력전압에 10을 곱해주면 그 값이 자외선지수가 된다고 합니다. 사용도 간편하고 반응 속도도 빠르며 전력소모도 적은 편리한 센서 모듈입니다. 사양 (Specification) 작동 전압 : DC 3.3V ~ 5V 출력 전압 : DC 0~1V 시험 정확도 : ±1UV INDEX 전류 : 0.06mA,최대 0.1mA 응답 파장 : 200nm~370nm 응답 시간 .. 2020. 5. 2.
안드로이드 스마트폰용 아두이노 IDE Arduinodroid의 업로드 에러 Arduinodroid는 스마트폰에서 아두이노 스케치를 편집하고 업로드하고 시리얼 모니터링도 할 수있는 스마트폰용 무료 IDE입니다. 그런데 간혹 몇몇 보드에서 컴파일은 잘되는데 아두이노로 업로드시에 에러가 발생하는 경우가 있습니다. ''ERROR: PROCESS RETURNED NOT ZERO RESULT CODE:1'' 이런 에러가 뜨면서 업로드가 되지 않는데 아무튼 관련된 찾아보니 역시나 솔루션이 있네요. 업로드를 할때 아두이노의 리셋버튼을 같이 눌러주면 된다고 합니다. 그러니까 컴퓨터로 업로드를 하면 업로드전에 자동으로 리셋이 되고 업로드가 이루어지는데 그 부분에서 이슈가 있는것 같습니다. 그래서 수동으로 리셋을 시켜주는거죠. 문제는 타이밍인데 업로드 직전에 기막힌 타이밍으로 눌러줘야지만 성공할 .. 2020. 1. 31.