Điều chỉnh điện áp đọc được tối đa ở các chân Analog

Lâu nay chúng ta đã quen với việc đọc tín hiệu từ các chân nalog với mức điện áp từ 0V - 5V. Thế nhưng với Arduino ta có thể thay đổi mức điện áp đó bằng cả cách cách lập trình với code và cách phần cứng. HeHe bắt đầu tìm hiểu thôi.

Thay đổi bằng Code

Ta sẽ sử dụng câu lệnh analogReference để thay đổi mức điện áp đọc được tối đa ở các chân analog. Cấu trúc câu lệnh như sau:

analogReference(type);

Trong đó tham số type thiết lập chế độ đọc analog, nó bao gồm các chế độ sau:

  • DEFAULT: Chế độ mặc định, mức điện áp tối đa sẽ là 5V như bình thường đối với bản arduino 5V và 3V3 đối với bản arduino 3v3. Nếu bạn không gọi hàm analogReference, đây sẽ là chế độ đọc.
  • INTERNAL: Chế độ này cho ta mức điện áp đọc tối đa là 1V1 đối với VĐK ATmega168, ATmega328 và là 2.56V đối với vđk ATmega8. (Chế độ này không hỗ trợ cho Arduino Mega).
  • INTERNAL1V1: Thiết lập mức 1V1 cho bản Arduino Mega.
  • INTERNAL2V56: Thiết lập mức 2V56 cho bản Arduino Mega.
  • EXTERNAL: Đặt chế độ này để thay đổi bằng phần cứng.

Code mẫu:

int val;
void setup()
{
  Serial.begin(9600);
  analogReference(INTERNAL);
}

void loop()
{
  val=analogRead(A3);
  Serial.println(val);
  delay(1000);
}

Thay đổi bằng phần cứng

Ta sẽ thay đổi bằng cách đưa vào chân AREF của board arduino một điện áp tương đương với mức điện áp đọc được tối đa. Chúng ta nên đưa vào chân AREF điện áp ổn định (Qua ic nguồn) để tránh tình trạng thay đổi mức tối đa ngoài ý muốn khi đang chạy chương trình.

Mình nối AREF pin với chân 3V3 của Arduino.

Code ví dụ

int val;
void setup()
{
  Serial.begin(9600);
  analogReference(EXTERNAL);
}

void loop()
{
  val=analogRead(A3);
  Serial.println(val);
  delay(1000);
}

Lưu ý

Sau đây là một số lưu ý khi thay đổi điện áp đọc tối đa ở các chân anlog:

  • Sau khi thay đổi điện áp tối đa đọc được, một vài lệnh đọc analog đầu có thể không chính xác.
  • Nếu thay đổi bằng AREF pin thì cần cung cấp cho pin ấy điện áp từ 0V => 5V (Không cao hơn 5V mà cũng không thấp hơn 0V). Và phải khai báo câu lệnh analogReference(EXTERNAL); trước khi đọc tín hiệu analog. Nếu làm sai điều này sẽ gây đoản mạch.

Kết luận

Ngoài ra, nếu bạn không có module điều chỉnh nguồn để cho điện áp vào AREF pin thì bạn cũng có thể thay đổi điện áp vào pin AREF bằng điện trở. Điện áp vào pin AREF được tính theo công thức sau: UAREF = Unguồn*32000/(32000+R). Trong công thức ấy tại sao lại có con số 32000 nhỉ, đó là giá trị nội trở của chân AREF pin ý mà. Ví dụ: Mình nối chân AREF với chân 3V3 và nối với điện trở 5K thì được điện áp vào chân AREF như sau: UAREF = 3.3*32000/(32000+5000) = ~2.85 V. Từ công thức ấy bạn có thể tính được điện trở khi biết điện áp ra chân AREF và điện áp vào.

Chúc các bạn lập trình, sáng tạo vui vẻ và có nhiểu dự án hay để chia sẻ với cộng đồng Arduino VN. Tạm biệt và cảm ơn đã theo dõi. Nếu thấy hay thì cho mình cái Rate Note ủng hộ.

lên
18 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Tự làm thiết bị cảnh báo khí CO với cảm biến MQ7

Chúng ta đã biết khí CO có hại cho sức khỏe con người, thậm chí đã có những vụ ngộ độc khí CO. Vì vậy hôm nay mình sẽ hướng dẫn các bạn tự làm một thiết bị cảnh báo khí CO. Đồng thời mình cũng giới thiệu với các bạn con cảm biến khí CO MQ7.

lên
22 thành viên đã đánh giá bài viết này hữu ích.

iNut cảm biến - Bài 1: Bước đầu tiến vào thế giới IoT

Xin chào mọi người, cùng với AI thì IoT cũng là một xu thế chắc chắn sẽ phát triển trong cuộc cách mạng công nghiệp 4.0. Ngày trước, khi mới làm quen với các dự án liên quan đến IoT, mọi người thường gặp nhiều khó khăn do phải chuẩn bị gần như mọi thứ từ server tới client và tính ổn định, bảo mật của mô hình cũng khó được đảm bảo. Kể từ khi các nền tảng IoT ra đời thì mọi thứ đã trở nên dễ dàng hơn. Sự đơn giản và tiện lợi khi làm các dự án IoT cũng ngày càng tăng theo dòng phát triển của các nền tảng ấy. Inut Platform chính là một trong những nền tảng như vậy, đây là một nền tảng do người Việt sáng lập nên chắc chắn việc hỗ trợ khi làm dự án sẽ dễ dàng hơn rất nhiều. Chính vì vậy, hôm nay mình xin giới thiệu với các bạn seri bài viết hướng dẫn sử dụng iNut Cảm Biến - Một sản phẩm đa năng của nền tảng iNut.

lên
2 thành viên đã đánh giá bài viết này hữu ích.