[Raspberry Pi] Hướng dẫn cài đặt và lập trình cơ bản với Raspberry Pi Pico

Raspberry Pi Pico (Pi Pico) là board vi điều khiển hiệu năng cao, chi phí thấp được xây dựng dựa trên chip RP2040 – chip vi điều khiển được thiết kế bởi chính Raspberry Pi vừa được ra mắt vào năm 2020. Đây là bo mạch vi điều khiển đầu tiên của Raspberry Pi, được thiết kế đặc biệt cho các dự án điều khiển, lập trình nhúng. Do đó, Raspberry Pi Pico có bản chất khác hoàn toàn so với các máy tính nhúng đơn khác của hãng như Raspberry Pi 3, Raspberry Pi 4,... vì nó không hỗ trợ cài đặt hệ điều hành mà chỉ được dùng để lập trình thực hiện các tác vụ riêng lẻ. Pi Pico có thể được lập trình dễ dàng thông qua ngôn ngữ C/C++ hoặc MicroPython, đây cũng chính là 2 ngôn ngữ lập trình cơ bản hỗ trợ cho loại board vi điều khiển này.

1. CHUẨN BỊ BOARD

Pi Pico board hiện được bán phổ biến trên thị trường với giá cả dao động từ 4$ - 6$ với những tùy chọn khác nhau (có kèm chân jump, cáp nạp/kết nối).

Bước đầu cơ bản để chuẩn bị 1 board Pi Pico:

- Hàn chân jump (chân rào), vệ sinh board.

- Kiểm tra thông mạch, ngắn mạch.

- Cắm board Pi Pico vào break-board.

 

2. CHUẨN BỊ CÔNG CỤ VÀ SDK

Nạp File Mirco Python: Pi Pico hỗ trợ lập trình bằng MicroPython thông qua nạp file (.uf2). Các bạn tải Micro Python để tải về file thực thi MicroPython.

Nạp file thực thi

- Nhấn giữ nút BOOTSEL (nút nhấn màu trắng trên board) rồi cắm cáp kết nối vào board, sau đó cắm vào cổng USB của máy tính (PC, Raspbery Pi,...).

- Pi Pico board sẽ được kết nối máy tính như là ổ cứng lưu trữ và có tên là RPI-RP2, bạn click chuột kéo file .uf2 mẫu vừa tải vào thư mục RPI-RP2 và reset lại board là đã hoàn thành nạp MicroPython cho board, lúc này là có thể lập trình thông qua các IDE hỗ trợ.

 

Nạp file mẫu (blink LED):

- Tải về file Blink LED mẫu tại đây (định dạng .uf2).

- Tiến hành nạp file blink.uf2 như cách nạp file đã hướng dẫn ở trên.

Tải SDK: Như đã nói, Pi Pico board hỗ trợ cả 2 ngôn ngữ Python và C/C++, 2 gói SDK này có sẵn các mã nguồn code mẫu và thư viện sẵn có, giúp bạn nhanh chóng triển khai các dự án.

3. LẬP TRÌNH PI PICO SỬ DỤNG NGÔN NGỮ PYTHON
(SỬ DỤNG IDE THONNY)
 
IDE khuyên dùng để lập trình cho Pi Pico bằng Python là Thonny, các bạn tải về Thonny IDE tại đây: https://thonny.org/. Thonny khả dụng trên cả 3 hệ điều hành Windows, Mac và Linux. Thonny hỗ trợ viết code MircoPython, tự động xuất file thực thi và nạp trực tiếp vào board Pi Pico.
- Sau khi cài đặt Thonny, bạn kết nối board đến máy tính và mở IDE lên.

 

- Sử dụng đoạn code mẫu blink LED sau và nhấn Run để build và nạp code trực tiếp vào board:
from machine import Pin
import time

led = Pin(25, Pin.OUT)
while True:
    led.toggle()
    time.sleep(0.1)

Lưu ý: Đối với Linux OS, sau khi cài đặt IDE bạn tiến hành cập nhật bằng lệnh: 
$ sudo apt-get update && sudo apt-get upgrade -y
để đảm bảo có phiên bản Thonny mới nhất và chọn được board Pi Pico trong thẻ Interpreter.
Các bạn có thể tải về tài liệu hướng dẫn sử dụng chi tiết về cách sử dụng bộ SDK Python của nhà sản xuất tại đây: https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf
 
4. LẬP TRÌNH PI PICO SỬ DỤNG NGÔN NGỮ C/C++ 
(SỬ DỤNG IDE VISUAL STUDIO CODE)
 
Có thể sử dụng nhiều IDE để lập trình Pi Pico nhưng Visual Studio Code (VS Code) được nhà sản xuất khuyến khích sử dụng hơn cả. VS Code khá nhẹ, mượt và miễn phí, hỗ trợ đa nền tảng, các bạn có thể tải về tại đây: https://code.visualstudio.com/. Sau khi tải về VS Code và có được gói SDK, bạn import dự án và thực hiện viết chương trình bình thường giống như các chương trình C/C++ phổ biến khác.

Bản chất việc lập trình Pi Pico bằng C/C++ là chuyển đổi các file .c thành .uf2 bằng VS Code hoặc bằng CMake. Ở đây, mình sẽ hướng dẫn các bạn chuyển đổi bằng CMake theo hướng dẫn của nhà sản xuất trên Linux/Raspbian OS.

- Tạo thư mục pico tại home (hoặc workspace)

$ cd ~/
$ mkdir pico
$ cd pico
- Clone gói SDK và examples.
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git sub module update -init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
- Cài thêm các công cụ build GCC
$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
- Chuyển đổi file .c sang file .uf2 (Chạy thử file blink.c)
$ cd pico-examples
$ mkdir build
$ cd build
cài đặt các đường dẫn:
$ export PICO_SDK_PATH=~/pico/pico-sdk
thực thi Cmake:
$ cmake ..
$ cd blink
$ make -j4
Sau khi quá trình build thành công, file .uf2 sẽ được tạo ra, bạn tiến hành kéo thả file vào thư mục RPI-RP2 như phần 2 đã nói.
5. BỘ TÀI LIỆU THAM KHẢO
- Hướng dẫn bắt đầu với Raspberry Pi Pico đầy đủ nhất: https://datasheets.raspberrypi.org/pico/getting-started-with-pico.pdf
- Hướng dẫn chi tiết sử dụng SDK và cách tải bộ Raspberry Pi Pico C/C++ SDK:  https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-c-sdk.pdf
- Hướng dẫn chi tiết sử dụng SDK và cách tải bộ Raspberry Pi Pico Python SDK: https://datasheets.raspberrypi.org/pico/raspberry-pi-pico-python-sdk.pdf
6. KẾT LẠI

Như vậy, EPCB đã hướng dẫn các bạn một vài bước cài đặt và lập trình cơ bản với board Raspberry Pi Pico. Bài viết được rút gọn từ các chỉ dẫn của User Manual trên trang chủ của Raspberry và đúc kết từ kinh nghiệm cá nhân. Nếu có thắc mắc gì về bài viết cũng như trao đổi các thông tin kĩ thuật hữu ích, hãy liên hệ với EPCB qua Fanpage: EPCB hoặc qua Email: epcbtech@gmail.com

Cảm ơn các bạn đã theo dõi, hy vọng bài viết này sẽ hữu ích. Chúc các bạn thành công!