冰楓論壇

標題: ATtiny85和NE555DR製作PWM調光器 [打印本頁]

作者: 洪嵐峰    時間: 2023-4-11 06:06
標題: ATtiny85和NE555DR製作PWM調光器
所需零件:

ATtiny85微控制器
NE555DR計時器IC
電晶體(例如2N3904)
電容(例如0.1μF)
電阻(例如10kΩ)
LED燈
連接線
電源(例如9V電池或者USB電源供應器)
腳位連接:

ATtiny85腳位:
1腳:接電源正極
2腳:接NE555DR的TRIGGER腳
3腳:接NE555DR的OUTPUT腳
4腳:接電源負極
5腳:接NE555DR的CONTROL腳
6腳:接LED燈的正極
7腳:接電晶體的基極
8腳:接電晶體的集極
NE555DR腳位:
1腳:接電源正極
2腳:接ATtiny85的2腳
3腳:接ATtiny85的3腳
4腳:接電容和電阻,並接地
5腳:接ATtiny85的5腳
6腳:不使用
7腳:不使用
8腳:接電源負極

程式碼如下:


int brightness = 0; // 初始化PWM占空比

void setup() {
  pinMode(3, OUTPUT); // 設置PWM輸出引腳
}

void loop() {
  analogWrite(3, brightness); // 設置PWM占空比
  brightness = brightness + 5; // 增加PWM占空比,實現漸變效果
  if (brightness >= 255) { // 判斷PWM占空比是否超出範圍
    brightness = 0; // 重置PWM占空比
    delay(1000); // 等待1秒
  }
  delay(30); // 控制PWM占空比變化速度
}
該程式碼使用ATtiny85的PWM輸出引腳(腳位3)控制LED燈的亮度。

程式中的變數brightness用於存儲PWM占空比,初始值為0。在loop()函數中,使用analogWrite()函數設置PWM占空比,並使用delay()函數控制PWM占空比的變化速度和重置PWM占空比的時間。




歡迎光臨 冰楓論壇 (https://bingfong.com/) Powered by 冰楓