Khi bạn nghĩ đến Arduino, bảng đầu tiên trong đầu bạn phải là Arduino Uno cổ điển , với bộ vi điều khiển Atmel của nó. Bạn sẽ không nghĩ đến một Arduino được cung cấp bởi ‘Pi Silicon’ nhưng cuối cùng trong làn sóng ban đầu của bảng đối tác RP2040 là Arduino Nano RP2040 Connect và đây là bảng mà chúng tôi đã chờ đợi. Bạn thấy Arduino Nano RP2040 Connect là bảng đối tác duy nhất có Wi-Fi và Bluetooth tích hợp sẵn. Được tích hợp gọn gàng vào bố cục Nano quen thuộc là mô-đun Wi-Fi Nina W102 uBlox cung cấp WI-Fi 2,4 GHz, Bluetooth Low Energy, một IMU có khả năng phát hiện chuyển động và cử chỉ và một micrô có thể được sử dụng để đo mức âm thanh và quan trọng hơn được sử dụng trong các dự án máy học.

Có nên kết nối Arduino Nano RP2040 là trọng tâm của dự án tiếp theo của bạn không? Vâng, điều đó phụ thuộc vào nhu cầu và ngân sách của bạn. Nếu bạn hài lòng với việc nhấp nháy đèn LED và làm cho mọi thứ chuyển động, thì Raspberry Pi Pico giá 4 đô la dành cho bạn. Nhưng nếu bạn muốn xây dựng các thiết bị Internet of Things (IoT) với giao diện web thì bảng mạch mới nhất của Arduino có thể chính là thứ bạn đang tìm kiếm. Nhưng chúng tôi không thực sự hiểu được cách thức hoạt động của một bảng và quan trọng hơn là nó được hỗ trợ như thế nào cho đến khi chúng tôi sử dụng và sử dụng nó, chúng tôi sẽ làm!

Arduino Nano RP2040 Connect Hardware Specifications

Hệ thống trên chip chip vi điều khiển RP2040 được thiết kế bởi Raspberry Pi Bộ xử lý Arm Cortex M0 + lõi kép, xung nhịp linh hoạt chạy lên đến 133 MHz. 264KB SRAM và 4/16MB bộ nhớ Flash trên bo mạch GPIO 22 × chân GPIO 3.3V đa chức năng 1 × SPI, 1 × I2C, 1 × UART, 8 × ADC 12 bit, 20 × kênh PWM có thể điều khiển 8 × Máy trạng thái I/O (PIO) có thể lập trình để hỗ trợ thiết bị ngoại vi tùy chỉnh. 1x Đèn LED người dùng (GPIO 13) LED RGB, chỉ có thể truy cập v tức là mô-đun Nina W102. Mô-đun đúc cho phép hàn trực tiếp tới bo mạch của nhà cung cấp dịch vụ. Tính năng bổ sung Nina W102 uBlox Wi-Fi mô-đun ST LSM6DSOXTR IMU 6 trục ST MP34DT06JTR MEMS Micrô Bộ đồng xử lý mật mã ATECC608A-MAHDA-T Kích thước 1,77 x 0,7 inch (45 x 18mm)

Thiết kế và Sử dụng Kết nối Arduino Nano RP2040

Arduino Nano RP2040 Kết nối

(Tín dụng hình ảnh: Phần cứng của Tom)

Thiết kế của Arduino Nano RP2040 Connect khá rõ ràng dựa trên phạm vi Nano của Arduino các bo mạch như Nano 33 IoT và Nano Ever y. Phạm vi bảng mạch Nano chia sẻ cùng một chân cắm, cho phép Arduino Nano RP2040 Connect trở thành sản phẩm thay thế cho các bảng mạch Nano khác. Bảng trần có các cạnh đúc đã trở thành tiêu chuẩn cho bảng RP2040 và mặt dưới của bảng không có đường viền, cho phép nó được hàn bề mặt vào một dự án. Trong số 22 chân GPIO, chúng tôi có 20 chân có thể được sử dụng cho PWM và trong số đó chúng tôi có 8 đầu vào tương tự, hầu hết các bảng RP2040 vì Pico đi kèm với ba và hầu hết các bảng RP2040 của bên thứ ba có bốn. Nếu bạn đang tìm kiếm các chân I2C, chúng được ẩn đi trên các chân A4 và A5 và IMU tích hợp có thể truy cập được trên bus I2C.

Con đại bàng để mắt tới bạn sẽ phát hiện ra một đầu nối micro USB, một thứ phổ biến trên nhiều bảng Arduino mới hơn. Chúng tôi muốn thấy một đầu nối USB-C vì nó cung cấp một kết nối tuyệt vời và đầu nối cơ học mạnh hơn micro USB. Vì đây là bảng RP2040 đắt nhất, chúng tôi nghĩ rằng Arduino có thể bao gồm bảng này mà không ảnh hưởng đến chi phí tổng thể.

