ADC Là Gì? Làm Thế Nào để Sử Dụng ADC Trong Arduino?
Có thể bạn quan tâm
MỤC LỤC
- 1 Mở đầu
- 2 ADC là gì?
- 3 Sơ đồ chân của biến trở Potentiometer
- 4 Code chương trình cho chiết áp giao tiếp với Arduino UNO
- 4.1 Giải thích chương trình
- 4.2 Màn hình mô phỏng Serial Monitor
- 5 Lời kết
Mở đầu
Có lẽ ADC là gì là một câu hỏi được khá nhiều bạn đam mê điện tử đặt ra. Ngày hôm nay, các bạn hãy cùng dientu5ngay đi tìm hiểu về nó nhé. Let’s go!
ADC là gì?
ADC là viết tắt của Analog to Digital Converter. ADC được sử dụng để chuyển đổi đầu vào tương tự (thường là điện áp) sang dạng kỹ thuật số. Điều cần thiết là mọi vi điều khiển phải có ADC, vì tất cả các vi điều khiển chỉ hoạt động trên điện áp đầu vào và đầu ra kỹ thuật số.
Vì vậy, ADC lấy điện áp tương tự và chuyển đổi chúng thành kỹ thuật số, và đưa chúng đến bộ vi điều khiển. Trong bảng Arduino UNO, có một bộ ADC 10-bit đa kênh. Ở đây, 10-bit có nghĩa là điện áp đầu vào 0-3.3V hoặc 0-5V được ánh xạ thành các giá trị kỹ thuật số trong phạm vi từ 0 đến 1023 (Vì 2^10 = 1024).
Trên Arduino UNO có tổng cộng 6 chân ADC. Các chân này là A0, A1, A2, A3, A4 và A5. Để hiểu điều này một cách dễ dàng nhất, chúng ta sẽ tạo một mạch sử dụng chiết áp (potentiometer)và bo mạch Arduino UNO. Trong mạch này, chúng ta sẽ sử dụng chiết áp để cung cấp điện áp tương tự cho Arduino UNO.
Sơ đồ chân của biến trở Potentiometer
Sau khi đã hiểu được ADC là gì chúng ta cùng đi tìm hiểu một linh kiện cơ bản minh họa quá trình làm việc của bộ ADC trong Arduino nhé
*Sơ đồ mạch kết nối biến trở với Arduino UNO
Chúng ta đã đi được hơn nửa quãng đường trong tìm hiểu bộ ADC là gì rồi các bạn ạ. Cùng kết nối mạch điện với Arduino nhé. Trong lập trình Arduino, chúng ta sẽ sử dụng hàm analogRead () để đọc và chuyển đổi điện áp tương tự thành kỹ thuật số.
Cú pháp là:
analogRead (Pin_name).
Bên trong dấu ngoặc, bạn phải đề cập đến chân cắm từ nơi bạn muốn đọc điện áp tương tự. Dưới đây là đoạn code ví dụ về cách đọc điện áp tương tự từ biến trở (chiết áp).
Code chương trình cho chiết áp giao tiếp với Arduino UNO
int pot_pin=A0;
void setup()
{
pinMode(pot_pin,INPUT);
Serial.begin(9600);
}
void loop()
{
int pot_data=analogRead(pot_pin);
Serial.print(“Pot Data:”);
Serial.println(pot_data);
delay(500);
}
Giải thích chương trình
int pot_pin=A0;
Trước tiên, tạo một tên biến pot_pin để lưu trữ số pin mà bạn đã kết nối làm chân nhận tín hiệu đầu vào.
void setup()
{
pinMode(pot_pin,INPUT);
Serial.begin(9600);
}
Trong hàm void setup(), trước tiên hãy đặt pot_Set chân A0 làm đầu vào vì Arduino sẽ sử dụng chân này để đọc dữ liệu từ chiết áp. Sau đó, sử dụng lệnh Serial.begin (96000), bắt đầu giao tiếp nối tiếp với tốc độ truyền là 9600.
Điều này cần thiết để hiển thị dữ liệu chiết áp trên màn hình nối tiếp.
void loop()
{
int pot_data=analogRead(pot_pin);
Trong hàm void loop () tạo một biến khác có tên pot_data để lưu dữ liệu mà Arduino nhận được từ chiết áp. Chúng tôi sẽ sử dụng hàm analogRead () cho mục đích này.
Serial.print(“Pot Data:”);
Serial.println(pot_data);
delay(500);
}
In dữ liệu chiết áp lên màn hình nối tiếp và cuối cùng, đưa ra độ trễ là 500 mili giây.
Màn hình mô phỏng Serial Monitor
Bạn có thể thấy rõ ràng trong màn hình nối tiếp rằng chúng tôi đang nhận các giá trị kỹ thuật số từ 0 đến 1023 trên màn hình nối tiếp. Chiết áp được kết nối giữa 0 và 5 vôn.
Vì vậy, ADC sẽ nhận các giá trị từ 0 đến 5 vôn và chuyển đổi chúng thành phạm vi từ 0 đến 1023. Giả sử điện áp đầu vào là 1 vôn nên giá trị kỹ thuật số tương đương của nó sẽ là 204. Bạn sẽ nhận được 204 trên màn hình nối tiếp. Tương tự, nếu điện áp đầu vào là 2 vôn, bạn sẽ nhận được giá trị kỹ thuật số tương đương 408 của màn hình nối tiếp. Như vậy, tất cả các giá trị từ 0 đến 5 vôn được ánh xạ thành 0 đến 1023.
Lời kết
Vậy là với mấy phút tuy không dài nhưng dientu5ngay đã giúp các bạn hiểu them một chút về ADC là gì cách mà bộ ADC trong Arduino làm việc rồi nhé.
CHÚC CÁC BẠN THÀNH CÔNG
Có thể bạn quan tâm
Tài liệu lập trình Arduino miễn phí
Tài liệu lập trình FPGA miễn phí
Tài liệu điện tử công nghiệp miễn phí
Tài liệu điện tử viễn thông miễn phí
4/5 - (1 bình chọn)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
-
Lập Trình Arduino Cơ Bản → Analog Input - Thiết Bị Giáo Dục STEM
-
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
-
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