
RaspberryFoundationãPiPicoãå°å ¥ããå㯠ããã©ãºããªãŒããšArduinoãæ¯èŒããããšã¯æ£ãããããŸããã§ãããRaspberry Piã¯ãç¹å®ã®ã³ã³ãã¥ãŒã¿ãŒã§ã¯ãããŸãããæ¬æ Œçãªã³ã³ãã¥ãŒã¿ãŒã§ããäžæ¹ãArduinoã¯ãã€ã¯ãã³ã³ãããŒã©ãŒã§ããããããRaspberry Pi Picoã®ç»å Žã«ããããã¹ãŠãå€ãããŸãããæ°ããããŒãããã€ã¯ãã³ã³ãããŒã©ãŒã§ãããããArduinoãšã®éãã¯ããã»ã©å€§ãããããŸããã
ArduinoãšRaspberryPi Picoã«ã¯ãå ±éç¹ã1ã€ãããŸãããããã¯ãã©ã€ãããã©ã€ããã»ã³ãµãŒã®å¶åŸ¡ãªã©ãããããçš®é¡ã®ãããžã§ã¯ãã«æé©ãªããŒãã§ããæ¬æ ŒçãªOSã䜿çšããå¿ èŠã¯ãããŸãããããã§ãäž¡æ¹ã®ããŒãã®æ©èœããã§ã«æ¯èŒã§ããŸããããããã®èšäºã§è¡ããŸãã
æ©èœæ§ãšGPIO

Raspberry Pi Picoã¯ãä»ã®ã¡ã³ããŒãšã¯ãã©ãŒã ãã¡ã¯ã¿ãŒãç°ãªããŸããç¹ã«ãããŒãã«ã¯40åã®DIPãã³ããããŸããããã«ããã³ããã£ãªã¢ããŒãã«æ¥ç¶ããããã«äœ¿çšã§ããããã³ã°ãåšå²ã«ãããŸãã
DIPã¯æ°ãããã®ã§ã¯ãããŸãããåæ§ã®ãã©ãŒã ãã¡ã¯ã¿ãä»ã®ãã€ã¯ãã³ã³ãããŒã©ã§é·å¹Žäœ¿çšãããŠããŸãããã®ãããªããŒãã¯ããã£ãªã¢ããŒãã«ã¯ãã ä»ããããããã¬ããããŒãã«é 眮ããããä»ã®ã¢ãžã¥ãŒã«ã®äžã«åãä»ãããããããšãã§ããŸãããããããã®ãããªããŒãã¯ãã©ã®ã·ã¹ãã ã«ãéåžžã«ç°¡åã«çµ±åã§ããŸãã
Picoã®GPIOã«ã¯ãå€ãã®ããžã¿ã«ãã£ãã«ã«å ããŠã3ã€ã®ã¢ããã°å ¥åãšããã€ãã®I2CãSPIãããã³UARTã€ã³ã¿ãŒãã§ã€ã¹ããããŸãããã ããPicoã«ã¯ãWS2812ãNeoPixelsããªã©ã®ä»ã®ã€ã³ã¿ãŒãã§ã€ã¹ããããã³ã«ããšãã¥ã¬ãŒãããããã«æ§æã§ããããã°ã©ã å¯èœãªPIOã倿°ãããŸããå šäœãšããŠãããŒãã¯å®äŸ¡ã§çšéã®åºãGPIOããŒã«ã§ãã
åè ïŒã©ãºããªãŒãã€ãã³
SoC Raspberry Pi Pico vs Arduino

