DIY一个简单的Arduino板子

描述

  你想过用简单的元件来制作Arduino板吗?或者想过根据自己的需要做一个定制开发板吗?这个项目就是向大家展示用电子元件来制作Arduino威廉希尔官方网站 板。只需遵循这些步骤和说明,就可以享受这个DIYArduino的过程了!

  威廉希尔官方网站 原理图

开发板

  DIY自己的Arduino板有多种方式,如可以制作PCB板来焊接,或者使用原型万能板来焊接,或者直接把元件插到面包板上来实现。实际威廉希尔官方网站 图如下所示,

开发板

  你只需要可很少的原件即可完成连接。元件包含了一个电压调节器,用于提供5V电源给Arduino,实现稳压滤波威廉希尔官方网站 的作用,然后是一个16Mhz的晶体振荡器,以及和它平行连接的22pF的电容,它们组成了Arduino的时钟。为了达到测试的目的,还需要一个LED,将其连接到ATmega集成块的第19引脚上。

  上传引导加载程序到空白的ATmega芯片

  这一步是为空白的ATmega芯片加载Arduino的引导程序。已经有Arduino引导程序的芯片可以忽略这一步。为芯片加载引导程序可以使用一个Arduino开发板来引导加载程序到空白芯片,也可以使用AVR下载器来加载。我们将在下面解释这两种方法。

  使用AVR下载器加载程序

开发板

  我个人更喜欢使用这种方法来上传引导程序,因为它的成功率很高。你只需要买一个AVR下载器,就可以将引导程序上传到各种类型的ATmega芯片上,将空白芯片插入Arduino板的插座上。如上图所示,将下载器连接到Arduino。找到到已安装的Arduino文件夹“hardware -> Arduino ->avr -> boards.txt ”。然后检查文档中芯片的名称和引导程序(Duemilanove/Uno)(如果使用空白ATmega328P芯片,可以忽略此步骤)。

检查其上的下列参数值:hfuse,lfuse,efuse。现在我们将为空白芯片设置熔丝位,打开命令提示符(windows用户)或命令行窗口(Linux用户),粘贴以下命令:

avrdude -b 19200 -c usbtiny -p m328p -v -e -U efuse:w:0x05:m -U hfuse:w:0xD6:m -U lfuse:w:0xFF:m

注:指定值给high_fuses,low_fuses,extended_fuses,如果准备烧录的芯片不是ATmega328 IC,请在命令中将“m328p”修改为你的芯片名称。

接下来,使用下面的命令上传引导程序或十六进制文件。转到程序文件或引导加载程序的路径“ /hardware/arduino/avr/bootloaders/atmega”,将命令提示符或命令行中的“hexfilename.hex”替换为你的文件名。

avrdude -b19200 -c usbtiny -p m328p -v -e -U flash:w:hexfilename.hex -U lock:w:0x0F:m

现在文件将成功上传至ATmega芯片。

开发板

  如果你打算使用另一个Arduino开发板来引导芯片,那么请按照上面的图示进行连接。这里需要两块Arduino板:一个是Arduino板作为ISP,另一个用于插入空白的ATmega芯片。我们使用Arduino上的ICSP(威廉希尔官方网站 串行编程器)引脚来实现烧录空白芯片。连接完成后,将作为烧录器的Arduino连接到你的PC,接下来,打开ArduinoIDE,进入tools菜单;选择burnbootloader并从其选项中单击Arduino作为ISP。现在,空白芯片将被烧录,这种方法需要boards.txt指定的芯片配置正确才会生效,成功率不太高。

  现在我们就有一个自制的Arduino板,它已加载Arduino引导程序。使用Rx,Tx和Gnd引脚连接到USB-UARTTTL转换器,就可以将它连接到你的PC使用了。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分