Raspberry Pi và Arduino. Tại sao không?

Mô tả dự án: 

"Cuộc chiến" giữa Raspberry Pi và Arduino vẫn chưa đến hồi kết. Tuy nhiên câu hỏi đặt ra là 2 đồng chí này có nhất thiết phải như nước với lửa không? Bài này tui sẽ viết kinh nghiệm cá nhân về cách kết hợp giữa Arduino và Raspberry Pi trong cùng 1 dự án.

4 boards tui đã sử dụng

UNO thần thánh: Đây là board tui đầu tiên vọc (sử dụng trong đề án nghiên cứu của trường). Dễ sử dụng nhất. Thư viện và ví dụ bao la. Giá thành chấp nhận được. Nhược điểm: đau đầu với ngôn ngữ C. Còn cồng kềnh và chưa "bỏ túi" được.

Pro Micro: Tui tình cờ vớ phải 2 em này ở chợ trời với giá bèo như không và kết luôn từ đó. Ưu điểm là có hỗ trợ cổng HID (chế ứng dụng chuột và keyboard, hack crack @@). Rất mi nhon bỏ túi được. Giá mềm hơn UNO rất nhiều. Tuy nhiên Pro Micro có 2 phiên bản 3.3V và 5V. Nếu bạn chọn nhầm board trên IDE và upload thì phải thao tác reset bằng tay rất phiền phức. Thứ 2 là Pro Micro không phải từ công ty mẹ Arduino nên bạn phải cài thêm 1 số thứ lặt vặt trên Arduino IDE thì mới upload được. Với Windows thì còn chấp nhận được. Nhưng vơi Linux (đặc biệt là trên Raspberry Pi) thì đôi khi là cơn ác mộng broken heart.

Raspberry Pi 3: Tên tuổi làm nên huyền thoại. Ưu điểm lớn nhất là đã có Wifi và Bluetooth đi kèm (Raspberry Pi 1, 2 ko có nhé). Thư viện Python bao la. Ưu nhiều nhưng nhược còn nhiều hơn: giá chát với túi tiền sanh dziên. To kềnh không bỏ túi được. Không phải open source. Khó hack. Không có GPIO analog. Linux cần nhiều thời gian làm quen hơn.

 Pi Zero: Cao nhân ở ẩn. Giá "2 tô phở", có là chộp ngay. Mi nhon bỏ vừa ví tiền. Nhược điểm là phải mua kèm nhiều phụ kiện để setup lần đầu. Có đúng 1 cổng USB. Bạn có thể mua thêm 1 HAT (giống như shield trong thuật ngữ Arduino) để mở ra thành 4 cổng, nhưng giá HAT gần bằng 2 lần giá Pi Zero. 

 

 

 

Tiêu chuẩn đánh giá

Tiêu chí của tui rất đơn giản. Chọn 1 trong 2 sau đây:

  • Khỏe: board làm được gì khi không phải mua thêm phụ kiện? Mua UNO hoặc Raspberry rồi thì tui không mua shield hoặc HAT nữa.
  • Nhỏ nhưng có võ: Giá thành mềm để có thể bỏ túi chu di thiên hạ được.  

Combo UNO + Raspberry Pi 3

Về cơ bản thì Raspberry Pi 3 đã là 1 máy tính nên bạn chỉ cầm cắm cổng USB của UNO và Raspberry Pi là đã có thể sử dụng được. Tui đã viết 1 bài ví dụ ở đây: http://arduino.vn/bai-viet/988-di-hoc-thoai-mot-du-thu-vi-voi-raspberry-pi-va-arduino-canh-bao-chay-qua-email

UNO chắp cánh cho Raspberry Pi 3 bằng các cổng analog của mình, còn Raspberry Pi 3 nâng UNO lên tầng cao mới với khả năng mạng, xử lí dữ liệu qua các ngôn ngữ lập trình mạnh mẽ. Tuy nhiên đây là combo con nhà giàu có điều kiện. Ngoài giá ra thì 70 GPIO pins là quá nhiều khó có khả năng bạn sử dụng tối đa tài nguyên. Và bạn phải sử dụng tốt song ngữ Python và C. 2 cái này thực sự là nước với lửa. Ví dụ: Python không cần dấu chấm phẩy cuối dòng (;) trong khi bạn quên 1 phát trong C là rắc rối ngay.

Combo Pro Micro + Raspberry Pi 3

Đây là combo tốt cho các bạn muốn gắn thêm cảm biến vào Raspberry Pi 3 nhưng không muốn dự án của mình quá cồng kềnh hoặc cháy túi. Rất tốt cho các bạn bắt đầu từ Raspberry Pi và muốn làm quen với môi trường Arduino. Chỉ cần gắn Pro Micro vào 1 trong 4 cổng USB của Raspberry Pi 3, sử dụng mẹo serial.print() trong code Arduino là đã có thể giao tiếp với các sensor của mình bằng Python. Hoặc bạn có thể dùng chức năng HID của Pro Micro để làm chuột, bàn phím cho Raspberry Pi.

