LUYỆN TẬPBài tập 1.Em hãy viết đoạn chương trình dùng vỉ điều khiển robot thực hiện các công...

Câu hỏi:

LUYỆN TẬP

Bài tập 1. Em hãy viết đoạn chương trình dùng vỉ điều khiển robot thực hiện các công việc sau:

a) Bấm kênh 1 sẽ bật còi 5 lần.

b) Bấm kênh 2 sẽ bật đèn LED màu đỏ trong 2 giây.

c) Bấm kênh 3 sẽ bật đèn LED màu xanh lá cây trong 2 giây.

Câu trả lời:
Người trả lời: GV. Đỗ Hồng Ánh
Câu trả lời chi tiết hơn và đầy đủ hơn như sau:

Để viết đoạn chương trình để điều khiển robot thực hiện các công việc như trong câu hỏi, ta cần lập trình cho robot nhận tín hiệu từ các kênh cụ thể và thực hiện các thao tác tương ứng. Dưới đây là một cách làm chi tiết:

1. Khởi tạo chương trình:
```
#include

Servo còi; // Khai báo servo cho còi
int ledDo = 10; // Chân kết nối đèn LED màu đỏ
int ledXanh = 11; // Chân kết nối đèn LED màu xanh

void setup() {
còi.attach(9); // Chân kết nối còi
pinMode(ledDo, OUTPUT);
pinMode(ledXanh, OUTPUT);

Serial.begin(9600);
}
```

2. Viết hàm để thực hiện công việc a (bật còi 5 lần):
```
void batCoi() {
for(int i = 0; i < 5; i++) {
digitalWrite(ledDo, HIGH);
delay(500);
digitalWrite(ledDo, LOW);
delay(500);
}
}
```

3. Viết hàm để thực hiện công việc b (bật đèn LED màu đỏ trong 2 giây):
```
void batDenDo() {
digitalWrite(ledDo, HIGH);
delay(2000);
digitalWrite(ledDo, LOW);
}
```

4. Viết hàm để thực hiện công việc c (bật đèn LED màu xanh trong 2 giây):
```
void batDenXanh() {
digitalWrite(ledXanh, HIGH);
delay(2000);
digitalWrite(ledXanh, LOW);
}
```

5. Loop chương trình để kiểm tra và thực hiện các công việc khi có tín hiệu từ kênh:
```
void loop() {
if (Serial.available() > 0) {
char command = Serial.read();

switch(command) {
case '1':
batCoi();
break;
case '2':
batDenDo();
break;
case '3':
batDenXanh();
break;
default:
break;
}
}
}
```

Với cách làm trên, bạn đã có thể viết chương trình để điều khiển robot thực hiện các công việc theo yêu cầu từ các kênh khác nhau. Bạn có thể tùy chỉnh và thêm chức năng cho robot theo nhu cầu cụ thể.
Câu hỏi liên quan:
Bình luận (0)
Nhấn vào đây để đánh giá
Thông tin người gửi
0.33801 sec| 2185.852 kb