본문 바로가기

개발자/Arduino

방수 초음파 센서 사용 거리 측정 Waterproof Ultrasonic Sensors 이번 튜토리얼에서는 실외 사용에 적합한 몇 가지 초음파 거리 센서를 살펴볼 것입니다. 이전에 사용했던 초음파 거리 센서와 달리 오늘 소개하는 센서는 방수 기능이 있어 물속이나 야외에서 사용이 가능합니다. HC-SR04 초음파 거리 센서를 여러 번 사용 했으며 여러 가지 좋은 이유가 있습니다. 그것은 사용하기 매우 쉽고 성능이 좋으며 매우 저렴합니다. 실내에서 사용하는 한 충돌 회피 로봇 또는 침입자 감지의 경우 일반적으로 이 센서만 있으면 됩니다. 방수 초음파 거리 센서 그러나 외부에서 HC-SR04를 사용하는 것은 다른 이야기입니다. 그것은 매우 깨지기 쉬운 장치이며 먼지나 강한 바람에도 쉽게 손상될 수 있습니다. 그리고 무엇보다 방수가 안됩니다. 회로 기판을 밀봉해도 회로 기판이 보호되지 않습니다. ..
Nano 33 IoT HC-SR04 거리 센서 코드 Nano 33 IoT HC-SR04 거리 센서 사용하기 HC-SR04 거리 센서는 2cm – 4m 범위에서 합리적으로 신뢰할 수 있는 거리 판독 값을 제공하는 저렴하고 유비쿼터스한 거리 센서입니다. 이 실습에서는 이 센서를 Arduino 마이크로컨트롤러와 함께 사용하는 방법을 배웁니다. 아래 그림은 초음파 거리센서 실습을 진행하기 위해 필요한 부품입니다. 센서 작동 방식 HC-SR04 센서는 40KHz 초음파 신호를 보내고 대상에서 반사되어 센서로 돌아올 때까지 기다립니다. 공기 중 음속은 상당히 일정하므로 음이 되돌아오는 데 걸리는 시간을 읽으면 대상까지의 거리를 추정할 수 있습니다. 센서를 작동하려면 센서의 트리거 핀에 10마이크로초의 로우-하이 펄스를 보냅니다. 이것은 센서가 초음파 신호를 보내도록..
LPS22HB 압력 센서 아두이노 실습하기 ARDUINO AND LPS22HB ABSOLUTE PRESSURE SENSOR EXAMPLE 가을이 쏴 몰려온다. 노랑, 주황10월 부터 대면수업이 가능해 지고 학교는 부쩍 아이들이 많아졌다. 지금 이 순간보다 더 좋은 때는 이전에도 없었고, 앞으로도 오지 않는다. 강의실을 변경해 대면수업을 진행하기로 한다. 가장 아름답고 건강하고 푸르디 푸른 시절을 지내는 아이들에게 계절따위가 무어그리 대수인가? 계절은 지루하고 지루하게 일상을 사는 어른들이 하다 하다 못해 계절에게까지 의미를 부여하는 일을 만들어 준다. "가을이 좋다고 생각하니 갑자기 주체할 수 없을 정도로 가을이 좋아졌다. 누렇게 떡잎 진 나뭇잎이 길바닥에 뒹구는 것도 좋았고, 노란 잔디가 시들고 엉성하게 꺾어져 가는 모습도 못 견디게 좋았다. ..
아두이노를 활용한 스마트 기기 제어 시스템 개발 교육과정 아두이노를 활용한 스마트 기기 제어 시스템 개발 소프트웨어 교육용 디바이스로 많이 알려진 아두이노 플랫폼에서 센서 데이터와 디바이스 제어 방법을 학습합니다. 이를 위해 오픈 소스 하드웨어 소프트웨어 산업에 대해 이해하고, 아두이노 개발환경에 대해 배웁니다. 다양한 센서와 액츄에이터를 연결하여 데이터로 수집하고, 수집한 데이터를 분석하여 액츄에이터를 제어하는 방법을 알아봅니다. 아두이노 시스템을 IoT에 활용하기 위해 통신 시스템을 이해하는 것은 필수적인 일이라 여러가지 무선 통신 방법을 학습합니다. 아래 교육과정을 참고하세요. 구분 시간 교육내용 1일 4시간 오픈 플랫폼 개발 환경 구축 및 디바이스 제어 (오픈 플랫폼 개발 환경 구축) - 아두이노 소개 - 아두이노 플랫폼 - 아두이노 시작하기 - 아두이..
아두이노 DC 전류 측정 INA219 전류 센서 사용하기 아두이노 DC 전류 측정 INA219 전류 센서 사용하기(INA219 High Side DC Current Sensor Breakout - 26V ±3.2A Max -) INA219B 브레이크아웃 보드와 INA219 FeatherWing은 모든 전력 모니터링 문제를 해결합니다. 2개의 멀티미터로 어려움을 겪는 대신 이 브레이크아웃을 사용하여 1% 정밀도로 I2C를 통한 높은 측 전압 및 DC 전류 소모를 모두 측정할 수 있습니다. 왜 하이사이드인가? 당사의 전류 패널 미터와 같은 대부분의 전류 측정 장치는 로우 사이드 측정에만 적합합니다. 즉, 배터리를 사용하지 않으려면 대상 접지와 실제 접지 사이에 측정 저항을 붙여야 합니다. 저항 양단의 전압 강하는 전류 소모에 비례하기 때문에 접지 기준이 전류 변화..
nano 33 iot Serial Port Outputs make unstable WiFi Connection nano 33 iot Serial Port Outputs make unstable WiFi Connection Nano 33 IoT 보드에서 타이머 인터럽트와 함께 Serial Port 출력을 자주 사용하는 것은 wifi 연결을 불안정하게, 그러니까 자주 연결을 끊어지게 만든다. 자세한 원인은 아직 확인중이라서 모르겠는데 테스트를 해보니 확실히 드러난다. 1초 주기마다 카운터를 증가시키는 타이머 인터럽트에서 씨리얼 모니터로 타이머 값을 프린트 하는 코드는 아래와 같다. //Here Start Timer function //this function gets called by the interrupt at Hertz void TC5_Handler (void) { //YOUR CODE HERE time_tic..
Nano 33 IoT WiFi 연결 불안정을 해결하는 코드 Nano 33 IoT WiFi 연결 불안정을 해결하는 코드 어떤 방법을 무엇을 시도하든 WiFiNINA를 사용하여 안정적인 WiFi 연결을 관리할 수 ​​없습니다. 평균 12 시간 동안 Nano는 알 수 없는 이유로 연결이 끊어지고 다시 연결해야 합니다. 평균 30 시간 동안 2 분 안에 재 연결이 불가능하고 Watchdog이 나노를 재설정 한 다음 재 연결이 다시 작동합니다. 내 액세스 포인트는 Fritz Box 7490입니다. 채널을 변경하지 않도록 AP를 구성했습니다.이 경우에도 연결이 끊어지지만 내 액세스 포인트는 정의된 채널에 남아 있습니다. 비교를 위해 두 번째 나노 33을 리피터 FritzRepeater 1200에 연결했습니다. Nano 33은 모두 최신 펌웨어가 설치되어 있으며 "firmw..
Arduino MQTT 사용자 ID와 password로 mqtt 브로커 연결 Arduino MQTT 사용자 ID와 password로 mqtt 브로커 연결 MQTT 사용자 subscriber 등록 후 메시지 송 수신할 때 사용자 id와 password로 인증하는 예제 코드다. 물론 사용하기 전에 다음과 같은 코드는 알고 있다고 가정한다. mqttServer = "******"; mqttPort = 1883; mqttUser = "******"; mqttPassword = "***"; 아래는 pubsubclient 라이브러리를 사용하는 예제 코드다. 마지막 남은 일은 mqtt 서버와 통신하여 정해진 용량만큼 액체를 배출하는 일이다. 어떤 일이든 끝날 때까지는 끝난 게 아니라서 집중한다. 오직 하나만 제대로 한다. 정확히 한 개, 하나, 한 마리만, 한 가지 일만 제대로 한다. 그러면..
미세먼지 측정기 센서와 커넥터 연결 - Harness 미세먼지 측정기 센서와 커넥터 연결 - Harness PCB 조립 후 PCB 위에 여러 센서 커넥터를 센서와 연결한다. 직접 연결하는 방법도 있지만 조립하고 확장할 여지를 남겨두기 위해 모든 연결 센서를 커넥터로 연결하도록 작업한다. 원래 전선 연결 작업은 하네스(Harness)라고 하여 도면, 지그, 전용 장비가 필요하고 전문적인 과정을 거쳐야 하지만 그냥 간단하게 하기로 한다. 여기서 하네스에 대해 잠깐 알아보면 하네스(Harness) 정의 회로나 기기의 상호간을 전기적으로 접속 및 이탈시키는 접속물을 하네스 (Harness), 또는 컨넥터 (Connector)라고 한다. 하네스는 2개소 이상의 회로 사이를 결합 및 이탈을 가능하게 하며 일반적으로 Wire(전선), 단자(Terminal, Contac..
How to prevent SSD1306 allocation failed error 결론은 SSD1306 사용할 때, 특히 복잡한 프로그램 개발 할 경우 아래와 같은 코드에서 말 그대로 "SSD1306 allocation failed" 메시지가 나올 경우 무조건 메모리(SRAM) 문제니까 당황하지 말고 코드를 줄여야 한다. 일단 변수 선언을 줄이고 테스트를 위해 준비한 코드를 지운다. 스트링은 가능한 짧게 줄이거나 없앤다. 그러면 에러는 사라진다. // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3C for 128x64 Serial.println(F("SSD1306 allocation failed"..
Arduino Nano 33 IoT 5V pin Works Our intention 결론: 보드 뒷면의 두 점을 솔더링으로 할 경우 반드시 USB 전원을 사용해야지만 5V 출력이 나온다. 외부 전원, 그러니까 Vin 과 GND 를 외부 전원에 연결할 경우 죽어도 5V를 쓸 수 없다. Nano 33 계열의 보드(Nano 33 IoT, Nano 33 BLE와 BLE Sense)들은 기본적으로 DC 3.3V로 동작한다. 5V 핀은 NANO 33 IoT 에서 기본적으로 분리되어 있다. 이전 Arduino 보드는 5V I/O 신호를 사용하기 때문에 예방 조치로 분리하는 방식으로 개발하였다. 이렇게 하면 사용자는 3.3V 대신 5V로 회로에 전원을 공급하여 실수로 보드를 손상시키지 않는다. 해당 핀의 5V는 다음 두 가지 조건이 충족되는 경우에만 사용할 수 있다. VUSB로 표시된 두 개의 패드에..
Arduino와 여러 개 DS18B20 디지털 온도 센서 인터페이스 참고자료 Interfacing Multiple DS18B20 Digital Temperature Sensors with Arduino