Ở bài viết này, Proe.vn xin hướng dẫn cách kiểm tra và lập trình cơ bản Raspberry Pi Pico trên Raspberry Pi và Windows.
Chuẩn bị:
Raspberry Pi (Zero, 3B, 3B+, 4B) https://www.proe.vn/raspberry-pi
Raspberry Pi Pico https://www.proe.vn/raspberry-pi-pico
USB-A to Micro USB-B cable. https://www.proe.vn/micro-usb-0-3-cable-usb-a-to-micro-usb-b-length-30cm
Raspberry Pi Pico Evaluation Kit (tùy chọn). https://www.proe.vn/raspberry-pi-pico-evaluation-kit-type-b-the-pico-color-lcd-imu-sensor-gpio-expander
Test Raspberry Pi Pico:
Nạp MicroPython cho Pico (tham khảo cách nạp để chuyển sang mục b test ví dụ)
Đối với Raspberry Pi và Windows đều thực hiện các bước sau: (đây là cách cơ bản nhất để nạp MicroPython cho Pico).
- Download MicroPython file.uf2 (tại đây: https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-micropython) về máy.
Cắm cáp micro USB vào Pico. Sau đó nhấn giữ nút BOOTSEL trên Pico và cắm đầu còn lại vào máy tính hoặc Raspberry Pi để vào chế độ nạp. Lúc này màn hình hiển thị thư mục của Pico
Kéo thả file .uf2 vào thư mục RPI-RP2040
Lúc này Pico đã nạp MicroPython, bạn có thể lập trình Python cho nó bằng các IDE python chuyên dụng, tham khảo mục 3.
Tương tự với Raspberry Pi.
Test Pico blink_a_led với file .uf2 (download tại đây: https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-c).
Làm tương tự như nạp MicroPython cho Pico, đèn led bên cạnh cổng micro USB (Pin 25) sẽ nhấp nháy.
Lập trình Python cho Pico bằng Thonny python IDE:
Thonny Python IDE là phần mềm được mặc định cài đặt trong bản Raspian full của RaspberryPi. Nó hỗ trợ cài đặt Firmware cho Pico nên rất tiện lợi, bạn chỉ cần lập trình Python, phần mềm sẽ tự biên dịch và nạp vào Pico.
Đối với Windows, bạn download phần mềm này tại đây (https://thonny.org/)
Sau khi cài đặt, kết nối Pico với Pi hoặc máy tính như trên. Sau đó mở phần mềm lên.
Lưu file, sau đó Run và xem kết quả.
Lưu ý: Nếu Thonny Python IDE có giao diện mặc định cho Raspberry Pi thì bạn chỉnh lại mode bằng cách bấm vào dòng chữ ở góc trên bên phải là dòng change to default mode, reset lại Thonny. Lúc này thanh basic mới hiện ra các chức năng file, view, run,… Các bước tiếp theo làm giống như với Windows.
Một lưu ý nữa là bạn nên nhập lệnh sudo apt-get update && sudo apt-get upgrade -y để có phiên bản Thonny mới nhất thì mới chọn được board Pico trong mục Interpreter nhé!
Làm thế nào để nạp chương trình viết bằng ngôn ngữ C cho Pico ? (setup trên Raspberry Pi)
Câu trả lời là chuyển đổi file .c sang file binary .uf2
Có nhiều cách để chuyển đổi giữa 2 file này, ví dụ như dùng Visual Studio, CMake. Sau đây mình sẽ làm theo cách trong user manual của Pico là dùng CMake.
Bước 1: Đầu tiên, tải xuống python-sdk và python-examples.
Lần lượt nhập các lệnh sau:
Tạo thư mục pico ở home/pi (pi là tên user)
$ cd ~/
$ mkdir pico
$ cd pico
Clone pithon-sdk và python-exaples
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update –init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
Bước 2: Cài đặt các công cụ cần thiết
$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
Bước 3: Chuyển file blink.c sang blink.uf2
$ cd pico-examples
$ mkdir build
$ cd build
Cài đặt đường dẫn :
$ export PICO_SDK_PATH=~/pico/pico-sdk
Run Cmake:
$ cmake ..
$ cd blink
$ make -j4
Sau khi build xong sẽ xuất hiện file blink.uf2, file này dùng để nạp cho Pico nhấp nháy Led bằng cách kéo thả file vào RPI-RP2040 như hướng dẫn ở trên.
Trường hợp không có màn hình, SSH với Pi thì thực hiện như sau:
$ dmesg | tail # xem Pico đã kết nối chưa
[ 371.973555] sd 0:0:0:0: [sda] Attached SCSI removable disk
$ sudo mkdir -p /mnt/pico
$ sudo mount /dev/sda1 /mnt/pico
$ sudo cp blink.uf2 /mnt/pico
$ sudo sync
$ sudo umount /mnt/pico
Như vậy là Proe.vn đã hướng dẫn cơ bản cách cài đặt, lập trình cơ bản cho Raspberry Pi Pico. Tham khảo thêm cách lập trình bằng Visual Studio Code, Debbuger, cài đặt Picotool tại đây: https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf