記錄一下,免得又忘了。
motoduino的picoboard 是用ATmega328晶片去做的。用志文老師的方法,可以把picoboard改韌體,變成一片uno。
找一塊uno,燒錄範例arduinoisp,把燒錄器改成arduino as ISP,再選擇工具/bootloader。燒錄bootloader前要把腳位接好,可以參考之前的文章。
https://wdpsestea.blogspot.com/2019/11/picoboarduno.html
燒好後,各感應器的腳位為:
1.J4-A1(D15),
2J3-A2(D16),
3J2-A4(D18),
4按鈕D2,
5.J1-A5(D19),
6光敏A6(D20),
7.聲音micA3(D17),
8滑桿(A0)]
但我使用digitalRead(2)一直讀不出按鈕的值。看了好多文章,都無解。
最後終於查到這個D2要額外啟動才行
在void setup()要加上
DDRD &= ~( 1 << PD2 ); // Clear the PD2 pin and set PD2 (PCINT0 pin) now as input
PORTD |= (1 << PD2); // Set PIN PD2 as INPUT with pull-up enabled
EICRA |= (1 << ISC00); // set INT0 to trigger on ANY logic change
EIMSK |= (1 << INT0); // Turns on INT0
按鈕未按時,D2的值是1,按下去D2的值是0
沒有留言:
張貼留言