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ả

Nạp firmware cho Arduino bằng Xloader - Nạp chương trình cho Arduino bằng Xloader

Trong một số trường hợp bạn chỉ có File hex không có file chương trình hay muốn nạp cho nhiều mạch ứng dụng, dùng phần mềm Arduino IDE sẽ hơi bất tiện và mất nhiều thời gian hơn. Hoặc đơn giản hơn, bạn muốn bảo vệ source code của mình khi gửi cho khách. Đó là lý do chúng ta biên dịch ra file hex và gửi file hex thay vì gửi chương trình.

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

MJPG Streamer vs Intel Galileo - Truyền hình ảnh từ webcam trong mạng LAN với Intel Galileo

Vấn đề truyền hình ảnh từ webcam trong mạng LAN không phải là một vấn đề mới trong việc lập trình nhúng. Ví dụ như trên Raspberry Pi, chúng ta hoàn toàn có thể sử dụng MJPG Streamer để làm được việc này. Tuy nhiên, khác với Raspberry Pi, Intel Galieo không đơn giản như vậy, bởi vì chưa có một bài viết hoàn chỉnh chỉ về vấn đề này trên cộng đồng Intel Galileo thế giới. Vì vậy, mình muốn đóng góp một phần nhỏ để các bạn có thể làm được điều này trên con Intel Galileo của mình (không phân biệt Intel Galileo Gen 1 hay Intel Galileo Gen 2 nhé).

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