Arduino 自学笔记
Arduino教程
1.Arduino的介绍
●什么叫arduino?
Arduino是一块基于开放原始代码的Simple i/o平台,并且具有开发语言和开发环境都很简单,易理解的特点。
可以让你轻松利用arduino做出有趣的东西。
他是一个能够用来感应和控制现实物理世界的一套工具。
他由一个基于单片机并且开放源码的硬件平台和一套为arduino板编程软件的开发环境组成。
Arduino可以用来开发交互产品,比如它可以用来读取大量开关和传感器的信号,并且可以控制各种各样的灯,电机和其他物理设备。
Arduino项目可以是单独的也可以和你的电脑上的软件程序(例如:flash,processing,maxMsp 等)进行通讯。
Arduino开源的IDE可以免费下载得到
●Arduino的特点
1.开放原始码的电路图设计,开放界面免费下载,也可以依需求自己修改
2.下载程序简单,方便。
3.可简单的与传感器,各种各样的电子元件连接(如:LED灯,蜂鸣器,
开关,光敏电阻等),做出各种各样的有趣的东西。
4.使用高效的微处理器
5.开发语言和开发环境都非常的简单,对初学者来说很容易上手
●Arduino的性能
1.Digital I/O数字输入/输出端口0-13.
2.Analog I/O模拟输入/输出0-5.
3.支持ISP下载功能。
几个比较特殊的端口说明
●VIN端口:VIN是input voltage的缩写,表示有外部电源是的输入端
口。
如果不使用USB供电时,外部电源可以通过此引脚提供电压(如电
池供电,电池正极接VIN引脚,负极接GND引脚)。
●AREF:Reference voltage for the analog input(模拟输入的基准电
压)。
使用analogReference()命令使用。
2.流水灯的设计
●实验原理
在生活中我们经常看到一些有各种颜色组成的广告灯,广告灯上各个位置的LED灯不断的两咩变化,就形成各种不同的效果,本届实验就
是利用led灯编程做一个流水灯的效果,在程序中我们设置led灯的亮
灭的次序与时间就可以实现流水灯的效果
本次实验我们用6个led灯作流水灯,通过控制各个led的亮灭次序与时间,就可以实现流水灯的效果。
一排6个led灯,首先依次点亮,再依次熄灭;然后6灯齐闪3次;
最后实现两个两个一起闪3次。
●实验器材
1.Led灯:6个
2.220欧姆电阻:6个
3.面包板以及跳线:若干
4.Arduinio板子一块,数据线等
●程序代码
●int LED1=8;
●int LED2=9;
●int LED3=10;
●int LED4=11;
●int LED5=12;
●int LED6=13;
●int n;
●void setup()
●{ //设置各个引脚的初始状态
●for(n=8;n<=13;n++)
●{
● pinMode(n, OUTPUT);
●}
●}
●void loop()
●{
● turn1();//顺序点亮,顺序熄灭
● clean(); //灭掉所有灯
●
● turn2();//6灯齐闪
● clean();//灭掉所有灯
●
● turn3();
● clean();//灭掉所有灯
●}
●void turn1() //顺序点亮,顺序熄灭●{
●{
● digitalWrite(n,HIGH);
● delay(300);
●}
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW);
● delay(300);
●}
●}
●void turn2()//6灯齐闪3次
●{ for(int x=0;x<=2;x++)
●{
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,HIGH); ●}
●delay(300);
● for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW);
●
●}
●delay(300);
●}
●}
●void turn3()//两个两个一起闪3次●{
● for(int x=0;x<=2;x++)
● {
● digitalWrite(8,HIGH);
● digitalWrite(9,HIGH);
● digitalWrite(n,LOW);
● }
● delay(300);
● digitalWrite(10,HIGH);
● digitalWrite(11,HIGH);
● digitalWrite(8,LOW);
● digitalWrite(9,LOW);
● digitalWrite(12,LOW);
● digitalWrite(13,LOW);
● delay(300);
● digitalWrite(12,HIGH);
● digitalWrite(13,HIGH);
● for(n=8;n<=11;n++){
● digitalWrite(n,LOW);
● }
● delay(300);
●}
●}
●void clean()
●{ for(n=8;n<=13;n++)
●{
● digitalWrite(n,LOW); ●
●}
●delay(300);
●代码回顾
1.程序中turn1()函数作用是使6个LED顺序点亮,再顺序熄灭;turn2()
函数作用使6个LED一齐闪烁频率为300ms;turn3()函数作用是两两灯闪烁;clean()函数熄灭6只LED,6个LED发光二极管会循环执行几种效果,直到Arduino UNO 控制器断电为止。
2.(1)for(n=8;n<=13;n++) 循环语句
for循环开头有3个部分:(初始化;条件;增量计数){ //语句 }
“初始化”只在循环开始执行一次。
每次循环,都会检测一次条件;如果条件为真,则执行语句和“增量计数”,之后再检测条件。
当条件为假时,循环终止。
(2)void turn1()
声明功能函数,声明后,可以在loop()语句中调用
3.利用开关控制灯的亮灭
4.控制直流电机、舵机
5.简单小车的设计
6.超声波传感器的使用。
Arduino整理学习笔记
而当使用write()函数时,Arduino发送的是数值本身。
但是串口监视器接收到数据后,会将数值当做ASCLL码而显示其对应的字符。
总而言之,print是转换成ASCLL码才能发出去,就相当于中间介质。
而write是直接发送数据,不需要中间介质。
#define led1 9#define led2 8char val = '1';void setup() {Serial.begin(9600);pinMode(led1,OUTPUT);pinMode(led2,OUTPUT);}void loop() {if(Serial.available())val = Serial.read();if(val == '9'){digitalWrite(led1,HIGH);delay(1000);}elsedigitalWrite(led1,LOW);if(val == '8'){digitalWrite(led2,HIGH);delay(1000);}elsedigitalWrite(led2,LOW);}蓝牙模块:void setup(){Serial.begin(9600);}void loop(){while(Serial.available()){char c=Serial.read();if(c=='A'){Serial.println("Hello I am amarino");}}}2018.10.30下午建立多个软串口://主机程序#include <SoftwareSerial.h> SoftwareSerialportOne(2, 3); SoftwareSerialportTwo(4, 5);int mark,mark1;void setup(){Serial.begin(9600);while (!Serial){ }portOne.begin(9600);portTwo.begin(9600);}void loop(){//监听1号软串口portOne.listen();if(portOne.available()){Serial.println("Data from port one:"); delay(500); mark=1;}if(mark==1){int inByte1 = portOne.read();delay(2);Serial.println(inByte1);delay(1000);mark=0;}//监听2号软串口portTwo.listen();if(portOne.available()){Serial.println("Data from port two:"); delay(500);mark1=1;}if(mark1==1){int inByte2 = portOne.read();delay(2);Serial.println(inByte2);delay(1000);mark=0;}}//从机程序int i=9;void setup(){Serial.begin(9600);pinMode(13,OUTPUT);}void loop() {Serial.write(i); delay(1000);}。
《从零开始学Arduino电子设计 创意案例版》读书笔记思维导图PPT模板下载
8.3 电机 控制
0 4
8.4 继电 器控制
0 6
8.6 小结
0 5
8.5 传 器
0 1
9.1 LED 的控制
0 2
9.2 传感 器
0 3
9.3 数据 通信
0 4
9.4 数据 读写
0 6
9.6 图形 显示
0 5
9.5 积木 扩展板
9.8 使用彩色显 示屏
9.7 蜂鸣器
9.9 小结
10.1 Arduino与 Microso...
02
第2篇 轻松上手 Arduino开发
04
附录A 运算符优先级 和结合性参考表
本书从编程概念、电子硬件基础等知识展开讲解,使读者能够实现从开始的“听说”Arduino到“精 通”Arduino开发。本书还涉及物联网、Web开发、TCP/IP通信、Android开发、MicroSoftWPF开发等相关延 伸知识,让读者通过Arduino去发现软硬件开发的奇妙之处。
第1篇 认识Arduino
第1章 Arduino简
介
第2章 常用 Arduino开 发板
1.1 什么是 Arduino
1.2 Arduino的 特点
1.3 Arduino的 应用领域
1.4 小结
2.1 Arduino Uno开发板
2.2 Arduino Mega 256...
2.3 Arduino Pro Mini...
2.4 小结
第2篇 轻松上手Arduino开发
第3章
1
Arduino开
发环境搭建
第4章
2
Arduino开
发语言
3 第5章
Arduino命 令和函数
Arduino 学习笔记 _74HC595
48
20. 74HC595 实验
实验现象: 利用 74HC595 芯片实现 LED 流水灯效果。
原理与说明:
有时候限于 Arduino 本身的引脚数,无法直接控 制较多的电路。这里介绍一种扩展数字输出的芯片
——74HC595,通过此芯片,可以使用很少的引脚接
收串行信号(也就是 1 个引脚),输出的部分可以变
使用 shiftOut()这个函数的主要原因是我们需要自行输出频率变化。以 74HC595 为例,需要从 Arduino 的 clocckPin(本例中使用 Pin12)输出,这样 74HC595 才能知道 dataPin(本例中使用 Pin11)的正确读取方式。这些说明在 芯片的说明手册中都有提到。这里节录部分来进行说明。
函数 shiftOut(dataPin, clockPin, LSBFIRST, j)的目的在于 1 个执行时间内输出 第 4 个参数 j 的某一个位。1 个字符有 8 个位,若希望从高位(左边)开始,
47
第三个参数设定为 MSBFIRST;若从低位(右边)开始,则设定为 LSBFIRST。前 两个参数只是引脚定义。
74HC595 数据信号时序图 要想更加详细地了解工作原理,可以查阅 SPI(Serial Peripheral Interface)
的工作原理。而点亮的 LED 的位置需要将十进制数字转换为二进制才可以了解。
例如:
153
10011001
这时,应该是 Q0、Q3、Q4 和 Q7 这 4 颗 LED 发光。
功能的实现中使用了一个 Arduino 中的比较特殊的函数 shiftOut(dataPin, clockPin, LSBFIRST, j)。后面会给予介绍。
arduino学习笔记
arduino学习笔记12 - ADXL345加速度传感器实验2011-8-19 09:55|发布者: 弘毅|查看: 134|评论: 12|原作者: 弘毅摘要: 本次实验使用arduino用过IIC接口驱动ADXL345加速度传感器,使XYZ 三坐标加速度值显示在1602液晶上,学习ADXL345加速度传感器与IIC接口的基本使用方法。
前两天我们做了温度传感器实验,大家一定还有印象。
今天我们来研究另外一种传感器加速度传感器。
什么是加速度传感器加速度传感器,作用是测量在加速过程中产生的力。
最基本的如咱们平常所熟悉的是重力加速度,大小是1g。
加速度传感器一般用于什么地方通过测量由重力引起的加速度,你可以计算出设备相对于水平面的倾斜角度。
通过分析动态加速度,你可以分析出设备的移动方式。
自平衡车中就是使用加速度传感器与陀螺仪进行卡尔曼滤波进行姿态矫正。
本次试验使用的ADXL345数字传感器,通过I2C或者SPI接口直接输出数字信号。
在1g的加速度下,输出数值为256.下面是硬件连接图下面是代码1.#include <Wire.h> //调用arduino自带的I2C库2.#include <LiquidCrystal.h> //调用arduino自带的LiquidCrystal库3.4.#define Register_ID 05.#define Register_2D 0x2D6.#define Register_X0 0x327.#define Register_X1 0x338.#define Register_Y0 0x349.#define Register_Y1 0x3510.#define Register_Z0 0x3611.#define Register_Z1 0x3712.13.LiquidCrystal lcd(12, 11, 10, 9, 8, 7);//设置接口14.15.int ADXAddress = 0xA7>>1; //转换为7位地址16.int reading = 0;17.int val = 0;18.int X0,X1,X_out;19.int Y0,Y1,Y_out;20.int Z1,Z0,Z_out;21.double Xg,Yg,Zg;22.23.void setup()24.{25.lcd.begin(16, 2); //初始化LCD26.delay(100);27.Wire.begin(); //初始化I2C28.delay(100);29.Wire.beginTransmission(ADXAddress);30.Wire.send(Register_2D);31.Wire.send(8);32.Wire.endTransmission();33.}34.35.void loop()36.{37.Wire.beginTransmission(ADXAddress);38.Wire.send(Register_X0);39.Wire.send(Register_X1);40.Wire.endTransmission();41.Wire.requestFrom(ADXAddress,2);42.if(Wire.available()<=2);43.{44.X0 = Wire.receive();45.X1 = Wire.receive();46.X1 = X1<<8;47.X_out = X0+X1;48.}49.50.Wire.beginTransmission(ADXAddress);51.Wire.send(Register_Y0);52.Wire.send(Register_Y1);53.Wire.endTransmission();54.Wire.requestFrom(ADXAddress,2);55.if(Wire.available()<=2);56.{57.Y0 = Wire.receive();58.Y1 = Wire.receive();59.Y1 = Y1<<8;60.Y_out = Y0+Y1;61.}62.63.Wire.beginTransmission(ADXAddress);64.Wire.send(Register_Z0);65.Wire.send(Register_Z1);66.Wire.endTransmission();67.Wire.requestFrom(ADXAddress,2);68.if(Wire.available()<=2);69.{70.Z0 = Wire.receive();71.Z1 = Wire.receive();72.Z1 = Z1<<8;73.Z_out = Z0+Z1;74.}75.76.Xg = X_out/256.00;//把输出结果转换为重力加速度g,精确到小数点后2位。
arduino学习笔记.pdf
arduino 学习笔记arduino 学习笔记 1 - 什么是 arduino?要了解arduino就先要了解什么是单片机,arduino平台的基础就是AVR 指令集的单片机。
1、什么是单片机?它与个人计算机有什么不同?一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU (进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。
在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。
而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。
2、单片机有什么用?实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?应用的关键是看是否够用,是否有很好的性能价格比。
如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。
单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。
下图就是一个Atmega328P-PU单片机,基于AVR指令集的8位处理器,频率20MHz,存储器空间32KB。
什么是 Arduino?Arduino 是一个能够用来感应和控制现实物理世界的一套工具。
它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。
Arduino 可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。
Arduino 项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:Flash,Processing,MaxMSP)进行通讯。
Arduino板你可以选择自己去手动组装或是购买已经组装好的;Arduino开源的IDE可以免费下载得到。
Arduino学习笔记(四)--常用函数
Arduino学习笔记(四)--常⽤函数1、pinMode(pin,Mode):设置引脚的输⼊输出状态Pin:引脚号;Mode:INPUT、OUTPUT2、digitalWrite(pin,value) :设置输出引脚的⾼低电平状态Pin:引脚号;value:HIGH LOW3、int digitalRead(pin):读取引脚的状态,并返回HIGH 或LOWPin:引脚号4、int analogRead(pin):读出模拟引脚上的电压,并以⼆进制数值返回(0~1023)对应为0~5vPin:引脚号5、analogWrite(pin,value):给PWM引脚输出电压值pin:引脚号;value:具体的pwm值,(0~255对应表⽰⼀个周期的⾼电平占空⽐)6、shiftOut(dataPin,clockPin,bitOrder,value):将⼀个字节的数据通过移位的⽅式逐位的输出。
dataPin:数据引脚clockPin:时钟引脚bitOrder:移位顺序(MSBFIRST-⾼;LSBFIRST-低)value:需要进⾏移位传输的值说明:在输出数据时,当⼀位数据写⼊数据输出引脚时,时钟引脚将输出脉冲信号,指⽰该位数据已被写⼊数据输出引脚等待外设读取。
并且在使⽤本函数之前datapin和clockpin引脚应该设置为输出状态。
本函数⼀次只能输出⼀个字节的内容,也就是说最⼤⼀次只能输出255,如果⼤于255,就要多次调⽤这个函数。
7、unsigned long mills():回传单⽚机从开始执⾏到现在⽬前的时间(单位:ms)8、delay( number):占⽤单⽚机的时间(单位:ms)number:其代表占⽤单⽚机的时间长度9、delay Microseconds( number):占⽤单⽚机的时间(单位:us)number:其代表占⽤单⽚机的时间10、pulseIn(pin,state,timeout):读取脉冲宽度。
arduino函数学习笔记
Arduino程序的主函数main在内部就已经定义了,所以只需void setup()和void loop().前者用于初始化在程序开头设置引脚的输入输出模式,初始化串口,执行一次。
loop是死循环,是执行程序。
函数pinMode()有两个参数pin和mode, pin参数表示所要配置的引脚,mode 表示设置的模式INPUT或OUTPUT. arduino板上的模拟引脚亦可作数字引脚用,A0~A5对应数字14~19digitalWrite()两个参数,pin表示设置的引脚(须设置为OUTPUT模式),value 表示输出的电压HIGH或LOW,此函数作用是设置引脚输出的电压为高或低。
digitalRead()一个参数,pin***(须设置为INPUT模式),用来获取引脚的电压情况HIGH或LOW. 若引脚没有连接到任何地方,那么随机返回高或低。
analogReference(type)analogRead(pin) 用于读取引脚的模拟电压值,返回值int 范围0~1023,pin 只能是6模拟接口。
analogWrite(pin,value)在指定引脚上输出一个模拟量,应用在LED灯亮度控制,电机转速控制。
无返回值。
Value表示PWM输出的占空比。
范围0~255 shiftOut(dataPin,clockPin,bitOrder,val)无返回值能够将数据通过串行的方式在引脚上输出shiftIn(datapin,clockPin,bitOrder)通过串行的方式在引脚上读入数据。
pulseIn(pin,state,timeout) 此函数用于读取引脚脉冲的时间长度,脉冲可以是HIGH或LOW。
如果是HIGH,函数先将引脚变为高电平,在开始计时,一直到变为低电平为止,返回脉冲持续时间长短,单位MS,如果超时还未读到,将返回0. 函数返回值为unsigned long ,3个参数分别表示脉冲输入的引脚,脉冲响应的状态(高或低)和超时时间。
Arduino学习笔记② Arduino语言基础
1.前言在初步认识什么是Arduino之后,我们就开始讲解一下Arduino语言基础,我们需要知道到底Arduino提供了什么平台以及什么语言来让我们做开发(技术基本上都是先学习开发语言)。
2.Arduino语言以及程序结构Arduino使用C/C语言编写程序(绝大部分的程序员大学都学了这个)。
C语言是一种面向过程的编程语言,C是一种面向对象的编程语言(虽然楼主已经忘光了这个)。
早期Arduino核心库使用C语言编写,后来引进了面向对象的思想,目前最新核心库采用C与C++混合编程。
通常所说的Arduino语言,就是指Arduino核心库提供的各种API的集合。
这些API是对更底层的单片机支持库进行二次封装所形成的(玩过单片机的人估计都是经常和各种寄存器打交道)。
Arduino提供的API可以让初学者不用理会单片机复杂寄存器配置,然后就能直观控制Arduino,提高开发效率。
Arduino程序的基本结构如下:void setup() {// put your setup code here, to run once(这里代码只运行一次):}void loop() {// put your main code here, to run repeatedly(这里代码不断运行):}这个模型可以这样理解(估计学过c语言的都知道main):int main() {setup() ;while(1) {loop() ;}}3.语言基础对于学过C语言的人,可以直接大概扫描一下。
3.1 数据类型3.1.1 常量程序运行中,值不能改变,常量可以是字符,也可以是数字,语句:#define 常量名常量值例子:一般人都要用到调试功能(这里我个人是用串口),但是在真正最终代码的时候又想关闭调试功能,那么就可以这么用:#define MyDebugSerial Serial//该条语句用于使能DEBUG输出信息,屏蔽掉就不会输出debug调试信息#define DEBUG#ifdef DEBUG#define DBGLN(message) MyDebugSerial.println(message)#else#define DBGLN(message)#endifvoid setup() {MyDebugSerial.begin(9600);DBGLN("setup end");}void loop() {}3.1.2 变量程序中可变的值称为变量。
Arduino学习笔记A11
Arduino学习笔记A11键盘作为经典的输入设备,使用在很多互动中都有特别的优势,比如我们可以通过键盘直接给flash传递按键事件。
而无需通过串口之类的特殊接口,虽然我们可以拆一个传统的键盘,然后将里面的按键引出来,但是这样有一个缺点,就是键值不能动态改变并且不能一次多键。
使用模拟键盘的话,我们就可以随意在程序设置按键的时间和键值。
比如本文的例子就是按下一个按键,模拟键盘就在电脑输入“HELLO WORLD”。
硬件部分:材料清单:Arduino x168Ω电阻 x2 (没有68Ω的话,用50~100Ω电阻也行)2.2kΩ电阻 x1 (没有2.2kΩ的话,用1.5k~2.2k电阻也行)USB连接线(一端是USB口,另一端是电线) x13.6v 稳压管(建议选用功耗0.25~0.5w的)x2电路原理图:电路图解说:1、两个68Ω的电阻起到限流和保护作用,防止在意外情况下损坏计算机的USB端口或单片机的端口。
2、2.2kΩ电阻是上拉电阻,用于分辨总线状态。
如果上拉电阻接于D+和+5v端则是高速USB设备,接于D-与+5v端,则是低速设备。
此处键盘传输速率不高,接到D-作为低速设备即可。
3、D+和D-上的3.6V稳压二极管D1和D2起到限制数据线上的电平的作用。
因为在USB规范中规定数据线D+和D-上的电平范围是3.0V至3.6V,而AVR单片机的输出电平是Vcc。
如果单片机的Vcc是5V,在没有D1和D2的情况下将造成电平不匹配,会造成在很多计算机中无法正确识别出USB设备。
如果用户系统的Vcc在3.0V至3.6V 之间,就可以省略这两个稳压二极管。
从这里也可以看出用户系统的Vcc必须高于3V。
4、由于低速AVRUSB所需要的是1.5MHz时钟,而单片机每8条指令就能精确完成一个数据位的采集。
所以AVRUSB最小单片机时钟频率是12MHz。
并且可以使用的时钟频率有12MHz、12.8MHz、15MHz、16MHz、16.5MHz、20MHz,其他的不支持。
arduino学习笔记word版本
Arduino学习笔记arduino学习笔记1 - 什么是arduino?要了解arduino就先要了解什么是单片机,arduino平台的基础就是AVR指令集的单片机。
1、什么是单片机?它与个人计算机有什么不同?一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU (进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。
在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。
而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。
2、单片机有什么用?实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?应用的关键是看是否够用,是否有很好的性能价格比。
如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。
单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。
下图就是一个Atmega328P-PU单片机,基于AVR指令集的8位处理器,频率20MHz,存储器空间32KB。
什么是Arduino?Arduino是一个能够用来感应和控制现实物理世界的一套工具。
它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。
Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。
Arduino项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:Flash,Processing,MaxMSP)进行通讯。
Arduino板你可以选择自己去手动组装或是购买已经组装好的;Arduino开源的IDE 可以免费下载得到。
