Bài 05: Thay đổi độ sáng của đèn, hay làm mờ nó, có khó không?

Nội dung chính, cần nắm

Hôm nay chúng sẽ tìm hiểu cách sử dụng các chân digital để xuất giá trị analog và ứng dụng chúng trong việc làm thay đổi độ sáng của đèn (làm mờ đèn) nhé!

Bạn cần xem các bài viết về xung PWManalogWrite() để mau chóng hiểu rõ những đoạn code trong bài học này. Đừng ngại, hãy kiên trì nhé!

Phần cứng

Lắp mạch

Lưu ý những chân digital có dấu ~ phía trước và những chân analog mới hỗ trợ analogWrite, bạn nhé!

int led = 6;           // cổng digital mà LED được nối vào
int brightness = 0;    // mặc định độ sáng của đèn là 
int fadeAmount = 5;    // mỗi lần thay đổi độ sáng thì thay đổi với giá trị là bao nhiêu


void setup()  {
  // pinMode đèn led là OUTPUT
  pinMode(led, OUTPUT);
}

void loop()  {
  //xuất giá trị độ sáng đèn LED
  analogWrite(led, brightness);    

  // thay đổi giá trị là đèn LED
  brightness = brightness + fadeAmount;

  // Đoạn code này có nghĩa nếu độ sáng == 0 hoặc bằng == 255 thì sẽ đổi chiều của biến thay đổi độ sáng. Ví dụ, nếu đèn từ sáng yếu --> sáng mạnh thì fadeAmount dương. Còn nếu đèn sáng mạnh --> sáng yếu thì fadeAmmount lúc này sẽ có giá trị âm
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ;
  }    
  //đợi 30 mili giây để thấy sự thay đổi của đèn
  delay(30);                            
}
lên
58 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Ứng dụng thư viện bất đồng bộ để điều khiển bất đồng bộ nhiều (hàng chục) servo - Hư cấu chăng?

Cũng đã khá lâu kể từ lúc mình xuất bản thư viện xử lý bất đồng bộ với Arduino. Tuy nhiên, mình vẫn chưa có nhiều ví dụ để thực sự kêu gọi các bạn sử dụng thư viện này trong dự án, hôm nay, sau khi được trao đổi với nhiều bạn, mình thấy vấn đề điều khiển nhiều servo có thể ứng dụng thư viện của mình vào một cách dễ dàng. Nên mình sẽ viết một bài ví dụ để hướng dẫn các bạn điều khiển rất nhiều Servo với thư viện của mình.

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

CCA - Vòng 2 chính thức bắt đầu

Như vậy là đại diện BQT đã gửi mail thông báo đến đại diện của tất cả 15 ý tưởng của cuộc thi Creative Contest with Arduino.VN - Cuộc thi Sáng tạo với Arduino.vn (CCA). Hôm nay là ngày 12/01/2016. Các bạn còn chần chừ gì nữa mà không chỉnh sửa để nâng cấp dự án của mình, từ đó đăng ký lại dự án tại link trong mail mà BTC gửi chứ cheeky

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