Embedded/Arduino 36

Arduino nano 33 iot Bluetooth와 SoftwareSerial.h 문제관련

안녕하세요. Arduino nano 33 iot를 가지고 몇 가지 테스트 한 부분 나누어 보아요.다들 아시는 것처럼 33 IOT 버전은 WIFI와 bluetooth 버전이 가능하다 보니 괜찮은 제품이라고 생각했는데, 블루투스에 설정하는 것에 어려움이 있는 듯합니다. 우선 WIFI는 아래 참조1 사이트와 같이 따라 하시면 문제없이 작동되는 것을 확인할 수 있었습니다.소스 코드상에 문제가 있어 댓글 남겨 놓았는데, 수정되었는지 모르겠네요.  참조1) https://fishpoint.tistory.com/4433 1.  블루투스 관련   블루투스  BLE 연결을 지원하는 여러 핸드폰으로 페어링을 해도 되지 않았습니다.nRF Connect 앱으로만 연결과 값이 전송되었습니다.  이런 부분들이 아두이노 포럼과 기..

Embedded/Arduino 2024.08.25

Arduino Nano 33 IoT bootloader blocked 된 경우 (벽돌이 된 경우;;;)- 복구방법 링크 추가

안녕하세요.  아두이노로 센서값을 받는 프로젝트를 하게 되어서 어떤 것을 사용해 볼까 해서 선택한 것이 블루투스 되고 각종 센서도 달린 Arduino Nano 33 IoT를 선택하였습니다. 아두이노 쉽게 하는 거로 생각하고 대충보고 BLE 버전 받아도 되는 건가 하고 참조1에서 처럼 보드매니저 nano 33 검색해서 RF528x Board를 설치하고 부트로더를 올렸습니다.참조1 blog.naver.com/roboholic84/221788817826 다운로드가 잘 되길래 음 ~ 하며 Blink 예제 다운로드를 했습니다. 그런데...녹색불만 들어오고 시리얼 포트가 잡히지 않았습니다. 바로 구글 검색 시작했습니다. 다운로드하여야 할 것이 Arduino SAMD Boards라는 것을 알게 되었습니다.다른 분들은..

Embedded/Arduino 2024.08.22

아두이노 나노(Arduino Nano)와 아두이노 나노 33 IoT에 FreeRTOS에서 올리기

안녕하세요.   Arduino FreeRTOS 버전이 몇 가지 있는 것 같은데 메인 소스 코어는 동일해 보이고 누가 주로 수정했는지에 따라 조금씩 차이가 있는 듯합니다. 테스트 버전은 아두이노 IDE에 "라이브러리 매니저"로 받을 수 있는 버전으로 해보았습니다. 1.  FreeRTOS 설치하기 1) Arduino Nano 버전   "툴-> 라이브러리 관리" 메뉴를 선택하고 FreeRTOS로 검색합니다. 최신 버전 라이브러리를 설치합니다.   2) Arduino Nano 33 IoT 버전  "툴-> 라이브러리 관리" 메뉴를 선택하고 FreeRTOS로 검색합니다. 위와 다르게 SAMD21 버전을 설치해주어야 합니다. 아두이노 나노 33 IoT 경우 마이크로 컨트롤러가 다르다 보니 SAMD21 버전으로 설치해..

Embedded/Arduino 2024.07.16

아두이노 나노(Arduino Nano) 33 IoT Web Server에서 데이터 JSON으로 출력하기

안녕하세요.   아두이노 나노 33 IoT로 웹서버를 만들어 보았다면, 아두이노 IoT에서 취득한 센서 정보를 어떻게 가져갈까 고민을 하게 될 겁니다. 그래서 웹 데이터를 Json형태로 바꿔 출력해 주고 다른 응용프로그램에서 웹주소로 접속해서 Json으로 가져오면 되겠다 생각하였습니다.  아두이노 IoT에서 가스 센싱 한 값을 Json으로 인코딩하고 웹서버로 출력해 주고 파이썬에서 JSON 데이터로 읽어오는 테스트를 하였습니다.   이전 "아두이노 나노(Arduino Nano) 33 IoT 고정 아이피 설정 방법"에서 SimpleWebServerWIFI 예제에 JSON 코드를 추가하는 형태로 하였습니다. 1. JSON사전 준비   이미 JSON 사용해보았다면 이 과정은 넘어가도 좋습니다. "툴->라이브러..

Embedded/Arduino 2024.07.03

아두이노 나노(Arduino Nano) 33 IoT 고정 아이피(Static IP) 설정 방법

안녕하세요.   단순하게 SimpleWebServerWiFi 샘플 소스를 실행시키면 내부 공유기의 DHCP에서 할당해 주는 내부 네트워크 아이피(IP) 주소를 할당받게 됩니다. 그래서 시리얼 모니터로 할당된 주소를 확인한 후 아두이노 웹서버로 접속을 해야 합니다.   이렇게 하면 IP 주소를 매번 확인해야 하는 불편한 점이 있습니다.  아니면 DDNS를 사용해서 도메인(DNS)으로 접속할 수도 있습니다.   그렇게 하는 것보다 비용도 절감하고 내부 고정 아이피로 사용한다면 위의 불편한 점은 개선할 수 있을 것으로 생각되어 고정으로 하면 좋겠다 생각하게 되어 찾아보게 되었습니다.  1.  고정아이피 할당 예제 1) 예제 소스 불러오기    할당하는 방법에 대해서 간단한 샘플 예제로 하는 방법을 확인해 보도..

Embedded/Arduino 2024.06.28

아두이노 나노(Arduino Nano 33 IoT) BLE를 이용한 자이로 센서(Gyroscope) 값 가져오기 – 3

안녕하세요.   이전 내용에서 간단하게 LED를 제어해 보았습니다. 이번에는 나노 33 IoT 장착되어 있는 자이로 센서를 X, Y, Z 축 값을 가져와 BLE로 전달하는 것을 해보도록 하겠습니다.   1. BLE 구조   BLE 서비스를 만들고 Characteristic을 선언하는데, 조금이나 이해를 하면 좋지 않을까 해서 찾아보았습니다.  애플리케이션 단에서 데이터 교환은 ATT(Attribute protocol) 기반으로 이루어지고 각각의 데이터는 GATT(Generic Attribute Profile) 데이터 구조를 따라 정의됩니다.  ATT는 서버와 클라이언트 사이의 데이터 교환에 대한 규칙을 정의하는 것입니다.    GATT는 Service와 Characteristic으로 구성됩니다. “Ser..

Embedded/Arduino 2024.06.22

아두이노 나노(Arduino Nano 33 IoT) BLE를 이용한 LED 제어 – 2

안녕하세요.  이전 내용에서는 BLE 접속에 대해 알아보았습니다. 이번에는 어떻게 LED를 제어하는지 데이터를 주고받는지를 확인해 보도록 하겠습니다.  1. 아두이노 프로그램  - BLE 라이브러리를 추가하고 BLERead와 BLEWrite 문자열 주고받을 수 있는 서비스를 초기화합니다. #include BLEService ledService("3de2545d-9de6-47ce-84a9-68c5ead85c67");BLEByteCharacteristic switchCharacteristic("3de2545d-9de6-47ce-84a9-68c5ead85c67", BLERead | BLEWrite);const int ledPin = LED_BUILTIN;    - Setup() 함수에서 시리얼 통신 모니터링하..

Embedded/Arduino 2024.06.19

아두이노 나노(Arduino Nano 33 IoT) BLE 사용하기 – 1 (연결하기)

안녕하세요.   아두이노 나노 33 IoT 모듈에는 WiFi 기능이 있고 BLE(Bluetooth) 기능도 있습니다. 이전 내용은 WiFi를 다루어 보았고 이번에는 BLE 관련된 내용으로 해보려고 합니다.  진행은 간단하게 Nano 33 IoT에서 BLE를 사용해 보고 여러 개 데이터를 전달하는 것을 해보려고 합니다. 그리고 추가로 공개된 안드로이드 앱 소스를 수정해서 값까지 받아 보는 것을 해보려고 합니다.  1. BLE(Bluetooth Low Energy) 란 1) 정의   블루투스 저전력 프로토콜(Bluetooth Low Energy)또는 줄여서 BLE은 블루투스 4.0(Bluetooth Smart) 스펙이 2010년 6월 30일에 채택된 이후로 배포되는 저전력 블루투스이다.   이로서 기존의 블..

Embedded/Arduino 2024.06.18

아두이노 나노(Arduino Nano) 33 IoT를 이용한 GY-GPSV3-7M GPS 수신 모듈 테스트(SZH-NT07)

안녕하세요.   이번에는 아두이노 나노 33 IoT에 GPS를 연결해 보도록 하겠습니다. 조금 저가형이지만 간단하게 테스트할 수 있는 모듈입니다. 그러나 결론적으로 보면, GPS 수신은 되지만, 외부에서 사용할 경우 추가적인 안테나가 필요해 보였습니다. GPS 가짜 제품을 알아내는 법, 구글맵에서 검색하는 방법 등 이런저런 내용으로 구성해 보았습니다.  1. GPS(Global Positioning System) 란   GPS(Global Positioning System 글로벌 포지셔닝 시스템[*]) 또는 범지구 위치 결정 시스템은 현재 GLONASS와 함께 완전하게 운용되고 있는 범지구 위성항법시스템 중 하나이다. 미국 국방부에서 개발되었으며 공식 명칭은 NAVSTAR GPS(NAVSTAR는 약자가 ..

Embedded/Arduino 2024.06.05

아두이노 나노(Arduino Nano) 33 IoT로 NTP 서버에서 이용 현재시간 받아오기

안녕하세요.  이전 내용에서는 (아두이노 나노 33 IoT로로 작은 웹서버 만들기) 작은 웹 서버를 만들어서 정보를 보여주었습니다.  이번에는 다른 서버에 있는 현재 시간 정보를 가져오는 것을 테스트해 보겠습니다. NTP(Network Time Protocol) 서버에 접근해서 현재시간을 가져오도록 하겠습니다. 이렇게 하면 RTC(Real Time Clock) 회로를 꾸밀 필요가 없다는 것이 장점이 됩니다. 단, 네트워크가 연결되어야 합니다. 이것을 이용해서 특정 시간에 알람이나 특정 동작을 가능하게 할 수 있습니다. (이전 웹 서버 만드는 과정을 참고하시면 WiFiNINA 라이브러리 설치하는 방법과 SSID 설정하는 내용이 있습니다.)  1. NTP(Network Time Protocol) 이란? 1)..

Embedded/Arduino 2024.06.01

아두이노 나노(Arduino Nano) 33 IoT로 작은 웹서버 만들기

안녕하세요.   이전 글에서 많은 센서들을 테스트해 보았습니다. 이제 실생활에 적용할 수 있는 것을 들을 찾아보려고 합니다. 그러기 위해서 우선 IoT 장비가 PC나 스마트폰과 통신되는 것이 가장 우선순위가 되어야 한다고 생각했습니다.  그래서 가지고 있는 아두이노 33 IoT 모듈에 웹서버를 올려놓으면 필요할 때마다 볼 수 있고 DDNS 혹은 포트 포워딩 등 해두면 외부에서도 볼 수 있겠다 생각하였습니다. (블루투스가 되지만 다른 장치를 사용할 때만 페어링 하고 해야 해서 웹서버로 결정하였습니다.)   1차는 웹서버를 테스트하고 2차, 3차에 온도 습도 등 센서 장착해서 수치 확인하고 이후에 케이스에 소형 솔라셀을 붙여서 외부 전력 공급 없이 작동하도록 하는 것으로 실제로 베란다에 두고 작동시켜보려고 ..

Embedded/Arduino 2024.05.31

아두이노 나노(NANO) 정품과 아두이노 카피품 비교 및 업로드 차이

안녕하세요. 간단한 개발할 일이 있어 값이 싼 카피본 아두이노 나노 하나를 구매해 보았습니다. 그런데 웬걸 업로드가 안 되었습니다. 고장인가 싶어서 다른 회사 카피본 아두이노 나노도 하고 혹시 몰라 리퍼 아두이노 나노 정품도 구매해 보았습니다.   결국 3개가 되어버린 결과가 되었습니다. 카피본은 6천 원 정도 정품은 3만 원 정도(정가는 4만 5천 원) 들었습니다. 결론은 먼저 말씀드리면 3개 다 문제없이 업로드가 되었습니다.프로세서 선택에서 부트로더를 오래된 것(old Bootloader)을 할 것이냐, 최신 것을 할 것이냐 선택에 따라 업로드가 해결되었습니다.구형 부트로더(카피본) 선택  신형 부트로더(정품) 선택   카피본과 정품의 차이라고 하면 위의 부트로드 선택도 있지만,하드웨어 상도 차이를 ..

Embedded/Arduino 2024.05.25

아두이노 waveshare 1.3인치 OLED에 넣을 BMP 이미지(HEX 값) 만들고 출력하기

안녕하세요.  이번에 0.96인치 OLED를 사용하다가 화면이 조금 더 큰 OLED를 사용해 보게 되었습니다. 그리고 OLED 하드웨어 기본 설정된 값이 SPI 통신으로 되어 있어서 그대로 사용해 보았습니다. 아두이노 소스 역시 SPI로 되어 있어서 바로 확인할 수 있는 방법으로 테스트하였습니다. ( 다른 언어 소스에는 I2C 소스도 포함되어 있습니다. )      소스는 waveshare 홈페이지 가면 받을 수 있습니다. 하단에 사이트 링크 넣어 두었습니다. 아두이노 소스를 실행하면 waveshare 로고가 나오는 부분이 있는데 이것을 우리가 원하는 로고로 바꿔보고 싶다는 생각을 하다가 찾아본 내용이 있어 공유드립니다.    SH1106_bitmap(0, 0, Waveshare12864, 128, 64..

Embedded/Arduino 2024.05.22

아두이노 나노를 이용한 라이다(TFmini Plus LiDAR) 테스트 후기

안녕하세요.  자율주행 자동차 인기로 많이 듣게 된 라이다 센서를 테스트해 보았습니다. 360도 회전하며 값을 얻어오는 제품은 아니고 보급형 형태로 나온 한 점을 거리를 가져오는 제품으로 테스트하였습니다.  1. 라이다(Light Detection And Ranging, LiDAR) 란?   라이다는 주변의 사물을 인식하기 위해 레이저 신호를 이용하는 기술입니다. 라이다에서 쏘아진 펄스 레이저 신호가 주변의 사물과 부딪힌 후 되돌아오면, 이를 분석해 사물의 위치나 운동 방향, 속도 등을 확인하는 방식입니다.     Wikipidia 자료    LiDAR는 널리 알려진 신기술로 자율주행, 스마트 교통 시스템 등의 산업에 널리 사용되고 있습니다. 그리고 라이다의 기술 종류가 하나만 있는 것이 아니라 여러 가..

Embedded/Arduino 2024.05.18

아두이노 나노(Arduino Nano)로 EXSEN CO2 Sensor(RX-9) 테스트

안녕하세요.   지난번 9가지 가스센서 테스트를 진행했습니다. 그러나 CO2를 감지하는 센서는 포함되어 있지 않았습니다. 그래서 조금 금액이 나가지만, CO2 수치를 확인할 수 있는 센서를 테스트해 보았습니다.  1. CO2센서   "이산화탄소 센서 또는 CO2 센서는 이산화탄소의 측정을 위한 장비이다. CO2 센서의 가장 공통적인 원리는 적외선 가스 센서 ( NDIR)와 화학 가스 센서이다. 이산화탄소를 측정하는 것은 실내 공기 품질과 여러 산업 공정을 모니터 하는데 중요하다. 많은 공조기(에어컨)에서 이들 센서는 공기의 품질을 모니터 하는 데 사용될 수 있다. NDIR의 원리는 CO나 CO2 등 가스상 물질들이 적외선(Infrared light)에 대해 특정한 흡수 스펙트럼을 갖는 것을 이용해서 특정..

Embedded/Arduino 2024.05.08

아두이노 나노(Arduino Nano)로 솔레노이드(Solenoid) DS-0630S [SZH-GNP529] 테스트

안녕하세요.     이번에 솔레노이드 장비에 대해서 알아보려고 합니다. 샴푸나 소독액 버튼을 눌러주는 것으로 사용하려고 했는데 이번 제품은 눌러주는 힘이 약해서 사용하지 못했습니다.   용도에 따라서 힘이 센 솔레노이드를 선택하셔야 합니다.   1. 솔레노이드 원리   솔레노이드(프랑스어: solénoïde)는 도선을 촘촘하게 원통형으로 말아 만든 기구이다. 솔레노이드는 솔레노이드에 전기를 흘려 자기장을 만들 수 있어 전자석으로 주로 이용된다. 솔레노이드는 유도자(인덕터)의 종류 중 하나로서, 교류를 이용하는 전자회로에 아주 유용하게 쓰인다. 솔레노이드 단독으로도 자기장을 만들지만 자성이 센 강자성체를 넣으면 자화가 일어나면서 자기장이 더 강해지는 효과가 일어납니다.   위와 같은 원리를 이용해서 전기 ..

Embedded/Arduino 2024.04.30

아두이노를 이용한 가스센서 9종 테스트 (Gas Sensor Kit)

안녕하세요.  간단하게 연기 검출을 테스트하기 위해서 저렴한 센서들을 이용해 보았습니다. 센서 키트 구매하면 플라스틱 케이스에 9개 담겨 옵니다. 그리고 가스에 대해서 조금 이해가 있어야 조금 더 잘 사용할 것 같아서 찾아본 자료를 공유해 보도록 하겠습니다.    1. 가스 분류  - 크게 5가지로 나눠 볼 수 있습니다.  1) 가연성 가스 : 공기 중에 산소와 반응하여 연소하는 가스 (LNG, LPG, CH₄, H₂, i-C₄H10, etc) 2) 독 성 가스 : 인체 허용 농도(TLV) 기준의 유독 가스 (NH3, CO, CL₂, COCL₂, VCM, etc) 3) 불활성 가스 : 분자 구조가 안정되어 있어 화학반응을 하지 않는 가스 (He, Ar, Ne, etc)  4) 조연성 가스 : 연소하는 것..

