- UID
- 373967
- 帖子
- 8822
- 主題
- 2609
- 精華
- 0
- 積分
- 994
- 楓幣
- 0
- 威望
- 971
- 存款
- 34510
- 贊助金額
- 0
- 推廣
- 0
- GP
- 1205
- 閱讀權限
- 50
- 在線時間
- 452 小時
- 註冊時間
- 2023-1-12
- 最後登入
- 2024-11-12
|
智能計時器的具體步驟:
所需零件:
ATtiny85微控制器
FDS6680 MOSFET
16MHz晶振
2個10kΩ電阻
1個1kΩ電阻
1個0.1μF電容
1個LED燈
杜邦線
電池或USB供電線
連接腳位:
連接ATtiny85和FDS6680:
ATtiny85的PB0引腳連接到FDS6680的Gate腳,需要使用1個10kΩ電阻將ATtiny85的PB0引腳和FDS6680的Gate腳連接,以限制電流。
FDS6680的Drain腳連接到LED的正極,LED的負極連接到ATtiny85的GND引腳。
FDS6680的Source腳連接到ATtiny85的GND引腳。
連接晶振:
將晶振的一個引腳連接到ATtiny85的PB6引腳。
將晶振的另一個引腳連接到ATtiny85的PB7引腳。
連接電阻和電容:
1個10kΩ電阻連接ATtiny85的Reset引腳和VCC引腳。
另外一個10kΩ電阻連接ATtiny85的PB1引腳和VCC引腳。
1個1kΩ電阻連接LED的正極和FDS6680的Drain腳之間。
1個0.1μF電容連接ATtiny85的VCC引腳和GND引腳之間。
供電:
將電池或USB供電線連接到ATtiny85的VCC引腳和GND引腳。
程式碼:
下面是使用ATtiny85和FDS6680構建智能計時器的Arduino程式碼:
void setup() {
pinMode(0, OUTPUT); //設置PB0引腳為輸出模式
TCCR1 |= (1<<CS12) | (1<<CS10); //設置計時器1分頻,使得計時器的時鐘頻率為16MHz/1024=15.625kHz
TCNT1 = 0; //清零計數器
}
void loop() {
if(TCNT1 > 15625) { //如果計數器計數超過1秒
digitalWrite(0, HIGH); //點亮LED
delay(1000); //等待1秒
digitalWrite(0, LOW); //熄滅LED
TCNT1 = 0; //計數器清零
}
}
這個程序會在ATtiny85的PB0引腳連接的LED燈上定時地閃爍,每1秒鐘點亮一次,程序使用了ATtiny85內置的計時器。 |
|