认识Arduino,开始嵌入式之旅

需要的工具

硬件设备

  • Arduino Uno开发板
  • 台式机
  • Arduino到台式机连接线

软件

  • Atmel Studio

    • 安装Atmel Studio,里面会有atmel的编译器,还会安装PC端的virtual comm port driver用来打印信息到TeraTerm
    • 当然也可以下载一个Arduino IDE,Arduino IDE可以快速地对Arduino进行编程,但我比较习惯用Atmel Studio。
  • AvrDude

    • 这个软件可以通过串口下载代码到Arduino
  • 串口通信软件,putty 或者 TeraTerm
  • 代码编辑软件,Atom 或者其他任何可以编辑文本的软件

文档

  • Arduino的CPU Atmel328P的芯片手册,下载链接。

开启Arduino之旅

项目介绍

这个小项目主要是带大家入门嵌入式开发领域。

  • 点亮自己的LED小灯
  • 通过串口进行debug
  • 写一个简单的command line interface用来和板子通信

初识Arduino硬件

我们的核心是Arduino Uno开发板,下面这张图是Arduino的电路图。我把它的几个大块标记出来,下面我一一来说明下。

  • Voltage Regulator: 它的任务是为系统提供稳定的3.3V和5V的电压。在蓝色区域有两个voltage regulator,一个是LP2985,输入5V,输出3.3V;一个是NCP1117,输入最高20V,输出5V。Arduino的供电有两种,一种是USB供电,这时候只从蓝色区域左下角的USBVCC为板子提供5V电压,然后通过一个regulator为板子提供3.3V电压。另一种供电是通过供电插口(在板子上USB插口的下方有个圆形的黑色电源插口),这个供电插口是蓝色区域中靠中间的长方形区域,它的电压可以最高到20V,然后通过NCP1117变成5V电压,然后再通过LP2985变成3.3V电压。这里面有个值得注意的地方是蓝色区域的USBVCC出来后连接了一个三极管,三极管上面有个比较器,比较器的正向输入端连接了一个分压电路,反向输入端连接着3.3V。它的目的是如果从供电插口输入的电压不足5V,那就用USB的5V电压,否则就用供电插口的5V电压。
  • USB Control chip: USB的控制芯片,买回来的Arduino中这个芯片的固件都是已经在里面的,它的作用是把USB接口的东西转成串行通信数据(在电路图红色的Serial Comm部分)发送给CPU,还用把CPU从串行通信发出来的东西,传换成USB信号发送给PC机。
  • Main CPU: 主CPU是Atmel328P。8-bit CPU, 因为Arduino没有外接的serial flash 或者外接的SDRAM,所以根据芯片手册,一共有32KB 芯片上的programming flash,编译的代码可以放在这个flash里面。有2KB的SRAM,一些寄存器的信息,stack和heap,全局变量等都放在RAM里。
  • Crystal: 16MHz的晶振
  • LED: LED的输入标记是SCK,对应连接的是atmel328P上的B5管脚。LED连接了一个放大器,目的是电流不通过放大器,只是通过电压来控制LED,这样的话B5管脚可以做其他用途。
  • Serial Comm: 串口通信端口,在CPU上通过usart给PC端发送数据。

clipboard.png

  • 输入GetLedStatus, Arduino返回LED OFF
  • 输入SetLed ON,Arduino点亮LED
  • 输入GetLedStatus, Arduino返回LED ON
  • 输入SetLed OFF, Arduino关闭LED

相关资源:旅行家航旅行程信息打印软件-旅游工具类资源-CSDN文库

来源:weixin_34041003

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年6月8日
下一篇 2018年6月8日

相关推荐