Saturday, September 13, 2014

Làm LED nháy

Làm LED nháy

Chào các bạn, hôm nay chúng ta cùng làm quen một ví dụ đơn giản với Arduino để làm LED nháy nhé

Yêu cầu

  • Máy tính có cài phần mềm Arduino IDL
  • Mạch Arduino Board
  • LED
  • Bảng mạch
  • Dây cắm

Gắn mạch như sau:

Để cho mạch hoạt động chúng ta cần cắm một điện trở vào chân 13. Sau đó nối chân dương của LED(chân dài) với điện trở. Nối chân âm của LED (chân ngắn) với chân Ground, tiếp theo chúng ta cần cắm mạch Arduino vào máy tính theo cổng USB, bật chương trình dịch Arduino và đánh code bên dưới vào. Hầu hết các mạch Arduino đều có sẵn một con LED gắn với chân 13 trên board. Nếu chúng ta chạy ví dụ này không có LED cắm vào thì chúng ta sẽ thấy LED ở board nháy


Hình ảnh sử dụng phần mềm Fritzing. Để xem các ví dụ khác trên Fritzing, truy cập trang Fritzing project

Sơ đồ

Code

Trong chương trình bên dưới, điều đầu tiên bạn nên làm là định nghĩa chân 13 là chân xuất tín hiệu với dòng m.
pinMode(13, OUTPUT);
Trong vòng lặp chính, bạn sẽ bật LED sáng bằng dòng lệnh
digitalWrite(13, HIGH);
Có nghĩa là chúng ta sẽ cấp nguồn 5V cho chân 13. Điều này tạo ra một điện áp đi qua chân của LED, và LED sáng.
Sau đó chúng ta sẽ tắt LED bằng dòng lệnh
digitalWrite(13, LOW);
Lện này giúp cho chân 13 đưa về 0V và làm LED tắt. Trong khoảng thời gian LED bật và tắt, muốn nhìn thầy được sự thay đổi giữa quá trình bật và tắt của LED chúng ta phải làm trễ một khoảng thời gian
Sử dụng hàm delay() để báo cho Arduino biết, nó sẽ không làm gì trong khoảng thời gian 1000ms hay 1s
Dòng lệnh
delay(1000);
Để hiểu được ví dụ cơ bản này, chúng ta hãy kiểm tra nó với ví dụ BlinkWithoutDelay (LED nháy không có thời gian trễ)BlinkWithoutDelay từ ví dụ này chúng ta sẽ học được hàm delay()
Dưới đây là mã code
/*
  Làm LED nháy
  Bật LED sáng 1 giây, sau 1 giây tắt và lặp lại.
 
  Ví dụ này được đăng trên website của Arduino.
 */


// Chân 13 được nối với một con LED ở hầu hết các mạch Arduino.
// Chúng ta cần đặt tên cho nó:
int led = 13;

// Cài đặt cho LED nháy một lần
void setup() {              
  // Đặt chân led là chân xuất tín hiệu ra
  pinMode(led, OUTPUT);     
}

// Đây là mã lênh cho LED nháy liên tực
void loop() {
  digitalWrite(led, HIGH);   // Bật LED (HIGH là điện áp 5V)
  delay(1000);               // Thời gian trễ là 1000ms
  digitalWrite(led, LOW);    // Tắt led bằng điện áp 0V
  delay(1000);               // Thời gian trễ là 1000ms
}

0 comments:

Post a Comment