Nhược điểm duy nhất là là để cho Pro Micro giao tiếp được với Arduino IDE trên Raspberry Pi 3 bạn cần qua nhiều bước phức tạp. 

Combo Pro Micro + Pizero

Cái khó ló cái khôn: 2 boards mi nhon nhất nhà, dành cho dân pro thừa thời gian nhưng thiếu tiền và không gian. Về cơ bản thì đây là phiên bản giá rẻ của Combo Pro Micro + Raspberry Pi 3. Tuy nhiên Pizero chỉ có 1 cổng USB và không có Ethernet các bạn phải tốn nhiều thời gian hack hơn để combo hoạt động trơn tru. Hiện giờ tui vẫn chưa tìm được cách cho 2 em này hoạt động chung với nhau được vì tui phải gắn wifi vào cổng USB duy nhất để SSH. Còn các giao tiếp SPI hay UART thì vẫn chưa có thời gian ngâm cứu.

Combo UNO + Pizero

Đây là combo tốt cho các bạn muốn mày mò Raspberry Pi nhưng không muốn dự án của mình quá cồng kềnh hoặc cháy túi. Rất tốt cho các bạn bắt đầu từ Arduino và muốn làm quen với môi trường Raspberry Pi. Tuy nhiên bạn nên thủ sẵn 1 USB hub để gắn bàn phím, chuột và wifi.Tương tự như Combo UNO + Raspberry Pi 3, bạn sử dụng mẹo serial.print() trong code Arduino là đã có thể giao tiếp với các sensor của mình bằng Python. 

Túm lại

Make love, not war: Hãy iu nhao đì, vì nền hòa bình thế giới. heart

  • Combo UNO + Raspberry Pi 3: Con nhà giàu có điều kiện. Quýxtộc công chú hoàng tử môn đăng hộ đối sống nhung lụa suốt đời.
  • Combo Pro Micro + Raspberry Pi 3: Hoàng tử iu Lọ Lem. Dành cho các đồng chí sống nhung lụa với sức mạnh của microcprocessor nhưng muốn vi hành tìm hiểu về cuộc sông thanh tịnh của thế giới microcontroller.
  • Combo UNO + Pizero: Kiêu hãnh và định kiến. Dành cho các đồng chí muốn vươn ra thế giới từ microcontroller nhưng chưa có điều kiện. Từ từ khoai sẽ nhừ.
  • Combo Pro Micro + Pizero: 1 túp lều tranh 2 trài tim vàng. Dành cho các đồng chí thừa thời gian nhưng thiếu tiền và không gian
lên
25 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Ngôn ngữ Wolfram - Nhấp nháy LED với GPIO

Ta cũng có thể điều khiển nhấp nháy LED GPIO với ngôn ngữ Wolfram. Hãy xem cấu trúc câu lệnh của nó thế nào nhé!

lên
5 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

Raspberry Pi Thiên Lý Nhãn (Phần 3): Khóa thông minh nhận dạng khuôn mặt với Raspberry Pi và OpenCV

Trong bài trước tui đã giới thiệu về việc nhận diện khuôn mặt với Raspberry Pi và webcam. Tuy nhiên bài chỉ dừng lại ở việc Raspberry Pi có thể nhận diện được khuôn mặt của bất kỳ ai đứng trước webcam mà thôi. Bài toán đặt ra là làm thế nào để Raspberry Pi nhận được khuôn mặt của chính bạn? Đây là một bài toán khó và thú vị. Khó là vì chúng ta cần thuật toán và khả năng xử lí hình ảnh mạnh. Thú vị là do ta có thể "chế cháo" kết hợp với các hệ thống bảo mật khác như vân tay, mật khẩu để tăng tính an ninh cho đề án của bạn. Vì độ phức tạp của đề án này nên tui sẽ chia ra làm 2 phần.

  • Phần đầu tiên là "phần mềm": chúng ta sẽ ghi lại khoảng 200 tấm hình webcam với khuôn mặt của bạn và huấn luyện máy tính với thuật toán chính diện (eigenfaces) của OpenCV. Do tài nguyên của Pi hạn hẹp nên bạn cần chạy phần này trên máy tính của mình. 
  • Phần tiếp theo là "phần cứng": ta nối Pi với relay và cho webcam chụp ảnh. Nếu Pi nhận diện được chính khuôn mặt của bạn thì sẽ kích relay.

Lưu ý là các bạn phải tải OpenCV về trên cả Pi và máy tính. Các bạn vào đây để download code và các tập tin cần thiết nữa: https://github.com/johnkimdinh/Facial-recognition-Raspberry-Pi-OpenCV

lên
3 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: