Raspberry Pi
Khi làm một robot nhỏ, ta thường bắt đầu bằng những việc rất cụ thể: đọc cảm biến, nhận ảnh từ camera, xử lý thông tin, rồi gửi lệnh cho motor hoặc các module bên dưới. Nếu robot chỉ cần bật tắt vài tín hiệu, một vi điều khiển như Arduino, STM32 hoặc ESP32 thường là đủ. Nhưng khi robot cần camera, kết nối mạng, lưu dữ liệu, chạy Python hoặc dùng các thư viện xử lý ảnh, ta cần một “bộ não” giống máy tính hơn.

Raspberry Pi thường được dùng ở vị trí đó. Nó là một máy tính nhỏ nằm trên một bo mạch duy nhất, có CPU, RAM, cổng USB, Wi-Fi, Bluetooth, khe thẻ nhớ và các chân GPIO. Điểm quan trọng nhất là Raspberry Pi chạy được Linux, nên ta có thể dùng nó gần giống một máy tính mini đặt bên trong robot.
Vai trò trong robot
Trong một robot đơn giản, Raspberry Pi thường nằm ở tầng xử lý cấp cao. Camera gửi ảnh vào Pi. Phần mềm trên Pi đọc ảnh, phát hiện vật thể, tính toán thông tin cần thiết, rồi quyết định robot nên làm gì tiếp theo.

Ví dụ, nếu robot nhìn thấy một vật phía trước, Raspberry Pi có thể xử lý ảnh để biết vật đó nằm lệch trái hay lệch phải. Sau đó, nó gửi lệnh cho tầng điều khiển bên dưới: quay sang trái, tiến lên, dừng lại hoặc gắp vật. Như vậy, Raspberry Pi không chỉ bật tắt phần cứng; nó giúp robot hiểu dữ liệu và ra quyết định ở mức cao hơn.
Raspberry Pi và vi điều khiển
Raspberry Pi không thay thế hoàn toàn vi điều khiển. Hai loại board này thường làm hai việc khác nhau.

Vi điều khiển phù hợp với phần sát phần cứng: đọc cảm biến nhanh, tạo PWM, điều khiển motor, đọc encoder hoặc phản hồi theo thời gian rất đều. Raspberry Pi phù hợp với phần nặng về phần mềm: xử lý ảnh, chạy chương trình Python, kết nối Internet, lưu file, mở giao diện web hoặc chạy các node trong ROS.
Trong robot, cách dùng phổ biến là để Raspberry Pi làm tầng điều phối, còn vi điều khiển làm tầng điều khiển thấp. Pi quyết định robot cần đi đâu hoặc làm gì; vi điều khiển biến quyết định đó thành tín hiệu ổn định cho motor và cảm biến.
Kết nối ngoại vi
Raspberry Pi có các chân GPIO để giao tiếp với phần cứng bên ngoài. Nó có thể đọc tín hiệu digital, bật LED, điều khiển relay, hoặc giao tiếp với module khác bằng I2C, SPI và UART.

Tuy nhiên, GPIO của Raspberry Pi chỉ phù hợp với tín hiệu điều khiển nhỏ. Không nên nối trực tiếp motor, bơm hoặc tải công suất lớn vào GPIO. Với các phần cứng như vậy, Raspberry Pi nên đi qua driver, relay module hoặc một vi điều khiển trung gian.
Giới hạn
Raspberry Pi mạnh và linh hoạt, nhưng không phải lựa chọn tốt cho mọi phần của robot. Nó khởi động chậm hơn vi điều khiển, tiêu thụ điện nhiều hơn và không đảm bảo thời gian thực tuyệt đối. Nếu cần điều khiển motor thật đều hoặc đọc encoder tốc độ cao, nên để vi điều khiển xử lý.
Khi dùng Raspberry Pi, cũng cần chú ý nguồn cấp, thẻ nhớ và nhiệt độ. Nguồn yếu có thể làm Pi treo hoặc reset. Thẻ nhớ kém dễ lỗi nếu ghi dữ liệu liên tục. Khi chạy xử lý ảnh hoặc AI, Pi có thể nóng và giảm hiệu năng.
Vì vậy, cách nhìn hợp lý nhất là xem Raspberry Pi như máy tính cấp cao của robot: nó giúp robot nhìn, tính toán, kết nối và điều phối. Còn những việc cần phản hồi nhanh, đều và sát phần cứng nên giao cho vi điều khiển hoặc mạch điều khiển chuyên dụng.