記錄一下這次自己 DIY 的
Arduino
.
Arduino
有多好用就不用多說(shuō)了魁蒜,可以備兩塊,需要的時(shí)候很是方便兜看。
比如有時(shí)新買了一些沒用過(guò)的模塊、芯片等细移,可能你需要用stm32
對(duì)它進(jìn)行編程熊锭,但是寫好的程序就是沒用弧轧,這時(shí)候你可能開始懷疑你是不是買了假芯片或者模塊壞了,這時(shí)候用Arduino來(lái)驗(yàn)證一下會(huì)很方便碗殷,畢竟庫(kù)多,代碼量少锌妻,可以快速驗(yàn)證。
正文開始:
1.原理圖
修改:
- 這里的CH340C 如果使用5V供電,其V3腳如果接一個(gè)0.1uF的去耦電容到地堕仔,如果使用3.3V供電晌区,則將V3腳接至VCC摩骨;(原理圖中空著了契讲,沒有接CH340C是無(wú)法正常工作的,具體可參看CH340C使用說(shuō)明手冊(cè)捡偏;
- SDA 和 SCL一不留神接錯(cuò)位了,仔細(xì)看上面的原理圖應(yīng)該能看出來(lái)你虹;
注:
其實(shí)需要的就是(電源
,單片機(jī)
)晶振電路
,復(fù)位電路
,下載電路
绘搞。有這幾部分就可以組成Arduino
的基本硬件電路了傅物。
1.晶振電路
就不多說(shuō)了,和其他單片機(jī)的晶振電路
都相似董饰。
2.要注意的就是復(fù)位電路
和下載電路
,(我這里使用的是CH340C
這款USB轉(zhuǎn)串口芯片作為下載電路卒暂,和CH340G
幾乎一樣,不同的是CH340C
內(nèi)置晶振,不需要再外接晶振昙楚,可以簡(jiǎn)化電路,當(dāng)然你用CH340G
也是可以的堪旧。)CH340C
的DTR
引腳要引出來(lái)通過(guò)一個(gè)104電容
接到RESET
復(fù)位引腳上去,二極管4148
也不能少奖亚。
3.自己可以把需要的IO口給引出來(lái),我這里只引出了IIC
和幾個(gè)LED
測(cè)試引腳遂蛀,其他我用不到的就沒引出來(lái)了干厚。然后就轉(zhuǎn)PCB
就可以了。
2.完整原理圖如下:
還有一個(gè)DS3231時(shí)鐘電路沒做介紹蛮瞄,因?yàn)榉潜仨殻筒欢嗾f(shuō)了挂捅。
3.PCB渲染圖如下:
4.實(shí)物圖如下:
5.成品圖如下:
至此闲先,硬件部分就完成了,這很容易解決伺糠。可是軟件部分卡了我一整天训桶,
Arduino
下載程序很方便是因?yàn)槠鋬?nèi)部早已燒錄好了bootloader
的酣倾,新買來(lái)的芯片是沒有燒錄bootloader
的谤专,所有需要手動(dòng)燒入bootloader
。這里我初期沒考慮周全置侍,沒有把SPI
接口引出來(lái),導(dǎo)致才有了下面這一幕(后悔沒引出SPI
)蜡坊。
下面開始用MEGA2560
給ATmega328P
燒錄bootloader
(對(duì),就是這里抬伺,失敗多次,苦苦試探之下峡钓,終于成功了)。
1.按如下方式接線(兩種方式都是一樣的能岩,推薦前者)
你可能還需要一份引腳定義萧福。
2.接好線后就是下面這樣了
(這是一個(gè)悲傷的故事,不建議學(xué)習(xí)我的這種接線方式)
3.接好線后膏燕,就可以給Arduino Mega 2560
下載程序了,再通過(guò)Arduino Mega 2560
給Atmega328P
燒入bootloader
坝辫。
用到的文件可以點(diǎn)這里下載:github資源
3.1把這個(gè)程序上傳上去(下載進(jìn)去)就把Mega 2560變成了一個(gè)燒入器了射亏。
這里是常規(guī)操作近忙,和下載Blink沒什么不同智润。
3.2連接好
Mega 2560
和ATmega328P
的線后,打開串口監(jiān)視器窟绷,
下面是異常情況
如果出現(xiàn)上面這種情況
1.檢查連接的線是否正確,是否有松動(dòng)更振。
2.如果芯片連接了除晶振電路以外的外圍設(shè)備炕桨,請(qǐng)斷開重試(我就是問題出在這了肯腕,然后把CH340C和DS3231全部拆下,燒入实撒,然后就OK了)
正常情況如下:
(這圖不是我的,因?yàn)槲乙呀?jīng)將飛線拆下,不想重來(lái)一次知态,就直接截別人的圖了)
我還出現(xiàn)了一個(gè)選擇高低電壓版本的選項(xiàng),U
orL
要根據(jù)自己實(shí)際情況選擇贡茅,然后通過(guò)這個(gè)串口監(jiān)視器Send(發(fā)送)
一個(gè)U
(我是5V,16MHz,所以是U
)其做,然后再Send(發(fā)送)
一個(gè)G
(表示對(duì)ATmega328P
進(jìn)行燒錄bootloader
的意思)顶考,然后幾秒鐘就好了妖泄。
圖如下:
發(fā)送完G
,然后會(huì)出現(xiàn)下圖:
這樣就完成了bootloader
的燒錄了蹈胡,此時(shí)就完成了ATmega 328P
的bootloader
燒錄了,然后就是一塊正常的Arduino UNO
了罚渐,可以正常上傳程序了。
然后就完成了一次DIY Arduino 了病涨。
1.如果還有問題,就把這個(gè)視頻看兩遍,然后基本問題就不大了赎懦。
2.如果用Arduino
的其他版本(但要支持SPI
)也是OK的,也可以參考下網(wǎng)上別人的貼子当悔。
3.這里有官方自制 Arduino
的材料踢代。
4.碰到了問題還可以去這里看看嗅骄,蠻好的。
END.
自制Arduino
干什么呢溺森?這里做了個(gè)時(shí)鐘功能http://www.reibang.com/p/6a9e219567ba