codecamp

Arduino 概述

Arduino是一个基于易用硬件和软件的原型平台(开源)。它由可编程的电路板(称为微控制器)和称为Arduino IDE(集成开发环境)的现成软件组成,用于将计算机代码写入并上传到物理板。


主要特点是:

  • Arduino板卡能够读取来自不同传感器的模拟或数字输入信号,并将其转换为输出,例如激活电机,打开/关闭LED,连接到云端等多种操作。

  • 你可以通过Arduino IDE(简称上传软件)向板上的微控制器发送一组指令来控制板功能。

  • 与大多数以前的可编程电路板不同,Arduino不需要额外的硬件(称为编程器)来将新代码加载到板上。你只需使用USB线即可。

  • 此外,Arduino IDE使用C++的简化版本,使其更容易学习编程。

  • 最后,Arduino提供了一个标准的外形规格,将微控制器的功能打破成更易于使用的软件包。


Arduino板卡

Arduino板的类型

根据使用的不同微控制器,可提供各种Arduino板。然而,所有Arduino板都有一个共同点:它们通过Arduino IDE编程。

差异基于输入和输出的数量(可以在单个板上使用的传感器,LED和按钮的数量),速度,工作电压,外形尺寸等。一些板被设计为嵌入式,并且没有编程接口(硬件),因此你需要单独购买。有些可以直接从3.7V电池运行,其他至少需要5V。

以下是可用的不同Arduino板的列表。

基于ATMEGA328微控制器的Arduino板

板名称工作电压时钟速度数字i/o模拟输入PWMUART编程接口
Arduino Uno R35V16MHz14661USB通过ATMega16U2
Arduino Uno R3 SMD5V16MHz14661USB通过ATMega16U2
Red Board5V16MHz14661USB通过FTDI
Arduino Pro 3.3v/8 MHz3.3V8MHz14661FTDI兼容头
Arduino Pro 5V/16MHz5V16MHz14661FTDI兼容头
Arduino mini 055V16MHz14861FTDI兼容头
Arduino Pro mini 3.3v/8mhz3.3V8MHz14861FTDI兼容头
Arduino Pro mini 5v/16mhz5V16MHz14861FTDI兼容头
Arduino Ethernet
5V16MHz14661FTDI兼容头
Arduino Fio3.3V8MHz14861FTDI兼容头
LilyPad Arduino 328 main board3.3V8MHz14661FTDI兼容头
LilyPad Arduino simply board3.3V8MHz9450FTDI兼容头

基于ATMEGA32u4微控制器的Arduino板卡

板名称工作电压时钟速度数字i/o模拟输入PWMUART编程接口
Arduino Leonardo5V16MHz201271本机USB
Pro micro 5V/16MHz5V16MHz14661本机USB
Pro micro 3.3V/8MHz5V16MHz14661本机USB
LilyPad Arduino USB3.3V8MHz14661本机USB

基于ATMEGA2560微控制器的Arduino板卡

板名称工作电压时钟速度数字i/o模拟输入PWMUART编程接口
Arduino Mega 2560 R35V16MHz5416144USB通过ATMega16U2B
Mega Pro 3.3V3.3V8MHz5416144FTDI兼容头
Mega Pro 5V5V16MHz5416144FTDI兼容头
Mega Pro Mini 3.3V3.3V8MHz5416144FTDI兼容头

基于AT91SAM3X8E微控制器的Arduino板卡

板名称工作电压时钟速度数字i/o模拟输入PWMUART编程接口
Arduino Mega 2560 R33.3V84MHz5412124本机USB

Arduino 板的说明
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }