우리의 평결
작은 패키지에 강력한 성능을 제공하는 훌륭한 하드웨어. 가격이 다소 미뤄질 수 있지만 Wi-Fi와 RP2040이 필요한 경우 이 보드가 적합합니다. 하지만 얼마나 오래 사용할 수 있습니까?
을위한
+ 소형 폼 팩터
+ 많은 아날로그 입력
+ 내장 Wi-Fi 및 BLE
+ 내장 마이크, IMU
에 맞서
– 숨겨진 핀 번호
– 고비용
– USB-C 없음
– 소프트웨어에 버그가 있습니다.
Arduino를 생각할 때 머리에 가장 먼저 떠오르는 보드는 Atmel 마이크로컨트롤러가 있는 고전적인 Arduino Uno여야 합니다. ‘Pi Silicon’으로 구동되는 Arduino는 생각할 수 없지만 RP2040 파트너 보드의 초기 물결의 마지막은 Arduino Nano RP2040 Connect이며 이것이 우리가 기다려온 보드입니다. Arduino Nano RP2040 Connect는 Wi-Fi 및 Bluetooth가 내장된 유일한 파트너 보드입니다. 친숙한 Nano 레이아웃에 깔끔하게 통합된 Nina W102 uBlox Wi-Fi 모듈은 2.4GHz WI-Fi, Bluetooth Low Energy, 움직임과 제스처를 감지할 수 있는 IMU, 오디오 레벨을 측정하는 데 사용할 수 있는 마이크, 그리고 더 중요합니다. 머신 러닝 프로젝트에 사용됩니다.
직접 가격 $25.50
Arduino Nano RP2040 Connect가 다음 프로젝트의 핵심이 되어야 합니까? 그것은 당신의 필요와 예산에 달려 있습니다. LED를 깜박이고 물건을 움직이는 것이 즐겁다면 4달러의 Raspberry Pi Pico가 더 적합합니다. 그러나 웹 인터페이스로 사물 인터넷(IoT) 장치를 구축하려는 경우 Arduino의 최신 보드가 바로 당신이 찾고 있는 것일 수 있습니다. 그러나 우리는 보드가 어떻게 작동하는지 진정으로 이해하지 못하고 더 중요하게는 보드를 사용하고 사용할 때까지 보드가 어떻게 지원되는지 이해하지 못합니다!
Arduino Nano RP2040 연결 하드웨어 사양
시스템 온 칩
Raspberry Pi에서 설계한 RP2040 마이크로 컨트롤러 칩
듀얼 코어 Arm Cortex M0+ 프로세서, 최대 133MHz로 실행되는 유연한 클럭.
264KB SRAM 및 4/16MB 온보드 플래시 메모리
GPIO
22개의 다기능 3.3V GPIO 핀
1개의 SPI, 1개의 I2C, 1개의 UART, 8개의 12비트 ADC, 20개의 제어 가능한 PWM 채널
맞춤형 주변기기 지원을 위한 8개의 프로그래밍 가능한 I/O(PIO) 상태 머신.
1x 사용자 LED(GPIO 13)
Nina W102 모듈을 통해서만 액세스할 수 있는 RGB LED.
Castellated 모듈을 사용하면 캐리어 보드에 직접 납땜할 수 있습니다.
추가 기능
Nina W102 uBlox Wi-Fi 모듈
ST LSM6DSOXTR 6축 IMU
ST MP34DT06JTR MEMS 마이크
ATECC608A-MAHDA-T 암호화 코프로세서
치수
1.77 x 0.7인치(45 x 18mm)
Arduino Nano RP2040 Connect의 설계 및 사용
Arduino Nano RP2040 Connect의 디자인은 Nano 33 IoT 및 Nano Every와 같은 Arduino의 Nano 보드 범위를 기반으로 합니다. Nano 범위의 보드는 동일한 핀 출력을 공유하므로 Arduino Nano RP2040 Connect를 다른 Nano 보드의 드롭인 대체품으로 사용할 수 있습니다. 베어 보드에는 RP2040 보드의 표준이 된 성곽 가장자리가 있으며 보드 아래쪽은 채워지지 않아 프로젝트에 표면 납땜이 가능합니다. 22개의 GPIO 핀 중 PWM에 사용할 수 있는 20개의 핀이 있고 그 중 8개의 아날로그 입력이 있습니다. Pico가 3개와 함께 제공되는 대부분의 RP2040 보드와 대부분의 타사 RP2040 보드에는 4개가 있습니다. I2C 핀을 찾고 있다면 핀 A4 및 A5에 숨겨져 있으며 온보드 IMU는 I2C 버스에서 액세스할 수 있습니다.
독수리의 눈을 보면 많은 최신 Arduino 보드에서 흔히 볼 수 있는 마이크로 USB 커넥터를 발견했을 것입니다. USB-C 커넥터는 완벽한 연결을 제공하고 기계식 커넥터가 마이크로 USB보다 강력하기 때문에 보고 싶었습니다. 이것은 가장 비싼 RP2040 보드이므로 Arduino가 전체 비용에 영향을 주지 않고 이것을 포함할 수 있다고 생각합니다.
Arduino Nano RP2040 Connect의 가장 큰 특징은 Wi-Fi이며 Nina W102 칩은 802.11 b/g/n 2.4GHz Wi-Fi 및 Bluetooth 4.2를 제공합니다. 안테나는 마이크로 USB 포트 반대편에 있습니다. Nina W102 칩 자체는 520KB SRAM과 240MHz 32비트 Dual Core Xtensa LX6 CPU를 갖춘 강력한 마이크로컨트롤러이지만 이 보드에서는 통신 처리로 분류됩니다.
이것은 Arduino이기 때문에 우리의 자연스러운 성향은 Arduino IDE를 사용하는 것이며 최근 업데이트로 RP2040에 대한 공식 지원이 IDE에 도입되면서 프로젝트를 쉽게 만들 수 있습니다. Arduino 1.8.15 및 2.0 베타 7 IDE와 함께 Arduino Nano RP2040 Connect를 테스트했으며 보드 관리자를 통해 보드를 설치한 후 예제 깜박임 스케치를 플래시하여 연결이 있음을 증명할 수 있었습니다. Wi-Fi에 액세스하려면 WiFiNINA 라이브러리를 설치한 다음 Wi-Fi 로그인 세부 정보를 포함하는 비밀 파일을 만들어야 했습니다. Simple Web Server WiFi 예제를 실행했고 문제 없이 깜박였지만 웹 인터페이스를 통해 제어하려면 예제에서 사용된 기본 GPIO 핀을 9에서 “LED_BUILTIN”으로 변경해야 한다는 것을 나중에 알게 되었습니다.
연결 세부 정보가 직렬 모니터에 나타나야 하지만 아무리 해도 직렬 모니터에 연결할 수 없고 포트가 사용 중임을 알리는 오류만 표시됩니다. 이것은 Arduino Nano RP2040 Connect에만 국한되지 않습니다. 우리는 다른 RP2040 보드와 Arduino IDE에서 이 동작을 보았습니다. 우리의 유일한 해결책은 Arduino IDE를 닫고 다른 응용 프로그램을 사용하여 직렬 터미널을 여는 것이었습니다. 동일한 문제가 IMU 테스트에 영향을 미쳤으므로 직렬 터미널을 열고 보드를 재설정한 후 원시 가속도계 데이터가 화면을 가로질러 스크롤되는 것을 보았습니다. 우리는 나중에 문제가 운영 체제인 Ubuntu 18.04에 있음을 발견했으며 포트의 직렬 데이터를 보려면 modemmanager를 제거해야 했습니다. 이 문제는 다른 공식 및 클론 게시판에 영향을 미치지 않았습니다.
또한 Nano 33 IoT에 사용된 것과 동일한 모델인 온보드 마이크도 테스트했습니다. 우리는 공식 문서를 따라 테스트 스케치를 Arduino Nano RP2040 Connect에 플래시한 다음 사운드 시각화를 보기 위해 직렬 플로터를 열었습니다. 아아, 우리가 본 것은 -128의 일정한 평면 값뿐이었습니다. 이 문제를 해결하는 방법에 대한 지침을 찾을 수 없습니다.
이전에 MKR WIFI 1010 및 Nano 33 IoT 보드와 함께 사용한 서비스인 Arduino의 IoT Cloud를 사용할 때 다른 문제가 있었습니다. Arduino Nano RP2040 Connect가 감지되었지만 구성할 수 없습니다. 우리는 작성 당시 불완전한 것으로 보이는 공식 문서를 따랐고 여전히 공백을 그렸습니다. IoT 클라우드는 웹 인터페이스를 통해 IoT “사물”(프로젝트)을 생성하고 모니터링할 수 있도록 하는 Arduino의 새로운 서비스이기 때문에 정말 부끄러운 일입니다. 현재로서는 치아 문제일 가능성이 높으며 앞으로 수정될 것입니다. 현재로서는 스마트 메이커가 데스크탑 IDE를 고수할 것입니다.
아마도 이것이 RP2040이라고 생각하고 다른 프로그래밍 언어를 실행할 수 있습니까? 옳은! Arduino Nano RP2040과 함께 CircuitPython 및 MicroPython을 사용할 수 있습니다. 주의 사항은 온보드 마이크, IMU 및 WiFi에 대한 자체 라이브러리를 소싱해야 한다는 것입니다. 핀 번호와 실제 GPIO 번호 사이에 문제가 있습니다. Arduino IDE에서 사용하는 핀 번호는 D2이지만 RP2040 핀은 GPIO25입니다. 또 다른 예는 내장 LED가 D13이지만 MicroPython 테스트에서는 GPIO 6이었습니다.
우리는 CircuitPython으로 Arduino Nano RP2040 Connect를 테스트했으며 훨씬 더 즐거운 경험이었고 특히 ESP32SPI 라이브러리와 같은 과다한 라이브러리 덕분에 Arduino Nano RP2040 Connect를 온라인으로 빠르게 만들고 원격 API에서 데이터를 수신했습니다. 또한 MicroPython으로 테스트했으며 Raspberry Pi Pico와 거의 동일한 방식으로 작동했지만 온보드 Wi-Fi를 사용할 드라이버가 없었습니다.
여기에서 새로운 펌웨어를 받아들일 준비가 된 보드를 설정하지 못하게 하는 단점을 발견했습니다. 일반적으로 보드를 재설정하고 BOOTSEL을 누릅니다. Arduino Nano RP2040 Connect의 경우 재설정 버튼을 두 번 누르지만 작동하지 않았습니다. Twitter에서 도움을 요청한 후 REC 및 GND 핀을 함께 연결하여 보드를 강제로 모드로 전환할 수 있다는 말을 들었습니다.
Arduino Nano RP2040 Connect의 사용 사례
가장 확실한 사용 사례는 IoT 어플라이언스이며 이는 Arduino IoT Cloud를 통해 매우 간단합니다. IoT Cloud를 사용하면 원격 장치에서 데이터를 읽는 GUI 애플리케이션을 빠르게 만들 수 있습니다. 예를 들어 Arduino Nano RP2040 Connect를 사용하여 기상 관측소를 만들고 웹에 연결된 모든 장치에서 액세스할 수 있는 클라우드로 라이브 데이터를 스트리밍할 수 있습니다.
동일한 Arduino IoT Cloud 사용자 인터페이스를 사용하여 Arduino Nano RP2040 Connect를 원격으로 제어할 수 있습니다. 예를 들어 웹 제어 로봇은 웹 지원 로봇이 아닌 로봇보다 빌드하기가 훨씬 더 어렵지 않습니다.
Arduino IoT Cloud 사용자가 아닌 경우에도 기존 IDE를 사용하여 이 보드를 최대한 활용할 수 있습니다. 한동안 존재했으며 RP2040에서 실행되도록 이식할 수 있는 HTTP, MQTT 및 Bluetooth에 사용할 수 있는 라이브러리가 있습니다. 이 라이브러리를 사용하여 웹 제어 로봇, 무선 기상 관측소 등을 구축할 수 있습니다.
결론
가격까지 나옵니다. Wi-Fi와 RP2040이 필요한 경우 Arduino Nano RP2040 Connect는 견고한 하드웨어이지만 Raspberry Pi Pico 및 Pimoroni Pico Wireless 구매를 포함하여 테스트한 다른 RP2040 솔루션보다 비쌉니다. 추가 비용으로 인해 Pico Wireless로 슬프게 차단된 GPIO 핀에 액세스할 수 있습니다. 임베디드 IoT 프로젝트를 위해 가능한 가장 작은 패키지가 필요한 경우 이 보드가 될 수 있지만 현재 문서는 이것이 RP2040 전원 공급 장치의 첫 번째 물결의 마지막 보드임에도 불구하고 Arduino의 일반적인 표준에 미치지 못합니다.
추가 아날로그 입력은 Arduino Nano RP2040 Connect가 RP2040 장치의 대부분을 차지하므로 다양한 구성 요소를 연결하는 데 유용합니다. RP2040 프로젝트를 세상과 연결하려는 사람들을 위한 스마트 머니는 이 보드와 함께 제공되지만 얼마나 오래 지속됩니까? Seeed의 자체 RP2040 보드는 Wi-Fi와 함께 제공되며 Arduino의 절반 가격으로 소매될 것으로 예상됩니다.