冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 635|回覆: 0
打印 上一主題 下一主題

[討論] ATtiny85和NE555DR製作PWM調光器

[複製鏈接]

2609

主題

0

好友

1003

積分

金牌會員

Rank: 6Rank: 6

UID
373967
帖子
9008
主題
2609
精華
0
積分
1003
楓幣
0
威望
980
存款
35891
贊助金額
0
推廣
0
GP
1205
閱讀權限
70
在線時間
460 小時
註冊時間
2023-1-12
最後登入
2024-12-22

2023端午節紀念勳章 2023中秋節紀念勳章 2023聖誕節紀念勳章

跳轉到指定樓層
1
發表於 2023-4-11 06:06:13 |只看該作者 |倒序瀏覽
所需零件:

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占空比的時間。
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1鑰匙
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-12-22 21:55

回頂部