Servo và núm xoay
Thuộc phần Đầu ra trong hành trình Arduino của Coddy. Bài học 22 trên 24.
Cánh tay có thể chuyển động theo núm xoay thay vì dùng một danh sách góc cố định. Cách này cũng giống như với núm điều chỉnh độ sáng và núm chỉnh cao độ: đọc, chuyển đổi, sử dụng.
Núm xoay cho giá trị từ 0 đến 1023, còn arm.write() nhận góc từ 0 đến 180 độ, vì vậy map() sẽ chuyển đổi giữa hai khoảng này:
int reading = analogRead(A0);
int angle = map(reading, 0, 1023, 0, 180);
arm.write(angle);Giá trị đọc được là 0 sẽ thành 0 độ, 1023 sẽ thành 180 độ, còn mọi giá trị ở giữa sẽ tương ứng với góc ở giữa, vì vậy cánh tay xoay theo núm xoay.
In góc bằng Serial.println() sẽ hiển thị trong Serial monitor con số mà cánh tay nhận được, giúp bạn kiểm tra khi cánh tay không hướng đến vị trí bạn mong đợi.
Thử thách
DễĐiều khiển servo theo núm vặn:
- đọc núm vặn bằng
analogRead(A0) - chuyển giá trị đọc được thành góc từ 0 đến 180 bằng
map() - di chuyển cần servo đến góc đó bằng
arm.write()và in góc ra
Nhấn Chạy rồi xoay núm vặn, sau đó nhấn Kiểm tra.
Tự làm thử
#include <Servo.h>
Servo arm;
void setup() {
arm.attach(9);
Serial.begin(9600);
}
void loop() {
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Đầu ra
Tự luyện tập: Playground Arduino