1. Xây đắp mạch điều khiển led đơn với board mạch Arduino

Mạch tinh chỉnh gồm 1 board Arduino UNO, 1 điện trở 220Ω, 1 led. Giữ ý, chân dương (+) của led kết nối với chân digital của board mạch Arduino, chân âm (-) của led kết nối vào GND của board mạch Arduino.

Bạn đang xem: Cách board mạch điều khiển led đơn

*

*

Xem thêm: Các tựa game nổ hũ 99 đổi thưởng đặc sắc không nên bỏ lỡ

2. Viết chương trình điều khiển và tinh chỉnh led chớp tắt cần sử dụng delay

int led = 6;//chân kết nối với ledvoid setup() pinMode(led, OUTPUT);//khai báo chân led là ngõ ra void loop() digitalWrite(led, HIGH);//Bật led (HIGH - tức là mức năng lượng điện áp 5V) delay(1000);//Chờ 1000 mili giây = 1 giây digitalWrite(led, LOW);//Tắt led (LOW - tức là mức điện áp 0V) delay(1000);//Chờ 1000 mili giây = 1 giâyHàm delay() dừng toàn bộ chương trình trong thời hạn quy định. Chẳng thể thực hiện thao tác khác trong những khi thực thi hàm delay().Chương trình trên làm cho đèn led sáng rồi ngừng 1s, tắt đèn led chiếu sáng rồi giới hạn 1s. Cứ như vậy lặp đi lặp lại liên tục sẽ tạo nên hiệu ứng chớp tắt của đèn led.

3. Viết chương trình tinh chỉnh và điều khiển led chớp tắt dùng định thời

Khi sử dụng hàm delay(), vi tinh chỉnh và điều khiển của Arduino bắt buộc chờ cho tới khi hết thời gian delay mới tiến hành các tác vụ khác. Việc này hoàn toàn có thể làm tác động đến các tác vụ không giống khi chạy thuộc thời điểm, làm tăng cường mức độ trễ khi thực hiện chương trình hoặc tạo nên chương trình chạy không chính xác. Bài toán dùng định thời cùng với hàm millis() đang khắc phục chứng trạng trên.int led = 6;//chân liên kết với ledint ledState = LOW;//khai báo đổi mới lưu tâm trạng của ledunsigned long previousMillis = 0;const long interval = 1000;void setup() pinMode(led, OUTPUT);//khai báo chân led là ngõ ravoid loop() unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) previousMillis = currentMillis; if (ledState == LOW) ledState = HIGH; // Đổi tâm lý led else ledState = LOW; // Đổi tinh thần led digitalWrite(led, ledState); Biến ledState nhằm mục đích lưu trữ trạng thái của led tại thời điểm hiện tại. Vươn lên là interval là giá bán trị của 1 bước thời hạn tính theo mili giây. Thuở đầu giá trị previousMillis = 0.Hàm millis() vẫn trả về số mili giây từ khi board Arduino hoạt động. Lệnh currentMillis = millis(); đang gán giá trị trả về của hàm millis() cho biến chuyển curentMillis. Trường hợp thời gian bây giờ – thời gian ban đầu >= interval, lịch trình sẽ thực hiện 2 việc:Gán previousMillis = curentMillis; để bắt đầu tính lại thời hạn đã chạy chương trình.Đổi tinh thần của led (nếu là LOW thì gửi sang HIGH cùng ngược lại).Việc bật tắt led chỉ thực hiện khi currentMillis – previousMillis >= interval. Vào khoản thời hạn này thì ta có thể thực hiện những tác vụ không giống của chương trình.
Bài trước và bài xích sau vào môn học>" data-wpel-link="internal">Lập trình tinh chỉnh nhiều led cùng với board mạch Arduino >>