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ả

Giới thiệu về ngôn ngữ Wolfram trên Raspberry Pi

Nếu bạn để ý thì các hệ điều hành Raspberry Pi sau này đều đi kèm với chương trình Wolfram và ngốn khá nhiều bộ nhớ (gần 500MB). Các bạn đừng xóa đi nhé, vì đây là 1 ngôn ngữ lập trình rất hay với kho dữ liệu sống khổng lồ bao la. Tuy nhiên đây là một ngôn ngữ lập trình còn khá mới mẻ ở Việt Nam và chưa nhận được sự quan tâm từ cộng đồng cho lắm.

lên
15 thành viên đã đánh giá bài viết này hữu ích.

Trí thông mình nhân tạo với Watson IBM và Raspberry Pi (Phần 1): Nhận dạng ngôn ngữ và tâm trạng

Bài trước tui đã hướng dẫn các bạn làm một khóa "thông minh" diện khuôn mặt với Raspberry Pi. Vì tài nguyên của Pi có hạn nên một phần công việc (cụ thể là phần training) phải được đảm nhận bởi một hệ thống khác là máy tính cá nhân của bạn. Đây cũng là xu thế của các sản phầm phần cứng trí thông minh nhân tạo trong tương lai: các phần cứng vật lý được kết nối với đám mây/ siêu máy tính để giải các thuật toán thông minh, nhường tài nguyên để robot thao tác với môi trường ngoại vi. Để làm hiểu rõ vấn đề này hơn tui sẽ hướng dẫn các bạn trong bài này xây dựng một hệ thống nhận diện giọng nói và đoán xem tâm trạng của người nói đang hỷ nộ ái ố ra sao. 

lên
11 thành viên đã đánh giá bài viết này hữu ích.