Raspberry Pi Kết Hợp Arduino

Mô tả dự án: 

Như các bạn đã biết Raspberry pi là một máy tính mini nên nó rất mạnh về có thể kết nối internet, lậpj trình nhúng trang web một cách dễ dàng, nhưng nó lại không an toàn cho các dự án phần cứng. Còn Arduino thì rất bền kết hợp tốt nhiều phần cứng nhưng về mảng IoT thì cũng hạn chế hơn raspberry pi. Mỗi cái riêng lẻ là một hạn chế, nhưng tại sao chúng ta không kết hợp chúng lại để dự án của mình tối ưu hóa hơn. Vâng, hôm nay mình xin hướng dẫn các bạn một cách để giao tiếp PI với Arduino.coolangelenlightenedheartyes

Lời Đầu

Hiện nay có rất nhiều cách để giao tiếp Raspi với arduino, nhưng bài nay mình sẽ hướng dẫn các bạn giao tiếp qua cách đơn giản nhất là thông qua cổng usb.

Với cách này thì mình sẽ dùng thư viện Pyserial.winkwink

Chuẩn Bị

 

Nếu khi 

import serial 

xảy ra lỗi thì bạn hãy cài thư viện cho nó

pip install pyserial

Xong chuẩn bị, chúng ta sẽ qua bước tiếp theo.

Lập Trình

I. Raspberry pi gửi tín hiệu qua Arduino.

1. Với Aruino

int data;
void setup() {
    Serial.begin(9600);
}
void loop() {
    data = Serial.read();
    Serial.print(data);
    delay(1000);
}

2. Với Raspberry.

Đầu tiên chúng ta phải kiểm tra thử arduino sẽ gắn vào chưa:

ls /dev/ttyUSB*

kết quả in ra /dev/ttyUSBx   :    x là số thứ tự thôi

Tiếp theo tạo một file test.py

nano test.py

Bạn dùng code này

import serial  # Khai báo thưu viện serial
ser = serial.Serial(/dev/ttyUSBx,9600)  # Lưu ý x là số cổng USB hồi nãy bạn xem
While 1:
 ser.write("1") #gửi số qua arduino thông qua serial

II. Arduino gửi qua Raspberry pi

1. Arduino

void setup() {
    Serial.begin(9600);
}
void loop() {
    Serial.print(data);
    delay(1000);
}

2. Raspberry Pi

test.py

import serial  # Khai báo thưu viện serial
ser = serial.Serial(/dev/ttyUSBx,9600)  # Lưu ý x là số cổng USB hồi nãy bạn xem
While 1:
 ser.readline() #Đọc số từ arduino gửi qua

III. Lưu ý

Đó là trường hợp arduino cảu bạn cắm cố định. Còn khí mà ra rút ra rồi lại cắm vào thì nó raspberry pi sẽ cho port arduino một tên khác như /dev/ttyUSB3 chẳng hạn. 

Mình sẽ giới thiệu các bạn một cách là dùng thư viện os.

import os
f = os.popen('ls /dev/ttyUSB*')
now = f.read()
print now

 

Lời Kết

Như vậy là các bạn đã giao tiếp được thành công giữa arduino và raspberry pi để hoàn thành dự án của mình tối ưu hơn và nhất là an toàn cho mạch rasberry pi bởi nó khá đắt  cheekyheartyes

lên
12 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

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

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

NRA - Phần 1: Bật tắt led đơn giản trên Web

Lâu rồi mới có thời gian nghịch với Raspi và Arduino. Hôm nay mình sẽ giới thiệu các bạn những sức mạnh của sự kết hợp giữa Nodejs (N), Raspberry Pi (R), Arduino (A). Ở đây các bạn sẽ điều khiển, thu thập dữ liệu, làm được rất nhiều thứ với arduino và raspberry pi trên website một cách đơn giản và chuyên nghiệp. Đã có nhiều bài viết trên Arduino.vn nói về việc điều khiển bằng Nodejs nhưng hôm nay tôi sẽ giới thiệu các bạn thư viện khác để sử dụng đa dạng hơn.

Bài đầu tiên này, mình sẽ hướng dẫn các bạn một số cơ bản, và một ví dụ bài điều khiển led cổ điển. Tiếp tục xem nhé!!! devil

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

Tôi tự làm Robot với Raspberry Pi và Arduino như thế nào? - Phần 6: Sử dụng NRF24L01 với Raspberry Pi

Hú Hú, Chúng ta cùng tiếp tục với bài 6 trong tutorial của mình laughHôm nay mình sẽ hướng dẫn cách bạn giao tiếp Raspberry và Arduino thông qua module NRF24L01 nhé.

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