åäžä»£ã®äººæ°ã®ããArduinoããŒãã«ã¯ãATMega328Pã®ãããªArtmelããããæèŒãããŠããŸãããçŸåšãå€ãã®ããŒãã«ARMãæèŒãããŠããŸããããšãã°ãArduinoã®Portenta H7ã«ã¯ããã¥ã¢ã«ã³ã¢ã®Arm Cortex M7 + M4ããããŸãã
AdafruitãSeeedãSparkFunãªã©ã®ããŒãã«ãARMããããæèŒãããŠããŸãããã€ã¯ãã³ã³ãããŒã©ãŒã¯äž»ã«åäžã®ããã»ã¹ã«äœ¿çšããããããéåžžãè€æ°ã®ã³ã¢ãšé«æ§èœã¯å¿ èŠãããŸããã
ããããRP2040ã¯æ¬¡äžä»£ã®ãããã§ãã 1ã€ç®ã¯ã133MHzã§ã¯ããã¯ãããArmCortex M0 +ã§ããããã¯ãUNOã®16 MHz328Pãããã¯ããã«é«éã§ãã Raspberryããã»ããµã®SRAMã¯264KBã§ãUnoã®SRAMãããå€ããããã2KBã§ãããããšããã³ã«ã¯2MBã®å éšã¡ã¢ãªããããŸããããŠãã«ã¯32KBãããããŸãããããŸããªãã
ããŠããã³ã¯ãã«ãã³ã¿H7ã«äœã«å察ã§ããŸããïŒããŠããã®ããŒãã«ã¯ãæå€§480MHzã«å ããŠ2MBã®å éšã¡ã¢ãªãš1MBã®RAMãå®è¡ã§ããArm Cortex M7 + M4ãæèŒãããŠããŸããããŒãã«ã¯ãWiFiãBuetoothãã«ã¡ã©ãšGPUãæ¥ç¶ããããã®ã€ã³ã¿ãŒãã§ã€ã¹ããããŸããå šäœãšããŠãPotentaã¯ããããé¢ã§åå©ãåããŠããããã®ã¯ã©ã¹ã«ãšã£ãŠéåžžã«åŒ·åãªããŒãã§ãããããããããçŽ$ 109ïŒçšèŸŒïŒã®è²»çšã§ããããšãèŠããŠããŠããã®äŸ¡æ ŒãPicoã®$ 4ãšæ¯èŒãããšãéžæã¯æçœã«ãªããŸãã
åè ïŒã©ãºããªãŒãã€ãã³
Raspberry PiPicoãšArduinoã®ããã°ã©ãã³ã°

Arduino IDEã¯ãWindowsãMacOSãããã³Linuxçšã®çµ±åéçºç°å¢ã§ãããCããã³C ++ã§éçºãããArduinoäºæããŒãäžã§ããã°ã©ã ãäœæããã³ããŠã³ããŒãããããã«èšèšãããŠããŸããä»£æ¿ææ®µããããŸã-PlatformIOãšArduinoCreateãArduinoã®ã¯ã©ãŠãç°å¢ãããããäžè¬çã«ãããã¯ãŸã åãIDEã§ãã
æéã®çµéãšãšãã«é²åããã³æ¹åãããããããã«ãããŒã管çãªã©ã®çµã¿èŸŒã¿æ©èœã«å ããŠãã¢ããªã³ãã¢ã¯ã»ãµãªã®ããã±ãŒãžã©ã€ãã©ãªãæ€çŽ¢ããŠã€ã³ã¹ããŒã«ããææ®µã远å ãããŸãããArduino Createã¯ãåçŽãªã¿ã¹ã¯ãšããè€éãªãããžã§ã¯ãã®äž¡æ¹ã«äœ¿çšã§ãã䟿å©ãªã¯ã©ãŠãç°å¢ã§ããPlatformIOã«ã¯ãã³ãã³ãã©ã€ã³ããŒã«ãå°çšIDEããŸãã¯Microsoft Visual StudioCodeãªã©ã®æ¢åã®IDEãšã®çµ±åããŒã«ã®3ã€ã®ããŒãžã§ã³ããããŸãã
æ°ãããã©ãããã©ãŒã ã¯RaspberryPi Picoã§ããããã®å Žåã¯CãšMicroPythonã§ã³ãŒãã£ã³ã°ã§ããŸããããã«ããã©ãããã©ãŒã éçºè èªèº«ãåŸè ã®ãªãã·ã§ã³ãæšå¥šããŠããŸããMicroPythonãšPicoã®å Žåããã¹ãŠãåé¡ãããŸãããREPLïŒReadãEvalãPrintãLoopïŒãšåŒã°ããPythonã·ã§ã«ããŸãã¯Thonnyã®ãããªIDEã䜿çšããŠããã®èšèªã§äœæ¥ã§ããŸããããããã¹ãŠã«ãããã³ãŒãããã°ããèšè¿°ããŠãããã€ããããšãã§ããŸãã
ããã§ãCã䜿çšããå¿ èŠãããå Žåã¯ã2ã€ã®ãªãã·ã§ã³ããããŸãããšãã£ã¿ãŒïŒVi /VimãNanoïŒã§ã³ãŒããèšè¿°ããŠãããã³ã³ãœãŒã«ããŒã«ã䜿çšããŸãããŸãã¯ãããŸããŸãªæ¡åŒµæ©èœã䜿çšããŠãã³ãŒãããã«ãããŠPicoã«ç§»æ€ããŸããã©ã¡ãã®ã¢ãããŒããåé¡ãªãæ©èœããŸãããããŸã䟿å©ã§ã¯ãããŸããã確ãã«ã3çªç®ã®ãªãã·ã§ã³ããŸããªãç»å ŽããŸã-RP2040ãããããµããŒãããæŽæ°ãããArduinoIDEã
åè ïŒã©ãºããªãŒãã€ãã³
ããŒãã§ã®äœæ¥ã®ã·ã³ãã«ããšäŸ¿å©ã

