Thư viện Serial được dùng trong việc giao tiếp giữa các board mạch với nhau (hoặc board mạch với máy tính hoặc với các thiết bị khác). Tất cả các mạch Arduino đều có ít nhất 1 cổng Serial (hay còn được gọi là UART hoặc USART). Giao tiếp Serial được thực hiện qua 2 cổng digital 0 (RX) và 1 (TX) hoặc qua cổng USB tới máy tính. Vì vậy, nếu bạn đang sử dụng các hàm của thư viện Serial này, bạn không thể sử dụng các chân digital 0 và digital 1 để làm việc khác được!
Bạn có thể sử dụng bảng Serial monitor có sẵn trong Arduino IDE để giao tiếp với Arduino qua giao thức Serial. Kích vào biểu tượng Serial Monitor (hình kính lúp bên góc phải trên cùng ) hoặc nhấn tổ hợp phím Ctrl+Shift+M để mở bảng Serial Monitor, sau đó bạn kích chuột vào bảng chọn như hình dưới để chọn baudrate giống với baudrate được dùng trong quá trình lập trình của bạn. Mặc định là 9600.
Sau đây là 1 ví dụ đơn giản về việc điều khiển 1 led đơn tắt mở qua giao tiếp Serial giữa máy tính và arduino .
Nội dung :
Đọc dữ liệu nhập từ monitor .
Điều khiển led đơn .
Chuẩn bị :
Arduino Uno.
1 led đơn bất kì ( Đỏ ) .
Trở 330 .
Lắp mạch :
Lập trình :
String x="";// khai báo biến x dạng chuỗi
// do kí tự nhập từ bàn phím mang giá trị theo bảng mã ASCII
void setup() {
Serial.begin(9600);
pinMode(11,OUTPUT);// khai báo ngõ ra chân 11
Serial.println("nhap trang thai led ( on or off ) :");
//xuất ra monitor câu lệnh
}
void loop() {
while(Serial.available()>0)//nếu có dữ liệu truyền tới thì vào làm các lệnh sau
{
x = Serial.readString();//gán dữ liệu truyền tới vào chuỗi x
Serial.println(x);
if(x == "on" ){ //nếu x = on thì chân 11 xuất mức cao => led sáng
digitalWrite(11,HIGH);
}
if(x == "off" ){//nếu x = off thì chân 11 xuất mức thấp => led tắt
digitalWrite(11,LOW);
}
}
}
Tổng kết :
Hi vọng sau bài viết này các bạn có thể hình dung được rõ hơn về chuẩn giao tiếp serial . Do kiến thực giới hạn nên nếu bài viết có sai sót gì mong các bạn góp ý.
anh sai r
Trả lờiXóaa ơi sao e nạp cái code ở trên vào mà led ko sáng. nó vẫn nhận lệnh từ monitor nhưng mà nó ko thực hiện digitalwite
Trả lờiXóaanh ơi code sai rồi!
Trả lờiXóachar x; // khai báo biến x dạng chuỗi ký tự
byte led = 13;
void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
Serial.println("Nhap trang thai led: ");
}
void loop() {
while (Serial.available()) { // nếu có tín hiệu vào
x = (char)Serial.read(); // đọc tất cả các tín hiệu đó
Serial.print((char)x); // in ra tất cả các tín hiệu đó
if (x == '1') { // nếu là ký tự '1' là bật đèn
digitalWrite(led, HIGH);
}
if (x == '2') { // nếu là ký tự '2' là tắt đèn
digitalWrite(led, LOW);
}
}
}
How to Make Money From Selling Sports Betting Odds
Trả lờiXóaMoney Making is the process of งานออนไลน์ building a betting strategy for becoming 인카지노 a better bettor. Betting on sports at the money-making casino 메리트 카지노 games is also the process of