Tín hiệu tương tự
Bộ chuyển đổi ADC là gì : Vi điều khiển có khả năng phát hiện các tín hiệu nhị phân: nút có được nhấn hay không? Đây là những tín hiệu kỹ thuật số. Khi một bộ vi điều khiển được cấp nguồn từ 5 vôn, nó hiểu 0 vôn (0V) là 0 nhị phân và 5 vôn (5V) là nhị phân 1. Tuy nhiên, thế giới không đơn giản như vậy và thích sử dụng các sắc thái xám. Nếu tín hiệu là 2,72V thì sao? Đó là một số không hay một? Chúng ta thường cần đo các tín hiệu khác nhau; chúng được gọi là tín hiệu tương tự. Cảm biến tương tự 5V có thể xuất ra 0,01V hoặc 4,99V hoặc bất kỳ thứ gì ở giữa. May mắn thay, gần như tất cả các bộ vi điều khiển đều có một thiết bị tích hợp cho phép chúng ta chuyển đổi các điện áp này thành các giá trị mà chúng ta có thể sử dụng trong một chương trình để đưa ra quyết định.
Đang xem: Adc là gì
Dưới đây là một số chủ đề và khái niệm bạn có thể muốn biết trước khi đọc hướng dẫn này:
Bộ chuyển đổi ADC là gì ?
Bộ chuyển đổi tương tự sang kỹ thuật số (ADC) là một tính năng rất hữu ích giúp chuyển đổi điện áp tương tự trên chân cắm sang số kỹ thuật số. Bằng cách chuyển đổi từ thế giới tương tự sang thế giới kỹ thuật số, chúng ta có thể bắt đầu sử dụng thiết bị điện tử để giao tiếp với thế giới tương tự xung quanh chúng ta.




Ví dụ về Arduino ADC
Để hiển thị điều này trong thế giới thực, hãy sử dụng Arduino để phát hiện điện áp tương tự. Sử dụng trimpot, hoặc cảm biến ánh sáng, hoặc bộ chia điện áp đơn giản để tạo điện áp. Hãy thiết lập một mạch trimpot đơn giản cho ví dụ này:
Để bắt đầu, chúng ta cần xác định pin làm đầu vào. Để phù hợp với sơ đồ mạch, chúng tôi sẽ sử dụng A3:
pinMode(A3, INPUT);
và sau đó thực hiện phiên bản tương tự sang kỹ thuật số bằng cách sử dụng lệnh analogRead () :
int x = analogRead(A3); //Reads the analog value on pin A3 into x
Giá trị được trả về và lưu trữ trong x sẽ là giá trị từ 0 đến 1023. Arduino có ADC 10-bit (2 ^ 10 = 1024). Chúng tôi lưu trữ giá trị này vào một int vì x lớn hơn (10 bit) so với những gì một byte có thể chứa (8 bit).
Xem thêm: Nghĩa Của Từ Subpoena Là Gì ? Subpoena Là Gì, Nghĩa Của Từ Subpoena
Hãy in giá trị này để xem khi nó thay đổi:
Serial.print(“Analog value: “);Serial.println(x);
Khi chúng ta thay đổi giá trị tương tự, x cũng sẽ thay đổi. Ví dụ: nếu x được báo cáo là 334 và chúng tôi đang sử dụng Arduino ở 5V, thì điện áp thực tế là bao nhiêu? Rút đồng hồ vạn năng kỹ thuật số của bạn ra và kiểm tra điện áp thực tế. Nó phải xấp xỉ 1,63V. Xin chúc mừng! Bạn vừa tạo ra đồng hồ vạn năng kỹ thuật số của riêng mình bằng Arduino!
Lùi lại mọi thứ
Điều gì xảy ra nếu bạn kết nối cảm biến tương tự với chân thông thường (kỹ thuật số)? Không có gì xấu sẽ xảy ra. Bạn sẽ không thể thực hiện một analogRead thành công:
int x = analogRead(8); //Try to read the analog value on digital pin 8 – this doesn’t work!
Điều này sẽ biên dịch nhưng x sẽ được lấp đầy bằng một giá trị vô nghĩa.
Xem thêm: Tải Revit 2018 Full Crack 64Bit Và Hướng Dẫn Cài Đặt Chi Tiết ⋆ Autocad
Điều gì xảy ra nếu tôi kết nối cảm biến kỹ thuật số với một chân analog? Một lần nữa, bạn sẽ không vi phạm bất cứ điều gì. Nếu bạn thực hiện chuyển đổi từ tương tự sang kỹ thuật số trên một nút, rất có thể bạn sẽ thấy các giá trị ADC rất gần với 1023 (hoặc 5V là nhị phân 1) hoặc rất gần với 0 (hoặc 0V là nhị phân 0).