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

Tài liệu kỹ thuật bỏ túi để lập trình Internet of Things - Vận hành, điều khiển và quản lý thiết bị qua Internet trong 1 nốt nhạc

Kính chào quý vị và các bạn!

Lập trình Internet of Things được biết đến là một thứ vô cùng khó khăn và phức tạp. Nơi này, trước đây không phải dành cho tất cả mọi người. Nhưng, để đưa Việt Nam trở thành một cường quốc về công nghệ cao và đi tắt đón đầu nhờ cuộc cách mạng công nghệ 4.0 thì bài toán Internet of Things phải được giải quyết bằng chính trí tuệ của tất cả mọi người. Cuối cùng, để giải quyết được đồ thị Đa dụng và Dễ sử dụng, iNut Node-red IDE đã ra đời, giải pháp cung cấp một phương pháp sáng tạo, cho phép người dùng lập trình ứng dụng IoT bằng những khối lệnh kéo thả với những ví dụ ngay trong app. Ngay cả một học sinh tiểu học học STEM cũng có thể làm được. Hãy cùng khám phá nhé!

lên
16 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.