Arduino Nano RP2040 Connect

(Tín dụng hình ảnh: Phần cứng của Tom)

Tính năng lớn của Kết nối Arduino Nano RP2040 là Wi-Fi và Chip Nina W102 cung cấp cho chúng tôi Wi-Fi 802.11 b/g/n 2,4 GHz và Blueto oth 4.2. Ăng-ten nằm đối diện cổng micro USB. Bản thân chip Nina W102 đã là một vi điều khiển mạnh mẽ với 520KB SRAM và CPU Dual Core Xtensa LX6 240MHz 32bit, nhưng trong bo mạch này, nó được xếp hạng để xử lý truyền thông.

Vì đây là Arduino, khuynh hướng tự nhiên của chúng tôi là sử dụng Arduino IDE và với một cập nhật chính thức gần đây hỗ trợ cho RP2040 cho IDE, chúng tôi có thể dễ dàng tạo dự án. Chúng tôi đã thử nghiệm Kết nối Arduino Nano RP2040 với Arduino 1.8.15 và 2.0 beta 7 IDE và sau khi cài đặt bảng thông qua trình quản lý bảng, chúng tôi có thể flash bản phác thảo nhấp nháy ví dụ để chứng minh rằng chúng tôi có kết nối. Để truy cập Wi-Fi, chúng tôi cần cài đặt thư viện WiFiNINA và sau đó tạo một tệp bí mật để chứa các chi tiết đăng nhập Wi-Fi của chúng tôi. Chúng tôi đã chạy ví dụ về WiFi của Máy chủ Web Đơn giản và nó không có vấn đề gì, nhưng sau đó chúng tôi biết rằng chúng tôi cần thay đổi chân GPIO mặc định được sử dụng trong ví dụ từ 9 thành “LED_BUILTIN” để điều khiển qua giao diện web.

Chi tiết kết nối sẽ xuất hiện trong màn hình nối tiếp, nhưng cho dù chúng tôi đã làm gì, chúng tôi không thể kết nối với màn hình nối tiếp và tất cả những gì chúng tôi thấy là lỗi thông báo cho chúng tôi rằng cổng đang bận. Điều này không phải là duy nhất đối với Kết nối Arduino Nano RP2040; chúng tôi đã thấy hành vi này với các bảng RP2040 khác và Arduino IDE. Giải pháp duy nhất của chúng tôi là đóng Arduino IDE và sử dụng một ứng dụng khác để mở một thiết bị đầu cuối nối tiếp. Vấn đề tương tự đã ảnh hưởng đến việc kiểm tra IMU của chúng tôi, vì vậy chúng tôi đã mở thiết bị đầu cuối nối tiếp, đặt lại bảng và thấy dữ liệu gia tốc kế thô cuộn qua màn hình. Sau đó, chúng tôi phát hiện ra rằng vấn đề nằm ở hệ điều hành của chúng tôi, Ubuntu 18.04, chúng tôi phải gỡ cài đặt trình quản lý modem để xem dữ liệu nối tiếp trên cổng. Vấn đề này không ảnh hưởng đến bất kỳ hội đồng quản trị chính thức và nhân bản nào khác của chúng tôi.

Chúng tôi cũng đã thử nghiệm micrô trên bo mạch, cùng một kiểu được sử dụng trong Nano 33 IoT. Chúng tôi đã làm theo tài liệu chính thức để gửi bản phác thảo thử nghiệm đến Arduino Nano RP2040 Connect, sau đó mở Serial Plotter với hy vọng có thể thấy hình ảnh của âm thanh. Than ôi tất cả những gì chúng ta thấy là một giá trị đường phẳng không đổi là-128. Chúng tôi không thể tìm thấy bất kỳ hướng dẫn nào về cách khắc phục sự cố này.

Arduino Nano RP2040 Connect

(Tín dụng hình ảnh: Phần cứng của Tom)

Chúng tôi gặp phải các vấn đề khác khi sử dụng Đám mây IoT của Arduino, một dịch vụ mà chúng tôi đã sử dụng trước đây với các bảng MKR WIFI 1010 và Nano 33 IoT. Kết nối Arduino Nano RP2040 của chúng tôi đã được phát hiện, nhưng không thể định cấu hình. Chúng tôi đã theo dõi Documents , tại thời điểm viết bài này, có vẻ như chưa hoàn chỉnh và vẫn còn trống. Đây thực sự là một điều xấu hổ, vì Đám mây IoT là dịch vụ mới của Arduino để cho phép tạo và giám sát các “thứ” (dự án) IoT thông qua giao diện web. Hiện tại, rất có thể đó là những rắc rối khi mọc răng và điều gì đó sẽ được khắc phục trong tương lai. Hiện tại, nhà sản xuất thông minh sẽ gắn bó với IDE máy tính để bàn.

