마이크로컨트롤러의 흥미진진한 세계에서는 임베디드 전자 프로젝트에 적합한 크기와 처리 성능 간의 적절한 균형을 찾는 것이 최우선 과제입니다. 이 균형을 찾을 때 흔히 떠오르는 두 가지 인기 있는 선택은 Arduino Nano와 Raspberry Pi Pico입니다.
안타깝게도 프로젝트의 구체적인 요구 사항은 구현 프로세스에 깊숙이 들어가기 전까지는 명확하게 드러나지 않을 수 있습니다. 프로젝트에 적합한 마이크로컨트롤러를 선택하는 데 도움이 되도록 이 두 경쟁 보드 간의 주요 차이점과 기능을 살펴보겠습니다.
하드웨어 비교
먼저, 기본 모델뿐만 아니라 아두이노 나노와 피코 제품군 모두에서 선택할 수 있는 옵션이 다양하다는 점에 주목할 필요가 있습니다. 일부는 기본 모델을 업그레이드한 것이고 다른 일부는 특정 응용 분야에 적합한 전용 기능을 갖추고 있습니다. 하지만 프로젝트에 가장 적합한 보드 자체는 없으며 장단점이 있을 뿐이라는 점을 명심해야 합니다.
Arduino Nano
이미지 출처: Arduino Store
ATmega328로 구동되는 Arduino Nano는 콤팩트하고 브레드보드 친화적인 기판으로 Arduino Duemilanove와 유사한 기능을 제공하지만 다른 폼 팩터로 제작됩니다. 이 보드에는 DC 전원 잭이 없으며 표준 케이블 대신 Mini-B USB 케이블을 사용합니다.
특징 |
사양 |
---|---|
마이크로컨트롤러 |
ATmega328 |
클럭 속도 |
16MHz |
SRAM |
2kB |
플래시 메모리 |
32kB |
EEPROM |
1kB |
GPIO 핀 |
22 |
아날로그 인 핀 |
8 |
PWM 핀 |
6 |
I/O 핀 전압 |
5V |
I/O 핀 전류 |
40mA |
3. 3V 핀 전류 |
50mA |
전원 공급 전압 |
7- 12V |
크기 |
18 x 45mm |
라즈베리 파이 파이
이미지 크레딧: 라즈베리 파이/ 깃허브
라즈베리 파이 피코는 2021년에야 출시되었지만, 이미 MCU 세계에서 인기 있는 제품입니다. Pico의 핵심은 듀얼 코어 Arm Cortex-M0+ 프로세서를 기반으로 하는 RP2040 마이크로컨트롤러 칩입니다.
특징 |
사양 |
---|---|
마이크로 컨트롤러 |
RP2040 SoC with Arm Cortex-? M0+ 듀얼 코어 |
클럭 속도 |
133MHz |
온- 칩 RAM |
264kB |
온칩 플래시 메모리 |
2MB |
Off-. 칩 플래시 메모리 |
전용 QSPI 버스를 통해 최대 16MB |
GPIO 핀 |
26 |
아날로그 인 채널 |
3 |
PWM 채널 |
16 |
I/O 핀 전압 |
3. 3V |
온도 센서 |
포함됨 |
전원 전압 |
5V |
치수 |
51. 3 x 21mm |
하드웨어 기능 측면에서 라즈베리 파이 피코는 더 빠른 프로세서, 더 많은 플래시 메모리, 더 많은 GPIO 핀, PWM 신호에 대한 광범위한 제어 기능으로 표준 아두이노 나노보다 확실히 우위를 점하고 있습니다. 또한 Pico에 탑재된 듀얼 코어 프로세서는 멀티스레드 프로그램에 적합합니다.
그러나 라즈베리 파이 피코에는 마이크로 컨트롤러 기반 프로젝트에 필수적인 EEPROM이 없습니다. 또한 전압 조정기 없이는 9V 배터리로는 프로젝트를 실행할 수 없습니다.
IoT 애플리케이션
기본 모델에는 무선 연결 기능이 없지만, 라즈베리 파이 피코 및 아두이노 나노 제품군에서는 IoT 애플리케이션을 위한 무선 연결 기능을 갖춘 다양한 특수 보드를 제공합니다. 나노 시리즈에서 인기 있는 IoT 보드로는 Arduino Nano 33 IoT 및 Arduino Nano RP2040 Connect (라즈베리 파이 파이 피코와 동일한 SoC 사용)이 있습니다.
라즈베리 파이 파이 IoT 보드의 경우, 파이코 W와 파이코 WH를 선택할 수 있습니다. 두 제품 모두 Wi-Fi 및 블루투스 연결이 가능하지만, Pico WH는 핀 헤더가 이미 부착되어 있으므로 보드에 납땜할 필요가 없습니다.
통신 채널
라즈베리 파이 파이와 아두이노 나노는 모두 다른 장치와의 인터페이스를 위한 여러 통신 채널을 제공합니다. 라즈베리 파이 파이 피코에는 다른 장치와의 통신을 위한 옵션을 제공하는 2개의 UART(범용 비동기식 수신기/송신기), 2개의 I2C(집적 회로), 2개의 SPI(직렬 주변 장치 인터페이스) 인터페이스가 있습니다.
UART, SPI 및 I2C 직렬 통신이 무엇인지 아직 모르는 경우 UART, SPI 및 I2C 직렬 통신이 어떻게 작동하는지, 왜 여전히 사용하는지 확인해 보세요.
표준 아두이노 나노 모델에는 각 통신 채널 중 하나만 있습니다: UART, I2C 및 SPI. 하지만 대규모 프로젝트가 아니라면 파이 파이코에서 사용할 수 있는 모든 통신 채널을 동시에 사용할 필요는 없으며, 심지어 파이 파이코의 PIO 기능을 사용할 때는 전혀 필요하지 않을 수도 있습니다(아래 참조). 또한 인터페이스가 많다고 해서 자동적으로 더 나은 것은 아니며, 다른 요소도 중요한 역할을 한다는 것을 알고 있습니다.
처리 능력
이미지 출처: 라즈베리 파이
라즈베리 파이 피코 및 아두이노 나노 보드에 사용되는 마이크로 컨트롤러 칩은 저마다의 장단점이 있습니다. 그리고 여기에서 궁극적인 절충점을 찾아야 합니다.
CPU
대부분의 아두이노 프로젝트에서 CPU는 99.9%의 시간을 절전 모드로 보낼 가능성이 높습니다. 이는 실시간 데이터 처리와 같은 특수한 시나리오를 제외하고는 CPU 속도가 생각만큼 중요하지 않다는 것을 암시합니다. 라즈베리파이 피코에 사용된 RP2040 칩은 32비트 듀얼 코어 프로세서로, 8비트 프로세서인 아두이노 나노 기본 모델에 사용된 ATmega328P 칩에 비해 더 높은 처리 능력과 성능을 제공합니다.
RP2040 칩에는 독특한 기능도 있습니다: 고속 병렬 데이터 전송과 맞춤형 주변 장치 인터페이스를 지원하는 PIO(프로그래머블 입력/출력) 상태 머신입니다. 따라서 로봇 공학 및 자동화와 같이 실시간 데이터 처리가 필요한 애플리케이션에 적합합니다.
RAM
CPU와 마찬가지로 대부분의 마이크로컨트롤러 애플리케이션은 소량의 RAM만 사용합니다. 그러나 IoT 프로젝트와 같이 더 많은 RAM이 필요한 작업을 수행하는 경우에는 더 많은 온보드 RAM을 갖춘 보드인 Raspberry Pi Pico를 선택해야 합니다.
프로그래밍 에코시스템
라즈베리 파이 피코와 아두이노의 프로그래밍 에코시스템도 두 보드 중 하나를 선택할 때 고려해야 할 중요한 요소입니다. 라즈베리 파이 파이 피코는 기본 프로그래밍 언어로 마이크로파이썬과 C/C++를 사용합니다.
Arduino는 C/C++를 기반으로 하는 Arduino IDE를 기본 프로그래밍 환경으로 사용합니다. 아두이노 IDE는 사용자 친화적인 인터페이스와 방대한 라이브러리 및 예제 모음으로 단순하고 사용하기 쉬운 것으로 유명합니다. 또한 대규모의 활발한 사용자 커뮤니티가 있어 초보자와 숙련된 개발자를 위한 충분한 지원과 리소스를 제공합니다.
C/C++는 하드웨어에 대한 낮은 수준의 액세스를 제공하는 강력하고 다재다능한 언어로, 보다 복잡하고 성능이 중요한 애플리케이션을 개발할 수 있습니다.
마이크로파이썬은 간단하고 직관적인 방법으로 보드를 프로그래밍할 수 있는 파이썬 기반 프로그래밍 언어로, 이미 파이썬에 익숙하거나 더 높은 수준의 언어를 선호하는 경우에 이상적입니다. 여전히 아두이노 환경을 선호하지만 마이크로파이썬으로 작업하고 싶다면 아두이노 마이크로파이썬 IDE에 대해 자세히 알아보세요.
비용
타사 제조업체의 모든 클론 보드를 무시하고 라즈베리 파이 파이 피코는 라즈베리 파이의 동일한 RP2040 프로세서를 실행하는 모델을 포함하여 모든 정통 아두이노 나노 모델보다 훨씬 저렴합니다. 예를 들어, 기본 모델인 아두이노 나노가 25달러인데 반해 표준 Pico는 4달러에 불과합니다.
추가 기능을 원한다면 어떤 플랫폼을 선택하든 더 많은 비용을 지불할 의향이 있어야 합니다.
다른 하드웨어 및 기존 라이브러리와의 호환성
Pico와 아두이노 모두 기능을 확장하고 센서, 액추에이터, 디스플레이 및 기타 장치와 쉽게 통합할 수 있는 광범위한 호환 하드웨어 모듈 및 실드를 갖추고 있습니다.
아두이노는 오랫동안 사용되어 왔으며 널리 사용되고 잘 문서화되어 있는 방대한 실드 컬렉션을 보유하고 있습니다. 아두이노 커뮤니티는 다양한 기능을 위한 수많은 코드 라이브러리를 개발하여 다양한 애플리케이션을 위해 미리 작성된 코드를 쉽게 찾을 수 있습니다. 또한 타사 보드도 Arduino와 호환되므로 프로젝트를 쉽게 확장할 수 있습니다.
라즈베리 파이 피코가 더 나은가요?
“더 나은” 보드의 개념은 주관적이며 개별 프로젝트 요구 사항과 장단점에 따라 달라집니다. 라즈베리 파이 피코는 처리 능력과 PIO와 같은 고급 기능이 뛰어나지만, 아두이노의 더 큰 커뮤니티와 소프트웨어 라이브러리는 많은 프로젝트에 탁월한 선택이 될 수 있습니다.