Đèn Điều Chỉnh Được Độ Sáng

Trong bài này chúng ta cùng nhau làm một ứng dụng điều chỉnh độ sáng tối của đèn led bằng module núm xoay Rotary Angle. Khi ta xoay sang trái đèn led sẽ mờ dần và xoay sang phải đèn led sẽ sáng dần.

Yêu Cầu Cần Có

  • Module Blocky đã được thiết lập để kết nối với cloud server (tham khảo phần Cài Đặt Blocky nếu bạn chưa thực hiện)

  • Module Rotary Angle Sensor

  • Module led

Kết Nối Phần Cứng

Module led được nối với port D1 của Blocky

Module Rotary Angle thuộc loại analog (đo một dải giá trị) nên phải nối với 1 trong 4 port analog A1-A4. Trong bài này ta sẽ dùng port A1.

Chương Trình

Giải Thích

Module rotary là loại analog, trả về giá trị trong khoảng 0-4095 (analog 12 bit, 2^12=4096, 0 = xoay hết về bên trái, 4095 = xoay hết về bên phải).

Để điều chỉnh độ sáng của led, ta dùng chức năng PWM (Pulse Width Module) với frequency là 1000Hz (1kHz).

Pulse width modulation (PWM) là cách để xuất ra giá trị analog cho một pin digital thay vì chỉ bật hoặc tắt. Điều này thực hiện được bằng cách bật tắt pin này liên tục. Có 2 tham số ảnh hưởng đến PWM là frequency và duty cycle. Duty cycle là khoảng thời gian Pin được bật trong 1 chu kỳ. Thời gian này càng dài thì đèn led nối với Pin này càng sáng.

Do cảm biến Rotary angle trả về giá trị từ 0 đến 4095 mà duty cycle nhận giá trị từ 0 đến 1023 nên ta dùng phép toàn chuyển đổi là duty cần ghi = (giá trị thu được từ rotary * 4095)/2013.

results matching ""

    No results matching ""