(Tín dụng hình ảnh: Phần cứng của Tom)

Có thể bạn đang nghĩ rằng đây là RP2040, để tôi có thể chạy các ngôn ngữ lập trình khác? Chính xác! Chúng tôi có thể sử dụng CircuitPython và MicroPython với Arduino Nano RP2040, lưu ý là bạn sẽ cần nguồn các thư viện của riêng mình cho micrô, IMU và WiFi trên bo mạch. Có một điểm khác biệt giữa việc đánh số pin và số GPIO thực tế. Số chân Arduino, được sử dụng trong Arduino IDE cho một chân là D2, nhưng chân RP2040 là GPIO25. Một ví dụ khác là đèn LED tích hợp là D13, nhưng trong các thử nghiệm MicroPython của chúng tôi, nó là GPIO 6.

Chúng tôi đã thử nghiệm Arduino Nano RP2040 Connect với CircuitPython và đó là một trải nghiệm thú vị hơn nhiều và nhờ có rất nhiều các thư viện, đặc biệt là thư viện ESP32SPI, chúng tôi đã nhanh chóng có Arduino Nano RP2040 Connect trực tuyến và nhận dữ liệu từ một API từ xa. Chúng tôi cũng đã thử nghiệm với MicroPython và nó hoạt động giống như Raspberry Pi Pico, nhưng chúng tôi không có trình điều khiển để sử dụng Wi-Fi tích hợp.

Đây là nơi chúng tôi nhận thấy một điểm bất thường khiến chúng tôi không thể thiết lập bo mạch sẵn sàng chấp nhận chương trình cơ sở mới. Thông thường, chúng tôi sẽ đặt lại bảng và nhấn BOOTSEL. Đối với Kết nối Arduino Nano RP2040, chúng tôi sẽ nhấn đúp vào nút đặt lại, nhưng điều này không hoạt động. Sau khi liên hệ với sự trợ giúp trên Twitter, chúng tôi được thông báo rằng chúng tôi có thể kết nối các chân REC và GND với nhau để buộc bo mạch vào chế độ.

Trường hợp sử dụng cho Kết nối Arduino Nano RP2040

Trường hợp sử dụng rõ ràng nhất là thiết bị IoT và điều này được thực hiện khá đơn giản thông qua Đám mây Arduino IoT. Với IoT Cloud, chúng tôi có thể nhanh chóng tạo các ứng dụng GUI để đọc dữ liệu từ một thiết bị từ xa. Ví dụ: chúng tôi có thể tạo một trạm thời tiết bằng cách sử dụng Kết nối Arduino Nano RP2040 và truyền dữ liệu trực tiếp lên đám mây có thể được truy cập từ bất kỳ thiết bị kết nối web nào.

Có thể sử dụng cùng một giao diện người dùng Arduino IoT Cloud để điều khiển từ xa Kết nối Arduino Nano RP2040, chẳng hạn như một rô bốt được điều khiển trên web sẽ không khó xây dựng hơn nhiều so với rô bốt không hỗ trợ web.

Nếu bạn không phải là người dùng Arduino IoT Cloud, bạn vẫn có thể tận dụng tối đa bảng này bằng cách sử dụng IDE truyền thống. Có các thư viện có sẵn cho HTTP, MQTT và Bluetooth đã tồn tại một thời gian và có thể được chuyển để chạy trên RP2040. Với những thư viện này, chúng tôi có thể xây dựng các rô bốt được điều khiển trên web, các trạm thời tiết không dây, v.v.

Tóm lại

Nó có giá thấp hơn. Nếu bạn cần Wi-Fi và RP2040 thì Arduino Nano RP2040 Connect là một phần cứng vững chắc nhưng nó đắt hơn bất kỳ giải pháp RP2040 nào khác mà chúng tôi đã thử nghiệm, bao gồm cả việc mua Raspberry Pi Pico và Pimoroni Pico Wireless. Chi phí bổ sung cho phép chúng tôi truy cập vào các chân GPIO, những chân này bị chặn với Pico Wireless. Nếu bạn cần gói nhỏ nhất có thể cho một dự án IoT nhúng, thì đây có thể là bảng, nhưng hiện tại tài liệu này không đạt tiêu chuẩn thông thường của Arduino mặc dù đây là bảng cuối cùng trong làn sóng đầu tiên của các thiết bị hỗ trợ RP2040.

Các đầu vào tương tự bổ sung có nghĩa là Kết nối Arduino Nano RP2040 có hầu hết các thiết bị RP2040, hữu ích để kết nối nhiều thành phần khác nhau. Tiền thông minh cho những người muốn kết nối dự án RP2040 của họ với thế giới là với bảng này, nhưng trong bao lâu? Bo mạch RP2040 của Seeed đi kèm với Wi-Fi và dự kiến ​​nó sẽ được bán lẻ với giá bằng một nửa Arduino.

Categories: IT Info