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
25 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ả

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.

Lập trình ATtiny13 với Codebender

Trong bài viết Code Arduino trên MÂY, bạn có muốn thử hay không?, chúng ta đã biết cách lập trình Arduino trên mây rồi, phải không nào? Nhưng qua quá trình tìm hiểu thì mình thấy Codebender chưa hỗ trợ dòng ATtiny13, trong khi đó nó lại hỗ trợ những dòng ATtiny45, 85 và 2313. Vậy, câu hỏi đặt ra là: có cách nào để lập trình ATtiny13 qua Codebender hay không? Và câu trả lời là: Có, chúng ta có thể.

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