Chuyển đổi Analogue sang Digital (Analogue Read Serial) - Kiến thức cơ bản về Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong phần kiến ​​thức cơ bản về Arduino này, chúng tôi cố gắng hiểu quy trình triển khai mã trong đó tín hiệu tương tự bên ngoài được đưa đến đầu vào tương tự Arduino và được dịch hoặc chuyển đổi thành một bản đọc kỹ thuật số tương ứng tương ứng. Ở đây chúng tôi sử dụng một điện trở có thể thay đổi dưới dạng một cái nồi làm nguồn tín hiệu tương tự.

Đọc nối tiếp Analog

Trong ví dụ này, chúng ta học phương pháp đọc đầu vào tương tự từ một thiết bị bên ngoài như một chiết áp, là một thiết bị cơ điện n được thiết kế để thực hiện một điện trở thay đổi trong mạch thông qua thao tác thủ công.



Arduino có thể được sử dụng để đo độ lớn của điện áp đi ra từ một chiết áp để đọc và xác định điện trở thay đổi tương ứng của nó. Điều này có thể được thực hiện bằng cách cấp điện áp vào cổng đầu vào tương tự Arduino dưới dạng giá trị tương tự.

Ở đây chúng ta sẽ xem cách thực thi ở trên sau khi thiết lập giao tiếp nối tiếp trên Arduino và máy tính được liên kết.



Yêu cầu phần cứng

Bảng Arduino

Chiết áp 10 kilohm

Hoạt động mạch

Như được mô tả trong sơ đồ ở trên, hãy nối ba dây đi ra từ nồi với các cổng Arduino của bạn.

Dây từ một trong các dây dẫn bên ngoài của nồi được giao với đất hoặc dây âm của bảng.

Đầu dây bên ngoài cực miễn phí khác được kết nối với + 5V của bảng.

Những gì còn lại là dây dẫn trung tâm của nồi, được kết nối với đầu vào tương tự của bảng Arduino.

Khi trục nồi quay, lực cản qua dây dẫn trung tâm và đầu nối bên ngoài dịch chuyển từ cao hơn xuống thấp hơn và ngược lại tùy thuộc vào bên nào mà tay trượt đến gần hơn.

Ví dụ: khi tay trượt được xoay về phía dây dẫn + 5V, dây dẫn trung tâm sẽ gần hơn với 5V và có xu hướng nhận toàn bộ giá trị khi nó chạm vào dây dẫn được gán 5V. Tương tự khi trục con trượt được di chuyển về phía dây dẫn nồi đất, dây dẫn tâm có xu hướng đạt được điện thế bằng không.

Điện áp cung cấp thay đổi tuyến tính ở trên qua dây dẫn trung tâm của nồi được đọc bởi đầu vào tương tự arduino để diễn giải nó thành điện trở thay đổi tương ứng của nồi.

Arduino bao gồm một mạch chuyển đổi tương tự-sang-kỹ thuật số bên trong giúp diễn giải hiệu quả chuyển động nồi ở trên và chuyển nó thành các số từ 0 đến 1023.

Một vị trí cụ thể trên trục nồi dẫn đến một số tỷ lệ giữa 0 và 1023 được Arduino dịch và đối với các giá trị cuối của 5V và 0 vôn, các diễn giải rõ ràng là 0 và 1023.

Trong chương trình được giới thiệu, chức năng thiết lập chỉ cần được kích hoạt để bắt đầu giao tiếp nối tiếp, tốc độ là 9600 bit dữ liệu mỗi giây, trên bảng Arduino của bạn và máy tính.

Lệnh mong đợi có dạng:

Serial.begin (9600)

Sau đó, trong vòng lặp chính của mã của bạn, chúng tôi thực thi một biến để sửa chữa giá trị kháng (sẽ được thảo luận trong khoảng từ 0 đến 1023, chỉ phù hợp với kiểu dữ liệu int) nhận được từ các đầu mối chính:

int sensorValue = analogRead (A0)

Để kết thúc, hãy in thông tin này vào cửa sổ nối tiếp của bạn dưới dạng giá trị thập phân (DEC). Bạn có thể sử dụng lệnh Serial.println () để thực hiện điều này trong dòng mã cuối cùng:

Serial.println (sensorValue, DEC)

Sau đó, bất cứ khi nào Serial Monitor được khởi chạy trong miền phát triển Arduino (điều này được thực hiện bằng cách nhấp vào nút ngay phía bên phải của nút 'Tải lên' trong tiêu đề của chương trình).

chúng ta sẽ thấy một chuỗi chữ số nhất quán chạy từ 0-1023, tương ứng với vị trí quay khác nhau của trục nồi.

Nếu chúng ta dừng vòng quay của trục nồi ngay lập tức, số tức thời tương ứng sẽ được hiển thị trên màn hình của Arduino, điều này sẽ lại thay đổi tương ứng khi chúng ta tiếp tục thay đổi vị trí trục nồi.

Mật mã

/ *
AnalogReadSerial
Đọc đầu vào tương tự trên chân 0, in kết quả ra màn hình nối tiếp.
Gắn chân giữa của chiết áp vào chân A0, và các chân bên ngoài vào + 5V và nối đất.

Mã ví dụ này thuộc phạm vi công cộng.
* /

// quy trình thiết lập chạy một lần khi bạn nhấn đặt lại:
void setup () {
// khởi tạo giao tiếp nối tiếp với tốc độ 9600 bit mỗi giây:
Serial.begin (9600)
}

// thói quen lặp đi lặp lại mãi mãi:
void loop () {
// đọc đầu vào trên chân analog 0:
int sensorValue = analogRead (A0)
// in ra giá trị bạn đọc:
Serial.println (sensorValue)
delay (1) // trì hoãn giữa các lần đọc để ổn định
}




Trước: Trạng thái giám sát của công tắc (Đọc nối tiếp kỹ thuật số) - Kiến thức cơ bản về Arduino Tiếp theo: Mạch điều chỉnh điện áp có thể điều chỉnh chính 1.25V đến 120V