Hàm nhập xuất analogReference() trong chương trình arduino
Hàm analogReference() có nhiệm vụ:
Đặt lại mức (điện áp) tối đa khi đọc tín hiệu analogRead. Ứng dụng như sau, giả sử bạn đọc một tín hiệu dạng analog có hiệu điện thế từ 0-1,1V. Nhưng mà nếu dùng mức điện áp tối đa mặc định của hệ thống (5V) thì khoảng giá trị sẽ ngắn hơn dẫn đến độ chính xác kém hơn và vì vậy hàm này ra đời để giải quyết việc đó.
Cú pháp hàm analogReference():
analogReference(type)
type: một trong các kiểu giá trị sau: DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, hoặc EXTERNAL
Trong đó:
+ DEFAULT : Đặt mức điện áp tối đa là 5V (nếu trên mạch dùng nguồn 5V làm nuôi chính) hoặc là 3,3V (nếu trên mạch dùng nguồn 3,3V làm nguồn nuôi chính).
+ INTERNAL : Đặt lại mức điện áp tối đa là 1,1 V (nếu sử dụng vi điều khiển ATmega328 hoặc ATmega168)
Đặt lại mức điện áp tối đa là 2,56V (nếu sử dụng vi điều khiển ATmega8).
+ INTERNAL1V1 : Đặt lại mức điện áp tối đa là 1,1 V ( Chỉ có trên Arduino Mega).
+ INTERNAL2V56 : Đặt lại mức điện áp tối đa là 2,56 V (Chỉ có trên Arduino Mega).
+ EXTERNAL : Đặt lại mức điện áp tối đa BẰNG với mức điện áp được cấp vào chân AREF ( Chỉ được cấp vào chân AREF một điện áp nằm trong khoảng 0-5V ).
Chú ý:
Trường hơp, bạn sử dụng kiểu EXTERNAL cho hàm analogReference thì bạn phải cấp nó một nguồn nằm trong khoảng từ 0-5V, và nếu bạn đã cấp một nguồn điện thỏa mãn điều kiện trên vào chân AREF thì bạn phải gọi dòng lệnh analogReference(EXTERNAL) trước khi sử dụng analogRead() ( nếu khồn sẽ làm hư mạch của bạn).