- Yêu cầu
- Cài đặt PyFirmata trong Arduino bằng Raspberry Pi
- Giải thích mã
- Làm mờ LED trên Arduino sử dụng pyFirmata
Mặc dù Raspberry Pi và Arduino là hai phần cứng khác nhau về ứng dụng và cấu trúc của chúng, nhưng cả hai đều được coi là hai nền tảng phần cứng nguồn mở cạnh tranh. Cả hai đều có cộng đồng và sự hỗ trợ rất mạnh mẽ. Hôm nay chúng tôi sẽ thay đổi một chút mọi thứ và chỉ cho bạn cách chúng tôi có thể tận dụng cả hai điều đó. Nếu bạn có cả bảng Arduino và Raspberry pi, bài viết này sẽ hướng dẫn bạn cách sử dụng Raspberry pi và Python để điều khiển Arduino.
Chúng tôi sẽ sử dụng phần sụn PyFirmata để đưa ra các lệnh cho Arduino bằng cách sử dụng tập lệnh python Raspberry Pi. PyFirmata về cơ bản là một gói thư viện dựng sẵn của chương trình python có thể được cài đặt trong Arduino để cho phép giao tiếp nối tiếp giữa tập lệnh python trên bất kỳ máy tính nào và Arduino. Gói python này có thể cấp quyền truy cập để đọc và ghi bất kỳ mã pin nào trên Arduino. Vì vậy, ở đây chúng tôi sẽ chạy chương trình python trên Arduino bằng Raspberry pi.
Vì vậy, trong hướng dẫn này, chúng tôi sẽ tận dụng thư viện này và sẽ sử dụng thư viện này trong bảng Arduino của chúng tôi để điều khiển Arduino bằng Raspberry Pi.
Yêu cầu
- Raspberry Pi với hệ điều hành Raspbian được cài đặt trong đó
- Arduino Uno hoặc bất kỳ bảng Arduino nào khác
- Cáp USB Arduino
- Đèn LED
Trong hướng dẫn này, tôi đang sử dụng Màn hình ngoài bằng cáp HDMI để kết nối với Raspberry Pi. Nếu không có màn hình, bạn có thể sử dụng máy khách SSH (Putty) hoặc máy chủ VNC để kết nối với Raspberry pi bằng Laptop hoặc máy tính. Nếu bạn thấy khó khăn, hãy làm theo Hướng dẫn Bắt đầu với Raspberry Pi của chúng tôi.
Cài đặt PyFirmata trong Arduino bằng Raspberry Pi
Để tải lên phần vững PyFirmata trong Arduino, chúng ta phải cài đặt Arduino IDE trong Raspberry Pi. Làm theo các bước sau để cài đặt:
Bước 1: - Kết nối Raspberry Pi với internet. Mở cửa sổ lệnh và nhập lệnh sau và nhấn enter
sudo apt - get - y cài đặt arduino python - serial Thương mại
Chờ trong vài phút, nó sẽ mất thời gian. Lệnh này sẽ cài đặt Arduino IDE trong Raspberry Pi của bạn.
Bước 2: - Bây giờ, chúng tôi sẽ cài đặt các tệp pyFirmata bằng github đã cho:
git clone https://github.com/tino/pyFirmata
Sau đó chạy lệnh sau:
cd pyFirmata sudo python setup.py cài đặt
Bước 3: - Chúng tôi đã cài đặt tất cả các tệp và thiết lập cần thiết.
Bây giờ, kết nối bảng Arduino của bạn với Raspberry Pi bằng cáp USB và khởi chạy Arduino IDE bằng cách nhập arduino trong cửa sổ đầu cuối.
Bước 4: - Sau đó gõ lệnh lsusb để kiểm tra xem Arduino có được kết nối với pi raspberry của bạn hay không.
Trong Arduino IDE, đi tới công cụ và chọn bo mạch và Cổng nối tiếp của bạn.
Bước 5: - Tải lên phần vững PyFirmata trên Arduino bằng cách nhấp vào Tệp -> Ví dụ -> Phần vững -> Phần vững Chuẩn và sau đó nhấp vào nút tải lên. Như hình bên dưới.
Chúng tôi đã cài đặt thành công phần vững pyFirmata trong bảng Arduino. Bây giờ, chúng ta có thể điều khiển Arduino của mình bằng Raspberry Pi.
Để trình diễn, chúng tôi sẽ nhấp nháy và làm mờ một đèn LED trên Arduino bằng cách viết mã python trong Raspberry Pi.
Giải thích mã
Đối với phần mã hóa, bạn nên đọc tài liệu của pyFirmata để hiểu rõ hơn. Chúng tôi sẽ sử dụng các hàm pyFirmata để viết mã của chúng tôi. Bạn có thể tìm thấy tài liệu pyFirmata theo liên kết.
Vì vậy, hãy bắt đầu viết mã
Mở trình soạn thảo văn bản yêu thích của bạn trên Raspberry Pi và nhập thư viện pyFirmata.
nhập pyfirmata
Xác định chân trên Arduino để kết nối đèn LED
led_pin = 9
Bây giờ, chúng ta phải viết tên cổng nối tiếp mà bảng Arduino được kết nối bằng cách sử dụng hàm pyfirmata.Arduino () và sau đó tạo một phiên bản bằng cách gán cổng trong biến bảng .
board = pyfirmata.Arduino ("/ dev / ttyACM0") print "Mã đang chạy"
Trong khi vòng lặp, làm lãnh đạo pin CAO và thấp sử dụng ) board.digital.write ( chức năng và cung cấp chậm trễ sử dụng ) (board.pass_time chức năng.
trong khi True: board.digital.write (0) board.pass_time (1) board.digital.write (1) board.pass_time (1)
Mã của chúng tôi đã sẵn sàng, hãy lưu mã này bằng cách đặt phần mở rộng .py vào tên tệp.
Mở đầu cuối lệnh và gõ python nháy.py để chạy mã trên bảng Arduino. Đảm bảo rằng bảng Arduino của bạn được kết nối với bảng Raspberry Pi bằng cáp USB.
Bây giờ, bạn có thể thấy đèn LED nhấp nháy trên bảng Arduino.
Mã hoàn chỉnh cho đèn LED nhấp nháy sử dụng pyFirmata được đưa ra ở cuối.
Làm mờ LED trên Arduino sử dụng pyFirmata
Bây giờ, chúng tôi sẽ viết mã làm mờ đèn LED để giúp bạn quen thuộc hơn với các chức năng của pyFirmata. Mã này dễ dàng như mã trước. Bạn phải sử dụng hai vòng lặp cho vòng lặp, một vòng để tăng độ sáng và vòng khác để giảm độ sáng.
Trong đoạn mã này, chúng tôi đã định nghĩa các chân theo cách khác nhau như led = board.get_pin ('d: 9: p') trong đó d có nghĩa là chân kỹ thuật số . Đây là chức năng của thư viện pyFirmata. Đọc tài liệu để biết thêm chi tiết.
Mã hoàn chỉnh cho Fading LED sử dụng pyFirmata được đưa ra ở cuối.
Bây giờ, bạn có thể thêm nhiều cảm biến hơn vào hệ thống của mình và làm cho nó trở nên mát mẻ hơn, hãy kiểm tra các dự án Arduino khác của chúng tôi và thử xây dựng chúng bằng Raspberry pi và tập lệnh python.