冰楓論壇
標題:
使用ATtiny85和FDS6680
[打印本頁]
作者:
洪嵐峰
時間:
2023-4-11 05:35
標題:
使用ATtiny85和FDS6680
智能計時器的具體步驟:
所需零件:
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內置的計時器。
歡迎光臨 冰楓論壇 (https://bingfong.com/)
Powered by 冰楓