Kết hợp Arduino và Raspberry Pi

Kết hợp Arduino và Raspberry Pi

Khi Raspberry Pi lần đầu tiên được công bố, rất nhiều người hỏi đó có phải là đối thủ của Arduino không. Đối với cùng một mức giá, Pi cung cấp nhiều tính năng xử lý hơn: tại sao sử dụng Arduino khi đã có một Pi?

Vì có hai nền tảng có thể bổ sung cho nhau, và Raspberry Pi có thể làm host (máy chủ) rất tốt cho Arduino. Có khá nhiều dự án kết hợp Arduino và Pi lại với nhau:

Sử dụng số lượng lớn các thư viện và các ví dụ chia sẻ cho Arduino.
Để bổ sung một dự án Arduino với khả năng xử lý nhiều hơn. Ví dụ, bạn có một bộ điều khiển MIDI đã được nối với một bộ tổng hợp, nhưng bây giờ cần nâng cấp để tổng hợp âm thanh trực tiếp trên Pi.
Khi bạn đang làm việc với mức logic 5V. Pi hoạt động với nguồn 3.3V, và nó không thể chịu được áp 5V. Arduino có thể hoạt động như một “bộ dịch tín hiệu” giữa hai nguồn.
Khi làm thí nghiệm có thể làm cho một số lỗi gây tổn hại cho chip. Ví dụ, nhiều sinh viên cố gắng điều khiển động cơ trực tiếp từ các chân trên Arduino (đừng thử!); với chip (chân cắm) trên board Arduino, khi bị hư hại, bạn dễ dàng tháo ra để thay chip khác, với giá rất rẻ. Với Paspberry Pi thì sẽ không được như vậy.
Khi gặp sự cố yêu cầu điều khiển chính xác trong thời gian thực, chẳng hạn như bộ điều khiển cho máy in 3D. Như ta đã biết, Raspbian không phải là một hệ điều hành thời gian thực, và các chương trình không thể phụ thuộc vào nguyên tắc “một câu lệnh trong mỗi xung nhịp” của vi điều khiển.
Các ví dụ tiếp theo giả định rằng bạn đã biết những điều cơ bản về Arduino và môi trường phát triển tích hợp (IDE).

Raspberry và Arduino

Arduino và Raspberry Pi là BFF (Best Friend Forever)

Cài đặt Arduino trong Raspbian

Để lập trình một board phát triển Arduino, cần kết nối nó với một máy tính bằng cáp USB, sau đó biên dịch và flash một chương trình lên board bằng cách sử dụng Arduino IDE. Có thể làm điều này với bất kỳ máy tính nào, hoặc có thể sử dụng Raspberry Pi làm host để lập trình Arduino.

Sử dụng Raspberry Pi để lập trình Arduino sẽ nhanh hơn để gỡ lỗi, nhưng việc biên dịch sẽ chậm hơn một chút so với một máy tính cá nhân hiện đại. Việc biên dịch sẽ mất ít thời gian hơn sau lần biên dịch đầu tiên, vì Arduino chỉ biên dịch những đoạn code đã thay đổi kể từ lần biên dịch cuối cùng.

Để cài đặt Arduino IDE trên Raspberry Pi, hãy nhập như sau vào terminal:

sudo apt-get update (1)
sudo apt-get install arduino (2)
(1) Đảm bảo có phiên bản phần mềm mới nhất

(2) Sau đó tải nó xuống.

Nó sẽ cài đặt Java cộng với nhiều phần kèm theo khác. Môi trường Arduino sẽ xuất hiện dưới phần Electronics của menu chương trình (hãy khoan khởi động nó).

Bạn có thể cắm Arduino vào một trong các cổng USB mở. Kết nối USB sẽ cung cấp đủ nguồn cho Arduino, nhưng bạn cũng có thể cấp nguồn riêng cho Arduino, tùy thuộc vào ứng dụng (ví dụ như đang chạy động cơ hoặc máy sưởi).

Lưu ý rằng cần phải cắm cáp USB Arduino vào sau khi Raspberry Pi khởi động. Nếu cắm vào lúc khởi động, Raspberry Pi có thể treo vì nó cố gắng tìm ra tất cả các thiết bị trên bus USB.

Khi khởi động Arduino IDE, nó sẽ kiểm tra tất cả các thiết bị USB và liệt kê một danh sách được hiển thị trong menu Tools → Serial Port. Nhấp vào Tools→Serial Port và chọn cổng serial (thường sẽ là /dev/ttyACM0), sau đó nhấp vào Tools → Board và chọn loại Arduino Board (ví dụ: Uno). Nhấp vào File→Examples→01.Basics→Blink để tải code mẫu cơ bản. Nhấp vào nút Upload trên thanh công cụ hoặc chọn File → Upload để nạp code và sau khi nạp code, LED trên board Arduino sẽ bắt đầu nhấp nháy.

Để truy cập vào các cổng serial trên các phiên bản Raspbian cũ hơn bản Jessie, bạn cần chắc rằng người dùng cấp pi được cấp quyền thực hiện. Việc cấp quyền này có thể thực hiện bằng cách thêm người dùng cấp pi vào nhóm tty và dialout. Bạn cần tiến hành trước khi cho chạy Arduino IDE:

sudo usermod (1) -a –G (2) tty pi
sudo usermod -a -G dialout pi
(1) usermod là một chương trình Linux để quản lý người dùng

(2) -a –G đưa người dùng (pi) vào nhóm chỉ định (tty, rồi dialout)

Tìm Serial Port

Nếu vì một lý do nào đó, /dev/ttyACM0 không hoạt động, bạn cần thực hiện chút việc tra soát. Để tìm cổng serial USB mà Arduino được cắm vào mà không cần tìm trong menu, hãy thử làm với command line. Hãy khoan kết nối Arduino, bạn gõ:

ls /dev/tty*
Cắm Arduino, rồi thử lại lệnh tương tự và xem điều gì thay đổi. Trên Raspberry Pi, ban đầu /dev/ttyAMA0 được liệt kê (đây là hub USB onboard). Khi cắm vào Arduino, /dev/ttyACM0 xuất hiện trong bản kê (listing).

Cải thiện Kinh nghiệm Người dùng

Trong khi đang thiết lập, có thể nhận thấy rằng chất lượng của phông chữ mặc định trong editor của Arduino là kém lý tưởng. Có thể thay đổi nó bằng cách tải xuống phông chữ nguồn mở Inconsolata. Để cài đặt (khi Arduino IDE đóng), hãy nhập:

sudo apt-get install ttf-inconsolata
Sau đó chỉnh sửa file tùy chọn Arduino:

nano ~/.arduino/preferences.txt
và thay đổi các dòng sau thành:

editor.font=Inconsolata,medium,14
editor.antialias=true
Khi khởi động lại Arduino, trình soạn thảo sẽ sử dụng phông chữ mới.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Giỏ Hàng Item Removed. Undo
  • No products in the cart.