Sunday, September 14, 2014

Đọc tín hiệu digital

Đọc tín hiệu số -Digital read
Ví dụ này nhằm giúp các bạn quản lý được chế độ hiện tại của một công tắc bằng cách thiết lập kết nối Serial comunication giữa Arduino và máy tính của bạn qua cổng USB.
Yêu cầu phần cứng
  • Mạch Arduino Board
  • Công tắc loại Momentary switch, button or toggle switch
  • Điện trở 10k ohm
  • Bảng cắm breadboard
  • Dây
hình ảnh được xây dựng từ Fritzing. Để xem ví dụ khác vào trang Fritzing project page
Kết nối mạch
Kết nối 3 dây như hình vẽ vào mạch Arduino.
Đầu tiên bạn kết nối dây màu đỏ và màu đen vào 2 hàng dọc của bảng cắm để cung cấp điện áp 5V tới một chân của nút nhấn và chân còn lại nối mát qua điện trở 10KOhm tới chân còn lại cùng bên của nút nhấn. Dây thứ 3 nối giữa chân thứ thứ 2 digital output và một trong hai chân của nút nhấn. 
Khi chúng ta nhấn 2 chân của nút nhấn sẽ kết nối với nhau và khi chúng ta nhả nó ra thì nó sẽ ngắt kết nối. 
Khi chúng ta không nhấn thì chân 2 (digital output) sẽ nối đất và đọc giá trị LOW, hay là 0. Khi chung ta nhấn thì chân 2 (digital output) sẽ kết nối với chân 5V và Arduino đọc nó là HIGH, hay là 1. 
Sơ đồ
Trong chương trình bên dưới, điều đầu tiên các bạn cần làm đó là thiết lập cổng giao tiếp giữa máy tính và arduino bằng dòng lệnh
Serial.begin(9600);
Tiếp theo thiết lập chân 2 là chân xuất tín hiệu số từ nút nhấn
pinMode(2,INPUT);
Trong phần vòng lặp chính, khi chúng ta nhấn nút nhấn, 5V sẽ theo sơ đồ đi đến 
chân 2 (digital output), khi không nhấn chân tín hiệu 5V từ Arduino sẽ đi qua điện
trở 10 KOhm và ra mát. 
Đầu tiên chúng ta cần cho vòng lặp chính đó là thiết lập một tín hiệu đến từ nút 
nhấn
Tín hiệu này có thể là 1 hoặc 0, chúng ta dùng lệnh int datatype. Gọi tín hiệu cảm
và thiết lập nó bằng với tín hiệu đọc được tại chân 2. Bạn có thể tạo nó bằng dòng
lệnh sau:
int sensorValue = digitalRead(2);
Khi Arduino đọc tín hiệu đầu vào, và đổi thông tin này về máy tính theo
giá trị thập phân với dòng lệnh Serial.println():
Serial.println(sensorValue);
Bây giờ khi bạn mở màn hình giao xuất tín hiệu trong môi trường Arduino, bạn sẽ nhìn thấy số 0 nếu không nhấn, số 1 nếu nhấn.
Code
/*
  DigitalReadSerial
Đọc tín hiệu dạng số đầu vào ở chân 2, in kết quả ra màn hình serial monitor 

 */
// Chân xuất tín hiệu số 2 được nối với chân của nút nhấn ta cần đặt tên cho nó.
int pushButton = 2;

// thiết lập cho chương trình chạy một lần và hoạt động lại sau khi nhấn nút reset
void setup() {
  // thiết lập cổng giao tiếp 9600 bits trên giây:
  Serial.begin(9600);
  // Đạt cho chân của nút nhấn là chân nhập tín hiệu:
  pinMode(pushButton, INPUT);
}

// thiết lập cho chương trình chạy lặp đi lặp lại:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);
  // In trạng thái của chân nút nhấn:
  Serial.println(buttonState);
  delay(1);        // thời gian trễ giữa 2 lần đọc dữ liệu
}


1 comments:

  1. Để xử lý tín hiệu digital, thì nên dùng chân nào?

    ReplyDelete