首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

自已动手制作Arduino最小系统

自已动手制作Arduino最小系统

市场上的Arduino数以百万计,据估计,如果把衍生产品中的Arduino也算在内就更多了。预测在接下来的 5到10年里,学校将会使用Arduino来教授电子学和交互式系统原理。
  Arduino封装了很多函数,以前很复杂的功能,现在通过一个简单的函数就搞定了。特别适合没有太多专业知识,但又热爱DIY的朋友。
Arduino最小系统是如何炼成的?
  虽然Arduino板子的价格不高,但忠于DIY精神,动手至上。成本大约在10元。
  和常规的最小系统不同,这次用的是Arduino1.0,并且使用了“Upload Using ProgRAMmer”功能,直接使用USBtinyISP下载程序,省去了Usb转串口的下载器,同时也最大限度的避免了许多麻烦。
  材料准备:
  1、ATmega 8(可以是“ATmega 8A-PU”、“ATmega 8PU-8PU”或“ATmega 8-16PU”,具体的差别下面会说)
  2、22pF陶瓷电容两个
  3、晶振一个(“ATmega 8A-PU”、“ATmega 8PU-8PU”用8M,“ATmega 8-16PU”用16M)
  4、USBtinyISP一个
  
先看Atmega8引脚示意图
  电路一共分两个部分
  1、震荡电路:
  
  晶振连接Atmega8的Pin9(PB6)、Pin10(PB7),在分别连接连个22pF的电容,最后让一只电容接地。

  2、程序下载以及供电部分:
  ICSP引脚连接图:
  
  +5V → Pin7(VCC)
  GND → Ping22(GND)
  D11 → Pin17(PB3)
  D12 → Pin18(PB4)
  D13 → Pin19(PB5)
  Reset → Pin1(Reset)
  这是连接好的板子:
  
  加了一个红色的LED做电源指示

  下面就该给Atmega8下载Bootloader了,现在就有两种情况:
  1、如果是“ATmega 8A-PU”和“ATmega 8PU-8PU”,因为IDE里没有直接支持8M的板子,所以要自己改造一下:
  下载下面的文件,解压后放在Hardware\Arduino\Bootloaders\Optiboot目录下,并在Hardware\Arduino\Boards.Txt里添加如下信息:
  01.##############################################################
  02.
  03.Atmega8_8M.Name=ATmega8_8MHz
  04.
  05.Atmega8_8M.Upload.Protocol=Arduino
  06.Atmega8_8M.Upload.Maximum_size=7168
  07.Atmega8_8M.Upload.Speed=115200
  08.
  09.Atmega8_8M.Bootloader.Low_fuses=0xa4
  10.Atmega8_8M.Bootloader.High_fuses=0xdc
  11.Atmega8_8M.Bootloader.Path=Optiboot
  12.Atmega8_8M.Bootloader.File=Optiboot_atmega8_8M.Hex
  13.Atmega8_8M.Bootloader.Unlock_bits=0x3F
  14.Atmega8_8M.Bootloader.Lock_bits=0x0F
  15.
  16.Atmega8_8M.Build.Mcu=Atmega8
  17.Atmega8_8M.Build.F_cpu=8000000L
  18.Atmega8_8M.Build.Core=Arduino
  19.Atmega8_8M.Build.Variant=Standard
  这时启动IDE,你就能在Board里看到“Atmega8_8M”,选择他就对了。
  
  2、如果是ATmega 8-16PU,在选板子时直接选择“Arduino NG Or W / ATmega 8“就可以了。

  选好板子后,使用USBtinyISP下载Bootloader,当看到如下图片是,就说明下载成功了。
  好了,从这里开始就是和其他最小系统不同的地方了,通常我们会使用一个USB转TTL的下载器来下载程序,但因为种种原因,很多时候会出错。所以今天我们使用Arduino 1.0的“Upload Using Programmer”功能来下载程序。
  首先电路连接不变,还是使用下载Bootloader的线路。然后确保你使用的IDE是Arduino 1.0(在Arduino的官网,一进下载软件页面的就看得见了),然后选择板子,还是和上面一样,ATmega 8-16PU可以直接用;“ATmega 8A-PU”和“ATmega 8PU-8PU”请先改造程序,然后写代码(我写了一个LED闪烁的程序来测试)。
  Int Led = 12;
  Void Setup()
  {
  PinMode(Led,OUTPUT);
  }
  Void Loop()
  {
  DigitalWrite(Led,HIGH);
  Delay(1000);
  DigitalWrite(Led,LOW);
  Delay(1000);
  }
  写好后点击最左边的那个钩(编译)。

  最后是下载,大家可以看一下,在Tools下新增加了一个“Programmer”,点开后选择USBtinyISP,Serial Port就不用选择了。
  
  最后打开“File”,你可以看到”Upload Using Programmer“,点击后程序就开始下载了。
  
  这是程序下载完后的照片,如果图片能动,你就能看见绿色的LED在闪烁。
  
  总结:如果按照以前的方法制作最小系统,下载Bootloader和程序要使用两套电路。而且在下载程序时,TX和DX对下载线路的要求很高,还需要连接复位电路。而使用Upload Using Programmer下载程序,仅需使用一套电路,简化了连接电路带来的不便,不需要转换器、不需要复位电路。最大限度地避免了许多麻烦。
  有兴趣的同学可以来试试。
  这是之后焊在洞洞板上的最小系统,效果还不错~
返回列表