digitalRead()

Giới thiệu

Đọc tín hiệu điện từ một chân digital (được thiết đặt là INPUT). Trả về 2 giá trị HIGH hoặc LOW.

Cú pháp

digitalRead(pin)

Thông số

pin: giá trị của digital muốn đọc

Trả về

HIGH hoặc LOW

Ví dụ

Ví dụ này sẽ làm cho đèn led tại pin 13 nhận giá trị như giá trị tại pin 2

int ledPin = 13; // chân led 13
int inPin = 2;   // button tại chân 2
int val = 0;     // biến "val" dùng để lưu tín hiệu từ digitalRead

void setup()
{
  pinMode(ledPin, OUTPUT);      // đặt pin digital 13 là output
  pinMode(inPin, INPUT);      // đặt pin digital 2 là input
}

void loop()
{
  val = digitalRead(inPin);   //  đọc tín hiệu từ digital2
  digitalWrite(ledPin, val);    // thay đổi giá trị của đèn LED là giá trị của digital 2
}

Chú ý

Nếu chân input không được kết nối với bất kỳ một thứ gì thì hàm digitalRead() sẽ trả về tín hiệu HIGH hoặc LOW một cách "hên xui"

Các chân Analog cũng có thể dùng được digitalRead với các cổng pin có tên như là: A0, A1,...

Reference Tags: 
lên
24 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Xử lý nhiều tiến trình cùng một lúc trên Arduino - Xử lý bát đồng bộ - Có thể hay không?

Một khi viết một chương trình lớn, bạn sẽ phải viết chương trình để thực hiện nhiều chức năng. Và khi viết chương trình với nhiều chức năng bạn sẽ gặp các vấn đề phức tạp như: làm thế nào để chức này hoạt động ổn định với chức năng kia, và khi thêm chức năng mới vào sản phẩm của mình nó sẽ đụng độ như thế nào với các chương trình khác? Qua bài viết này, mình muốn chia sẻ với các bạn một thư viện khá hay của anh Đại Huỳnh (trong đó mình có mod lại một tí laugh) để giải quyết các vấn đề nêu trên - xử lý nhiều tiến trình cùng một lúc trên Arduino.

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

Tạo một quy trình công nghiệp với các bước bằng Arduino - Phần 3: Giới hạn số lần chạy và kết hợp thư viện bất đồng bộ

Ở trong loạt bài này và một bài viết khác, mình đã đề cập đến vấn đề quy trình Công nghiệp (phần 1phần 2) và vấn đề xử lý bất đồng bộ trên Arduino. Hôm nay, mình muốn phát triển loạt bài này với mục đích, bạn có thể xây dựng một máy công nghiệp với các quy trình tuần tự nhưng có thể can thiệp để dừng ngay được. Ngoài ra, mình còn cập nhập thêm khả năng quy ước trước số lượt chạy của quy trình và một số API khác giúp cho các bạn có thể kết hợp lại 2 thư viện này! Để đọc hiểu, và tiếp cận nhanh bài này, các bạn cần đọc 3 bài viết mà mình có liên kết trong đoạn giới thiệu này.

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