Lập trình Arduino cơ bản - Bài 9: PWM điều khiển 1 đèn LED sáng dần, tắt dần (dimmer)
postmen2010
1 nămBình luận: 4
Hôm nay chúng ta sang bài 9 trong loạt 20 bài lập trình arduino cơ bản. Ở bài này 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 (sáng dần, tắt dần - dimmer) nhé!
Xem các bài trước ở đây: https://tinhte.vn/thread/lap-trinh-arduino-cho-nguoi-moi-bat-dau.3119132/

Lập trình Arduino cho người mới bắt đầu | Tinh tế

Như các bạn đã biết Đại dịch Covid-19 bùng lên từ Trung Quốc đang hoành hành khắp địa cầu. Theo Tổ chức Y tế thế giới (WHO), 1/6 số người bệnh COVID-19 sẽ chuyển bệnh nặng hơn…
tinhte.vn


1. Phần cứng:

  • Arduino UNO.
  • Breadboard + dây điện cắm.
  • 1 đèn LED (màu bất kỳ).
  • 1 điện trở 220 ohm (hoặc 330 ohm).
  • 1 biến trở 10k (loại cúc áo hay volume đều được).
2. Lắp mạch
Picture10.png
Picture2.png

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é! Đó là các chân 3,5,6,9,10,11,A0,A1,A2,A3,A4,A5

Quảng cáo


3. Lập trình
Code:
//Bài 9: PWM điều khiển 1 led sáng dần, tắt dần
int potpin = A0; //nối chân 2 của biến trở tới chân A0
int ledpin = 11; //nối LED tới chân 11
int val = 0;     //khai báo biến val và gán 0 cho nó
void setup()
{
  Serial.begin(9600); //khởi động 1 cổng serial có baud rate=9600
}
void loop()
{
  val = analogRead(potpin); //val =0-1023 tương ứng mức điện áp ở chân A0
  Serial.println(val); //in biến ra màn hình monitor serial
  analogWrite(ledpin,val/4); //xuất ra chân led 1 mức analog = val/4: 0-255
  delay(10); //dừng chương trình 10ms
}
4. Video


5. Giải thích
- Dòng lệnh val = analogRead(potpin); sẽ cho giá trị 0- 1023 tương ứng với mức điện áp ở chân A0. Mức điện áp được điều chỉnh bởi biến trở
- Serial.println(val); //in giá trị biến val ra màn hình monitor serial
- analogWrite(ledpin,val/4); xuất ra chân led 1 mức điện áp = val/4 là 0-255 (tương ứng 0-5V), chúng ta hiểu 0-100%
Arduino-Tutorial-09-pwm-thumnail.jpg
Muốn trao đổi kiến thức khi học thì làm thế nào?


Bạn có thể tham gia ngay Group Facebook của chúng tôi để cùng trao đổi kiến thức với bạn bè nhé.
Ngoài ra, khi tham gia group này, bạn sẽ được các thầy cô, anh chị, cũng như bạn bè giải đáp mọi vấn đề bạn gặp phải khi tham gia khóa học. Admin group sẽ live stream 1 số buổi để giải đáp, thực hiện 1 số project.

Mặc dù đã cố gắng tạo ra sản phẩm tốt nhất đến tay người dùng, tuy nhiên trong quá trình làm video không khỏi có những thiếu sót, chúng tôi rất hoan nghênh nếu nhận được những phản hồi chỉnh sửa hoặc đóng góp ý kiến để chất lượng về nội dung video được tốt hơn.
Không phải chuyên môn nên chỉ xem và cmt để hoàn thành nhiệm vụ, hehe
Phụng Sồ
ĐẠI BÀNG
1 năm
Những bài như thế này luôn ít người xem và hưởng ứng. Lý do là nó thiên về tính học thuật nhiều, trong khi đó số đông thì chỉ thích hưởng thành quả mà ko muốn bỏ thời gian để học.
Mình +1 cho chủ thớt, đâu đó vẫn có những người cần những bài hướng dẫn như này. Mỗi comment sẽ là động lực để bạn ra tiếp bài mới
@Phụng Sồ cần đam mê là v bạn ạ
kidsida
ĐẠI BÀNG
1 năm
Ủng hộ thớt làm những bài thế này, phải có những chủ đề này thì mới đúng là diễn đàn công nghệ kỹ thuật vì embedded là 1 mảng không thể bỏ qua được.
Mặc dù những bài này bên arduino vn nó nhiều rồi nhưng mà viết lại để làm kho kiến thức bên tinhte cũng hay, hóng về raspberry


Tải app Tinh tế

Tải app Tinhte - Theo dõi thông tin mà bạn yêu thích

Tải app TinhteTải app Tinhte
Tải app Tinh tế cho Android trên Google PlayTải app Tinh tế cho iPhone, iPad trên App Store





Đang theo dõi




  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2021 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: 209 Đường Nam Kỳ Khởi Nghĩa, Phường 7, Quận 3, TP.HCM
  • Số điện thoại: 02862713156
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019