äžèšã®ããã«ãä»ã®RaspberryPiã¢ãã«ã¯æ¬æ ŒçãªPCã§ãã圌ãã¯æ¬æ ŒçãªOSãå®è¡ããŸããPicoã¯OSã®ãªããã€ã¯ãã³ã³ãããŒã©ãŒã§ãã
ãããã£ãŠãéžæããèšèªã«é¢ä¿ãªãããã®èšèªã®ç»åã§Picoããã©ãã·ã¥ããå¿ èŠããããŸããããã«ãããã³ãŒããããŒãã«çŽæ¥ããŒãããããšã§ãåŸã§ããŒããæäœã§ããŸããç»åã®ãã©ãŒããã-Microsoftã®UF2ãã€ã¡ãŒãžããã©ãã·ã¥ããã«ã¯ãmiscro USBã±ãŒãã«ãæ¥ç¶ããåŸã«BOOTSELãã¯ãªãã¯ããUF2ãã¡ã€ã«ãRPI-R2ãã£ã¹ã¯ã«ã¢ããããŒãããŠãæ°ç§åŸã«äœæ¥ã§ããããã«ããå¿ èŠããããŸããããããåãThonnyãéããŠãã³ãŒãã®èšè¿°ãéå§ã§ããŸãã
C / C ++èšèªã§ã¯ããã¹ãŠãããè€éã«ãªããŸããããã§ã¯ãã³ã³ãœãŒã«ãããã¹ããšãã£ã¿ãŒã䜿çšãã远å ã®ã¢ããªã±ãŒã·ã§ã³ãããŠã³ããŒãããŠãäŸåé¢ä¿ãç£èŠããå¿ èŠããããŸãããã¹ãŠãé 調ã§ããã°ãPicoã«UF2ãã¡ã€ã«ãšããŠæåã§ããŒãããããããžã§ã¯ããååŸããŸãã
Microsoftã®VisualStudio Codeã䜿çšããŠããã®ã¿ã¹ã¯ããããã«èªååã§ããŸããããã«ããããããžã§ã¯ãã³ãŒããèšè¿°ããæ°åã¯ãªãã¯ããã ãã§ç®çã®ãã¡ã€ã«ãäœæã§ããŸããããã¯åå¿è ã«ãšã£ãŠæã䟿å©ãªããã»ã¹ã§ã¯ãããŸãããããã¹ãŠã解決ããããšãã§ããŸããã¡ãªã¿ã«ãArduinoããŒã ã¯æè¿ãArduinoIDEãä»ããŠRP2040ã§äœæ¥ã§ããããã«ãªããšçºè¡šããŸããã
ããŒããšã®çŽæ¥äœæ¥ã«ã€ããŠã¯ãRaspberry PiPicoãã¯ãã ä»ããããŠããªãããšãèšåããå¿ èŠããããŸãããã³ãªããèªåã§ã¯ãã ä»ãããããšãã§ããŸããããã¡ããã¯ãã ããŠãå¿ èŠã§ããArduino NanoEveryãNano33 IoTãªã©ã®ããŒããé€ããŠãArduinoã¯ãã§ã«ãã³ä»ãã§è²©å£²ãããŠããŸããããã¯ãããã«éå§ã§ããããšãæå³ããŸãã
ãããããããã¯äºçްãªããšã§ãããæçµçã«ã¯Picoã§ã®äœæ¥ãç°¡åã«ãªããããããã§ãããŒããåã¡ãŸãã
ãšãã«ã®ãŒæ¶è²»
Raspberry Pi Picoã¯ãçµã¿èŸŒã¿ãããžã§ã¯ãåãã®å¹ççãªããŒãã§ããå žåçãªã©ãºããªãŒãã€ãšæ¯èŒããŠããã³ã¯ã¯ããã«å°ãªãæ¶è²»éã§ãããã€ã¯ãã³ã³ãããŒã©ã ãããšãã£ãŠã
åœç€Ÿã§ã¯ 審æ»ãã¹ããæã ã¯ã5V黿ºããå®å šãªæããã§12åã®Neopixelã®LEDãšã©ãºããªãŒãã€ãã³ããã¯ãŒãçŸåšã®ãããŒã- ã140ããªã¢ã³ãã¢ã0.7WãïŒ Raspberry Pi 4ã¯ã¹ã¿ã³ãã€ã¢ãŒãã§å®è¡ãããŠããã4ã5ã¯ããã瀺ããããããã¯çŽ æŽãããããšã§ããããã§ãã©ãºããªãŒãã€ãšæ¯èŒããŠããã³ã¯åãåŒãåºããŸãããããããã¯åããã¹ããããŠããã¢ã«ãã¥ã€ãŒããŠããšã©ã®ããã«æ¯èŒãããŸããïŒ
5Vã90mAã0.45Wã§ïŒãããã£ãŠãArduino Unoã®æ¶è²»éã¯å°ãªããªããŸããããã€ã¯ãã³ã³ãããŒã©ãŒã®æ§æãèãããšãããã¯äºæ³ãããããšã§ããå¥ã®ããŒããããšãã°Portenta H7ã§ãã¹ããç¹°ãè¿ããšãPortentaã§äœ¿çšãããŠããArmããã»ããµã®æ¹ã匷åã§ãããããæ¶è²»é»åãã¯ããã«é«ããªããŸããRP2040ãããããã«åŒ·åã§ãã
åè ïŒArduino
ä¹Ÿç¥æ®çç©äž
äžè¬çã«ãã¬ãã¥ãŒã¯éåžžã«äž»èгçã§ããçµå±ãåè ã¯4ãã«ã®å€æãå¹ åºãæ©èœãããã¥ã¡ã³ãã䜿ãããããåããPicoã§ããããšãããããŸãããæå°éã®è²»çšã§æå€§éã®æ©èœãå©çšã§ãããããããã¯ãã€ã¯ãã³ã³ãããŒã©ãŒã䜿çšãããããžã§ã¯ãã«æé©ãªããŒãã§ããåæã«ãä»ã®å€ãã®ããŒããšã¯ç°ãªãããã¹ãŠãåè¿°ã®ããã«æ©èœããŸãã
ãããã®ããã€ãã§ã¯ãããããæ©èœãããããã«å€ãã®ããšãããããåããªããã°ãªããŸããããã®äžãMicroPythonã¯ãã®ä»äºã«æé©ãªãªãã·ã§ã³ã§ãããããŒããéåžžã«è¿ éã«çšŒåãããããšãã§ããŸããArduino IDEéçºè ãPicoã®ãµããŒãã远å ããåŸãåé¡ãªãC / C ++ã§äœæ¥ã§ããããã«ãªããŸãããããŠããã€ã¯ãã³ã³ãããŒã©ãŒãšãã®æäœã®ååã«æ £ããŠããArduinoãã¡ã³ããPicoã詊ãããšãã§ããŸãã
å圢 | ã©ãºããªãŒãã€ãã³ | Arduino |
---|---|---|
GPIO | â | |
SoC | â | |
â | ||
â | ||
â | ||
4 | 1 |