Embedded/Arduino 2024.04.25

아두이노(Arduino) Flex Sensor 2.2 (SEN-10264) 테스트

안녕하세요. 휘어짐 정도를 확인해 볼 수 있는 센서를 테스트해 보도록 하겠습니다. 플렉스 센서라고도 하고 밴드 센서라고도 합니다. 구매하기 전에는 폴더처럼 확 접히면 어떻게 될까 궁금했는데, 테스트해 보면서 느낀 것은 그렇게 하면 고장 난다입니다. 적당하게 휘어짐 정도를 확인할 수 있다고 보셔야 합니다. ^^ 1. Flex/bend Sensor 원리 A flex sensor is a kind of sensor which is used to measure the amount of defection otherwise bending. The designing of this sensor can be done by using materials like plastic and carbon. The carbon sur..

Embedded/Arduino 2024.04.20

Arduino Nano IoT 33 Bootloader blocked 된 경우 MKR ZERO로 살리기(실패)

안녕하세요. 이전 "Arduino Nano IoT 33 Bootloader blocked 된 경우 J-LINK로 살리기"에서 성공을 해서 MKR ZERO로도 가능할 거라 생각하고 참고 삼아해 봐야지 했는데, 결론은 이상한 에러를 발생시키고는 업로드가 되지 않았습니다. Arduino Nano 33 IoT Bootloader blocked 된 경우 J-LINK EDU로 벽돌된 것 살리기 (성공후기) 안녕하세요. 지난번에도 아두이노 나노 IoT 33 보드 살리는 법을 공유드렸습니다. 그런데 그때는 직접 하지 않고 자료만 가지고 가능하다는 것만 알려드렸습니다. 그래서 이번에는 직접 blocked 된 remnant24c1.tistory.com 그렇지만 이렇게 공유하는 이유는 작업하는 방법과 이후에 문의글에 답변이..

Embedded/Arduino 2024.04.13

아두이노 나노 호환보드 워치독(Watchdog) 작동 안 되는 현상(멈춤현상)

안녕하세요. 이번에 아두이노 호환 보드(카피본) 보드를 사용하면서 작동하지 않는 기능을 발견해서 공유해 드립니다. 그것은 watchdog 기능입니다. 이번에 아두이노 프로그램 개발하면서 모든 기능이 다 된다고 생각했고, 신호를 보내다가 가끔 죽을 수도 있다고 생각해서 Watchdog를 설정해 두었는데도 멈추는 현상이 발생했습니다. 고민하다가 가지고 있던 정품으로 동작시켰는데 이상 없이 작동해서 알게 되었습니다. 그렇다고 기타 모든 호환 보드가 동일한 에러가 발생할 거로 생각하지는 않습니다. 제가 동한 제품으로 구매한 호환 보드 3개가 동일하게 Watchdog기능이 작동하지 않았습니다. 가지고 있는 호환 보드 버전은 Arduino NANO V3.0이라고 되어 있습니다. 참고하시어 낭비하는 시간을 줄이셨으면..

Embedded/Arduino 2024.04.03