Arduino - Chức năng I / O nâng cao
Trong chương này, chúng ta sẽ tìm hiểu một số Hàm đầu vào và đầu ra nâng cao.
Hàm analogReference ()
Định cấu hình điện áp tham chiếu được sử dụng cho đầu vào tương tự (nghĩa là giá trị được sử dụng làm đỉnh của dải đầu vào). Các tùy chọn là -
DEFAULT - Tham chiếu tương tự mặc định là 5 volt (trên bảng Arduino 5V) hoặc 3,3 volt (trên bảng Arduino 3,3V)
INTERNAL - Tham chiếu tích hợp sẵn, bằng 1,1 vôn trên ATmega168 hoặc ATmega328 và 2,56 vôn trên ATmega8 (không khả dụng trên Arduino Mega)
INTERNAL1V1 - Tham chiếu 1.1V tích hợp (chỉ Arduino Mega)
INTERNAL2V56 - Tham chiếu 2.56V tích hợp (chỉ Arduino Mega)
EXTERNAL - Điện áp áp dụng cho chân AREF (chỉ 0 đến 5V) được sử dụng làm tham chiếu
Cú pháp hàm analogReference ()
analogReference (type);
type - có thể sử dụng bất kỳ loại theo dõi nào (DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL)
Không sử dụng bất kỳ thứ gì nhỏ hơn 0V hoặc hơn 5V cho điện áp tham chiếu bên ngoài trên chân AREF. Nếu bạn đang sử dụng tham chiếu bên ngoài trên chân AREF, bạn phải đặt tham chiếu tương tự thành EXTERNAL trước khi gọianalogRead()chức năng. Nếu không, bạn sẽ làm ngắn điện áp tham chiếu hoạt động (được tạo bên trong) và chân AREF, có thể làm hỏng bộ vi điều khiển trên bảng Arduino của bạn.
Ngoài ra, bạn có thể kết nối điện áp tham chiếu bên ngoài với chân AREF thông qua điện trở 5K, cho phép bạn chuyển đổi giữa điện áp tham chiếu bên ngoài và bên trong.
Lưu ý rằng điện trở sẽ thay đổi điện áp được sử dụng làm tham chiếu vì có một điện trở 32K bên trong trên chân AREF. Hai hoạt động như một bộ phân áp. Ví dụ, 2,5V được đặt qua điện trở sẽ mang lại 2,5 * 32 / (32 + 5) = ~ 2,2V tại chân AREF.
Example
int analogPin = 3;// potentiometer wiper (middle terminal) connected to analog pin 3
int val = 0; // variable to store the read value
void setup() {
Serial.begin(9600); // setup serial
analogReference(EXTERNAL); // the voltage applied to the AREF pin (0 to 5V only)
// is used as the reference.
}
void loop() {
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
}