Đọc Tín Hiệu Điện Áp Bằng Arduino
Ví dụ này chỉ cho các bạn cách đọc tín hiệu xung vào chân 0, chuyển đổi tín hiệu từ analogRead sang volt, và xuất dữ liệu ra ngoài màn hình.
Một số linh kiện trong bài viết này:
- Mạch Arduino Board.
- Biến trở 10K.
Sơ đồ lắp mạch đọc tín hiệu điện áp bằng Arduino:
Nối ba dây từ biến trở đến mạch Arduino
Dây thứ nhất bên ngoài của biến trở đi đến chân Gnd, chân ngoài cùng còn lại đi vào chân 5V, chân thứ 3 đi vào chân nhập tín hiệu analog số 2.
Bằng cách vặn trục của biến trở, bạn có thể thay đổi được điện trở của nó. Sẹ thay đổi này dẫn đến sự thay đổi điện áp của chân thứ 3 (chân giữa). Điện áp này nằm trong khoảng từ 0-5V.
Tín hiệu đọc được từ chân giữa của biến trở là tín hiệu xung analog voltage.
Bên trong của Arduino có mạch chuyển đổi từ tín hiệu xung sang tín hiệu số để đọc sự thay đổi điện áp này và chuyển đổi sang tín hiệu số từ 0-1023.
Khi chúng ta xoay theo cùng chiều kim đồng hồ đến vị trí không thể xoay được nữa, có một điện áp 0V đi đến chân 2 và giá trị là 0. Khi chúng ta quay theo chiều ngược lại đến lúc không xoay được nữa thì tại đó có điện áp 5V tại chân 2 và giá trị là 1023.
Sơ đồ nối dây giữa Arduino và biến trở:
Code lập trình bằng arduino:
Trong chương trình dưới đây, điều đầu tiên các bạn cần làm đó là tạo hàm đọc và truyền dữ liệu là 9600bits/s bằng dòng code sau:
Serial.begin(9600);
Tiếp theo, trong Main loop, các bạn cần tạo hàm đọc giá trị điện trở tại chân A0 với dòng code
int sensorValue = analogRead(A0);
Để thay đếm được giá trị từ 0-1023 quy về điện áp chúng ta sử dụng hàm float.
float voltage= sensorValue * (5.0 / 1023.0);
Cuối cùng cần chúng ta xuất tín hiệu đọc được ra màn hình window bằng hàm
Serial.println(voltage)
Bây giờ khi mở Serial Monitor trong môi trường Arduino, các bạn có thể nhìn thấy giá trị điện áp từ 0-5V khi chúng ta xoay trục biến trở.
/*
Đọc tín hiệu điện áp
Đọc tín hiệu xung vào chân 0 và chuyển đổi sang điện áp sau đó xuất kết quả ra màn hình
Nối chân giữa của biến trở tới chân A0, hai chân còn lại nối với chân 5V và Gnd.
*/
// Chương trình như sau:
void setup() {
// Đặt kết nối cho Arduino 9600 bits trên giây:
Serial.begin(9600);
}
// Vòng lặp chính, làm cho chương trình chạy liên tục:
void loop() {
// Đọc tín hiệu analog từ chân A0:
int sensorValue = analogRead(A0);
// Chuyển đổi tín hiệu đọc được:
float voltage = sensorValue * (5.0 / 1023.0);
// Xuất ra ngoài màn hình:
Serial.println(voltage);
}
Một số bài viết bạn có thể quan tâm: Hướng Dẫn Sử Dụng Module Wifi ESP8266 | Lập trình ESP8266V1 bằng Arduino IDE | Giao tiếp I2C giữa nhiều arduino với nhau | TỰ LÀM ĐÈN NHẤP NHÁY GIỐNG ĐÈN CẢNH SÁT | Điều khiển 8 đèn LED sáng theo yêu cầu | Hướng dẫn cài thư viện vào arduino IDE | TỰ HỌC ARDUINO BẰNG KIT ARDUINO ĐƠN GIẢN DỄ HIỂU NHẤT
Bình luận(10)