Lập Trình Arduino Cơ Bản → Analog Input - Thiết Bị Giáo Dục STEM
Có thể bạn quan tâm
Ngoài các chân digital, các board Arduino còn có các chân analog input giúp đo các giá trị đầu vào là một dải giá trị thay vì chỉ là 0 và 1. Một số ví dụ như là nút chỉnh âm thanh (cho biết đang ở mức nào) hay cảm biến ánh sáng (độ sáng bao nhiêu)…
Các board Arduino thường có 6 đến 12 chân analog input tuy nhiên Node Wifi chỉ có 1 chân analog và đây cũng là điểm hạn chế nhất của dòng chip ESP8266. Trên board, chân analog này được đặt tên là A0 và có thể đo được điện thế từ 0 đến 3.3v.
Độ phân giải của chức năng chuyển đổi tín hiệu analog sang digital (ADC, Analog to Digital Converter) này của hầu hết các board Arduino và Node Wifi là 10 bits, tương đương với 210 = 1024, tức là dải giá trị từ 0 (0V) đến 1023 (3.3V).
Thiết bị cần chuẩn bị
Bạn cần chuẩn bị các thiết bị sau:
1 x Node Wifi.
1 x Module biến trở Rotary angle sensor.
Trong bài này ta sẽ sử dụng Rotary angle sensor để cấp đầu vào cho chân analog. Biến trở Rotary angle sensor là một loại điện trở thay đổi được giá trị bằng cách xoay núm vặn qua trái hoặc phải, cũng như việc bạn dùng những nút để chỉnh âm lượng trên các máy amply nghe nhạc. Khi giá trị điện trở thay đổi thì nó cũng làm cho điện thế truyền vào chân tín hiệu được thay đổi (chắc các bạn nhớ công thức huyền thoại I=U/R chứ) từ đó giá trị đọc được thay đổi theo.
Bạn cắm Rotary angle sensor vào cổng A0 của Node Wifi và upload đoạn code sau:
void setup() { // thiết lập Serial ở tốc độ 9600 bits per second: Serial.begin(9600); } void loop() { int sensorValue = analogRead(A0); // đọc giá trị từ pin analog 0: Serial.println(sensorValue); // in ra cửa sổ Serial giá trị đọc được delay(300); }Trong đoạn code trêm chỉ có một câu lệnh mới là analogRead(A0). Câu lệnh này dùng để đọc giá trị tín hiệu đầu vào của chân analog A0 và lưu vào biến sensorValue và sau đó ta in ra cửa sổ Serial monitor.
Bạn upload đoạn code và mở cửa sổ Serial Monitor, quan sát sự thay đổi giá trị hiển thị khi vặn núm xoay của rotary sensor.
Để chuyển đổi giá trị trả về sang % thì bạn có thể tính toán bằng công thức sensorValue * 100 / 1023. Để có kết quả là giá trị thập phân, bạn cần khai báo biến sensorValue là float thay vì int.
Từ khóa » Cách Sử Dụng Analog Trong Arduino
-
Bài 6: Đọc Hiệu điện Thế Của Một Nguồn điện Qua Cổng Analog.
-
Analog I/O | Cộng đồng Arduino Việt Nam
-
Analog I/O Trong Arduino - Blog Lập Trình
-
Học Arduino Bài 2 : Những điều Cơ Bản Về Arduino - MLAB
-
Hướng Dẫn đọc Giá Trị Biến Trở Theo Analog Của Arduino Trên Tinkercad
-
AnalogRead Là Gì - ĐIỆN TỬ TƯƠNG LAI
-
ADC Là Gì? Làm Thế Nào để Sử Dụng ADC Trong Arduino?
-
Chân Analog Arduino Là Gì - Blog Của Thư
-
01-Giới Thiệu Arduino Và Bắt đầu Với đọc Tín Hiệu điện áp Analog Từ ...
-
ESP32 ADC - Đọc Giá Trị Analog - DevIOT
-
Lập Trình ESP32 Với Arduino IDE → Analog Input Và ... - Ohtech
-
Đọc Analog - Lập Trình ESP8266 Arduino
-
Khóa Học Lập Trình Arduino – Lấy Tín Hiệu Số Và Tương Tự Từ Cảm Biến
-
Tín Hiệu Analog Là Gì? Tín Hiệu Digital Là Gì? - Đồng Hồ đo áp Suất