当前位置:文档之家› Arduino实验

Arduino实验

Arduino实验
Arduino实验

Arduino Due开发步骤

1. Arduino IDE下载

下载网址:https://www.doczj.com/doc/8c7199951.html,/en/Main/Software,下载界面截图如图2-1所示。

图2-1 Arduino IDE下载界面截图

选择Windows(ZIP file),下载安装程序。

2. Arduino IDE安装

指向图标,双击鼠标左键解压,如图2-2所示。

图2-2 arduino-1.5.5-windows.zip解压界面安装Arduino IDE到指定盘符。

3.Arduino IDE目录结构

Arduino IDE目录结构如图2-3所示。

图2-3 Arduino IDE目录结构

4. Arduino IDE下编程

指向图标,双击鼠标左键,显示Arduino IDE界面如图2-4所示。

图2-4 Arduino IDE界面

在编程窗口中显示两个函数,setup()和loop()。在Arduino中setup()函数首先执行且只执行一遍,一般用来编写初始化程序。在setup()执行完成后,开始执行loop(),loop()循环执行。

Arduino编程使用的是gcc编译器,c语言编程的第一个函数是main()函数,为什么看

不到?因为Arduino对其进行了2次封装,打开\arduino-1.5.5\hardware\arduino\avr\cores

\main.cpp,可以看到如图2-5所示的一段封装程序。

图2-5 main()函数的封装

5. Arduino IDE下软硬件开发的基本步骤

1. 指向图标,双击鼠标左键,进入Arduino IDE界面,如图2-4所示;

2. 编写或导入程序;

3. 选择使用的Arduino开发板,如选择Arduino DUE开发板,选择方法如图2-6所示。

图2-6 选择Arduino DUE开发板

Arduino DUE有两个USB接口,Programming Port 接的是A TMEGA16U2芯片,实现USB口-----串口转换,Native USB Port接的是SAM3X8E片载的USB口,口的位置如图2-7

所示。

图2-7 Arduino DUE USB口位置

4. 选择程序下载串口,将所使用开发板的USB口通过USB线连接到PC,串口驱动程序安装后,可选定程序下载串口,驱动程序在\arduino-1.

5.5\drivers文件夹下,Arduino IDE下选定串口界面如图2-8所示。

图2-8 Arduino IDE下选定程序下载串口界面

5. 编译、下载程序:

按图标,编译、校验程序;

按图标,编译、校验及上传程序至Arduino开发板微控制芯片中。

6. 如果需要通过串口调试用户程序,按图标打开串口调试界面。

Arduino IDE的界面安装后是英文的,如要改为简体中文,按图2-9a 、b顺序操作。

a b

图2-9 Arduino IDE界面字体变化操作

在图2-9b中指向OK按钮,单击鼠标左键,退出Arduino。

再次指向图标,双击鼠标左键,进入Arduino IDE界面,显示界面如图2-10所示,可以看到已改为中文界面。

图2-10 Arduino IDE中文界面

Arduino IDE库函数删除方法:

X:\Program Files\Arduino\libraries和X:\Documents\Arduino\libraries去这两个地方找库文件,可以删除。

Arduino Due基础实验

实验一数字IO接口实验

实验内容:

将Arduino ARM开发板上的SW1、SW0波动开关状态读入,在LED1、LED0发光二极管上显示。

实验电路:

实验电路请参考Arduino ARM开发板介绍。

SW0、SW1、LED0、LED1与Arduino DUE引脚的对应关系如表2-1所示。

表2-1 SW0、SW1、LED0、LED1与Arduino DUE引脚对应关系

实验相关库函数:

Arduino 封装了下面几个函数供数字IO接口使用:

1. 数字IO接口模式定义函数

描述:定义数字IO接口为输入、输出及输入上拉模式。

语法:pinMode(pin, mode)

参数:

pin: 引脚号;

mode: INPUT, OUTPUT, or INPUT_PULLUP

返回:无

2. 数字IO输出电平定义函数

描述:写HIGH 或LOW 值到数字引脚。

语法:digitalWrite(pin, value)

参数:

pin: 引脚号;

value: HIGH or LOW

返回:无

3. 数字IO输入数据读取函数

描述:读出数字IO引脚输入数值。

语法:digitalRead(pin)

参数:

pin: 需要读的数字引脚号(int)

返回:

HIGH 或LOW

实验参考程序:

int SW1Pin = 40; //定义波动开关对应Arduino DUE引脚号

int SW0Pin = 41;

int LED1Pin = 35; //定义LED发光二极管对应Arduino DUE引脚号

int LED0Pin = 34;

void setup() {

pinMode(SW1Pin, INPUT); //设置SW1为输入模式

pinMode(SW0Pin, INPUT); //设置SW0为输入模式

pinMode(LED1Pin, OUTPUT); //设置LED1为输出模式

pinMode(LED0Pin, OUTPUT); //设置LED0为输出模式

}

void loop(){

digitalWrite(LED1Pin, digitalRead(SW1Pin) ); //将波动开关SW1值读出送LED1显示

digitalWrite(LED0Pin, digitalRead(SW0Pin) ); //将波动开关SW0值读出送LED0显示

}

实验步骤:

1.ARDUINO ARM开发板MircoUSB Programming Port口与PC机通过USB线连接,如图2-11所示。电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

图2-11 ARDUINO ARM 开发板与PC机连接图

2.运行Arduino IDE集成开发环境;

3.编写实验程序;

4.选择使用的Arduino开发板—Ardunio DUE;

5.选择程序下载串口—每台机器有可能不一样;

6.编译、下载程序;

7.拨动SW1、SW0开关,观察LED1、LED0变化。

实验二串口通讯实验

图2-12 Arduino ARM串口0电路连接框图

实验相关库函数:

Arduino 主要封装了下面几个函数供串口通信使用:

1.指定串口准备与否判别

描述:指示指定的串口已经准备好。

语法:if (Serial)

if (Serial1)

if (Serial2)

if (Serial3)

参数:无

返回:

布尔值:当串口有效时返回true

2.获取可从串口读取的字节数

描述:获得可供从串行端口阅读的字节数(字符)。这些数据已经到达并存储在串行接收缓冲区(拥有64字节)。

语法:Serial.available()

Serial1.available()

Serial2.available()

Serial3.available()

参数:无

返回:

串口接收缓冲区中接收的字节数。

3. 打开指定串口

描述:打开指定串口,设置串口传输波特率。可设为常用波特率:300、1200、2400、4800、9600、14400、19200、28800、38400、57600、或115200bps。也可设定为其它波特率。

语法:

Serial.begin(speed) //串口0

Serial1.begin(speed) //串口1

Serial2.begin(speed) //串口2

Serial3.begin(speed) //串口3

参数:

speed:波特率(long型)

返回:无

3.关闭指定串口

描述:关闭指定串口,允许相应的RX 和TX引脚用做普通的输入输出口。

语法:

Serial.end()//串口0

Serial1.end()//串口1

Serial2.end()//串口2

Serial3.end()//串口3

参数:无

返回:无

4.ASCII文本打印函数1

描述:从串行端口输出数据为ASCII文本。浮点数同样打印为ASCII数字,默认为两位小数。字节发送单个字符。

语法:

Serial.print(val)

Serial.print(val, format)

参数:

val:要打印的值,可以是任何数据类型;

format: 指定的数据类型或小数位数

BIN (binary, or base 2),

OCT (octal, or base 8),

DEC (decimal, or base 10),

HEX (hexadecimal, or base 16).

如果用数字表示代表小数点位数。

返回:无

5.ASCII文本打印函数2

描述:从串行端口输出数据为ASCII文本后跟一个回车字符(ASCII 13,或―\ r‖)和一个换行符(ASCII 10,或―\ n‖)。其它同print函数。

语法:

Serial.println(val)

Serial.println(val, format)

6.读串口数据函数

描述:读串口数据。

语法:

Serial.read()

Serial1.read()

Serial2.read()

Serial3.read()

参数:无

返回:第一个字节有效(-1 没有数据) – int。

7.写串口数据函数

描述:写二进制数据到串口. 发送一个或多个字节;

语法:

Serial.write(val)

Serial.write(str)

Serial.write(buf, len)

其它串口也支持: Serial1, Serial2, Serial3

参数:

val: 单字节发送的数值

str: 发送字串

buf:发送数组

len: 缓冲区长度

返回:返回写的字节数,但是阅读这个数值是可选的。

实验参考程序:

void setup() {

Serial.begin(9600); //打开串口0,设置传输波特率为9600bps

}

int thisByte = 33;

void loop() { //将33~126数值以十进制、十六进制、八进制、二进制形式打印出来

Serial.write(thisByte);

Serial.print(", dec: ");

Serial.print(thisByte);

Serial.print(", hex: ");

Serial.print(thisByte, HEX);

Serial.print(", oct: ");

Serial.print(thisByte, OCT);

Serial.print(", bin: ");

Serial.println(thisByte, BIN);

if(thisByte == 126) {

while(true) {

continue;

}

}

thisByte++;

}

实验步骤:

1.ARDUINO ARM 开发板MircoUSB Programming Port口与PC机通过USB线连接,电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

2.运行Arduino IDE集成开发环境;

3.编写实验程序;

4.选择使用的Arduino开发板—Ardunio DUE;

5.选择程序下载串口—每台机器有可能不一样;

6.编译、下载程序;

7.打开串口调试界面,指向图标按鼠标左键,查看运行结果。

实验三外部中断实验

实验内容:外部中断接KEY0,发生变化产生一次中断。中断一次PWM13引脚变化一次,SW0控制KEY0中断允许、禁止;SW1开关控制总中断的开关。

实验电路:PWM13电路如图2-13所示。Arduino ARM开发板上PWM13 LED指示灯为L。

图2-13 PWM13控制电路原理图

SW0、SW1、KEY0实验电路请参考Arduino ARM开发板介绍。

SW0、SW1、KEY0与Arduino DUE引脚的对应关系如表2-2所示。

表2-2 W0、SW1与Arduino DUE引脚对应关系

实验相关库函数:

Arduino 封装了下面几个函数供中断使用:

1.开启指定中断函数

描述:当发生外部中断时,调用一个指定函数。当中断发生时,该函数会取代正在执行的程序。Arduino Due 板有强大的中断能力,允许全部可用的引脚产生中断,在attachInterrupt()函数中能够直接指定引脚号。

语法:attachInterrupt(pin, function, mode)

Pin:引脚号

function:当中断发生时调用该函数,该函数必须不带任何参数,不返回任何内容。这个函数是中断服务程序。

mode:定义中断触发方式,有5种:

LOW:低电平触发

CHANGE:电平发生变化触发

RISING:引脚从低到高触发(上升沿)

FALLING:引脚从高到低触发(下降沿)

HIGH:高电平触发

返回:无

2. 关闭指定中断函数

描述:关闭指定的中断。

语法:detachInterrupt(pin)

参数:pin:禁用中断的引脚号

3.开启总中断函数

描述:重新开启中断(他们已经由noInterrupts()禁用)。

语法:interrupts()

参数:无

返回:无

4. 禁止总中断函数

描述:禁用中断(你可以用interrupts()重新启用它们)。

语法:noInterrupts()

参数:无

返回:无

实验参考程序:

int pinled = 13;

int KEY0 = 43;

int SW0 = 41;

int SW1 = 40;

volatile int state = LOW;

int swstate;

void setup()

{

pinMode(pinled, OUTPUT); //设置PWM13为输出

pinMode(SW0, INPUT); //设置SW0为输入

pinMode(SW1, INPUT); //设置SW1为输入

//设置KEY0所接引脚43发生变化产生中断,中断服务函数是blink()

attachInterrupt(KEY0, blink, CHANGE);

swstate = HIGH;

}

void loop()

{

if(digitalRead(SW1))

interrupts(); //SW1=1时,开总中断

else

noInterrupts(); // SW1=0时,关总中断

if(digitalRead(SW0)!=swstate) //SW0控制KEY0中断允许、禁止

{

if(digitalRead(SW0) == HIGH) //SW0=1时允许KEY0中断

{

attachInterrupt(KEY0, blink, CHANGE);

swstate = HIGH;

}

else

{

detachInterrupt(KEY0); //SW0=0时禁止KEY0中断

swstate = LOW;

}

}

digitalWrite(pinled, state); //

}

void blink() //中断服务函数

{

state = !state;

}

实验步骤:

1.ARDUINO ARM 开发板MircoUSB Programming Port口与PC机通过USB线连接,电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

2.运行Arduino IDE集成开发环境;

3.编写实验程序;

4.选择使用的Arduino开发板—Ardunio DUE;

5.选择程序下载串口—每台机器有可能不一样;

6.编译、下载程序;

7.调试程序:

1)SW1=1、SW0=1(开总中断、允许KEY0中断)

按KEY0按钮,观察PWM13指示灯L的变化

2)SW1=1、SW0=0(开总中断、禁止KEY0中断)

按KEY0按钮,观察PWM13指示灯L的变化

3)SW1=0、SW0=1(关总中断、允许KEY0中断)

按KEY0按钮,观察PWM13指示灯L的变化

4)SW1=0、SW0=1(关总中断、允许KEY0中断)

按KEY0按钮,观察PWM13指示灯L的变化

5)总结中断控制方法。

实验四AD转换实验

实验内容:读取Arduino ARM开发板上光敏电阻值。

实验电路:实验电路请参考Arduino ARM开发板介绍。

光敏电阻连接到Arduino DUE板上的模拟引脚A10上。

实验相关库函数:

Arduino 封装了下面几个函数供AD转换使用:

1. 设置AD分辨率函数

描述:设置AD读分辨率,默认10位,analogRead()的返回值在0-1023之间。SAM3X8E 是12位分辨率,可以通过改变为分辨率为12,analogRead()的返回值在0到4095之间。

语法:analogReadResolution(bits)

参数:bits:AD转换位数,可以设置1~32,实际位数是12位。

返回:无

2. 读AD转换值函数

描述:从指定的AD输入引脚读转换值。

语法:analogRead(pin)

参数:pin: AD输入的通道号0-11。

返回:int

实验程序:

int sensorPin = A10; // select the input pin for the potentiometer

int sensorValue = 0; // variable to store the value coming from the sensor

void setup() {

Serial.begin(9600) ; 打开串口0,设置传输波特率为9600bps

analogReadResolution(12);//设置AD转换分辨率为12位

}

void loop() {

sensorValue = analogRead(sensorPin); //读光敏电阻值

Serial.println(sensorValue, DEC); //通过串口打印

delay(1000); //延时1秒

}

实验步骤:

1. ARDUINO ARM 开发板MircoUSB Programming Port口与PC机通过USB线连接,电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

2.运行Arduino IDE集成开发环境;

3.编写实验程序;

4.选择使用的Arduino开发板—Ardunio DUE;

5.选择程序下载串口—每台机器有可能不一样;

6.编译、下载程序;

7.打开串口调试界面,指向图标按鼠标左键。

1)改变光敏电阻受光情况,查看运行结果。

2)将analogReadResolution(12);改为:analogReadResolution(10); 查看运行结果。

实验五PWM实验

实验内容:在Arduino ARM 开发板PWM8引脚输出可变占空比PWM波形。

实验电路:实验电路请参考Arduino ARM开发板介绍。

实验相关库函数:

Arduino 封装了下面几个函数供DA及PWM转换使用:

1. 设置DA或PWM转换分辨率函数

描述:设置analogWrite()函数的分辨率,缺省是8位(0-255),DUE是12位,通过设置为12,可以使用analogWrite()在0到4095之间的值。

语法:analogWriteResolution(bits)

参数:bits:决定analogWrite()函数的转换位数。值的范围可以从1到32。

返回:无

Arduino Due PWM 周期是近似1KHz(999.989Hz)

2. 写DA或PWM转换值函数

描述:写数模转换值到DA转换器或PWM

语法:analogWrite(pin, value)

参数:

pin: DA或PWM转换引脚号.

value:DA转换值或PWM占空比

返回:无

实验程序:

void setup(){

analogWriteResolution(12); //设置PWM转换分辨率为12位

}

void loop(){

int i;

for(i=0;i<4096;i++)

{

analogWrite(8,i );

delay(5);

}

}

实验步骤:

1.ARDUINO ARM 开发板MircoUSB Programming Port口与PC机通过USB线连

接,电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

2.运行Arduino IDE集成开发环境;

3.编写实验程序;

4.选择使用的Arduino开发板—Ardunio DUE;

5.选择程序下载串口—每台机器有可能不一样;

6.编译、下载程序;

7.将示波器探头连接至PWM8引脚,观察波形。

8.改动analogWriteResolution(12)--analogWriteResolution(8),for(i=0;i<4096;i++) --for(i=0;i<256;i++)重新下载程序,观察波形。

实验六DA转换实验

实验内容:在Arduino ARM 开发板DAC0引脚输出三角波

实验相关库函数:参见实验五

实验参考程序:

void setup(){

analogWriteResolution(12); //设置DA转换分辨率为12位

}

void loop(){

int i;

for(i=0;i<4095;i++)

analogWrite(DAC0,i );

for(;i>0;i--)

analogWrite(DAC0,i );

}

实验步骤:

1.ARDUINO ARM 开发板MircoUSB Programming Port口与PC机通过USB线连

2.接,电源选择短路子接USBB端,波动开关拨到上方打开电源,电源指示灯ON亮。

3.运行Arduino IDE集成开发环境;

4.编写实验程序;

5.选择使用的Arduino开发板—Ardunio DUE;

6.选择程序下载串口—每台机器有可能不一样;

7.编译、下载程序;

8.将示波器探头连接至DAC0引脚,观察波形。

实验七Arduino DUE定时实验

实验内容:定时中断控制PWM13引脚周期性变化。

实验电路:实验电路请参考Arduino ARM开发板介绍。

实验相关库函数:

在\arduino-1.5.5\libraries\DueTimermaster库封装了下面几个函数供DUE定时器使用:

1. Timer.attachInterrupt()

描述:当发生定时器中断时,调用一个指定函数。

语法:

Timer0.attachInterrupt(myHandler);

Timer1.attachInterrupt(myHandler);

Timer2.attachInterrupt(myHandler);

Timer3.attachInterrupt(myHandler);

Timer4.attachInterrupt(myHandler);

Timer5.attachInterrupt(myHandler);

Timer6.attachInterrupt(myHandler);

Timer7.attachInterrupt(myHandler);

Timer8.attachInterrupt(myHandler);

参数:

myHandler:当定时中断发生时调用该函数,该函数必须不带任何参数,不返回任何内容。

2.Timer.start()

描述:设置时间后启动定时。

语法:

Timer0.start(long microseconds);

Timer1.start(long microseconds);

Timer2.start(long microseconds);

Timer3.start(long microseconds);

Timer4.start(long microseconds);

Timer5.start(long microseconds);

Timer6.start(long microseconds);

Timer7.start(long microseconds);

Timer8.start(long microseconds);

参数:

Microseconds:定时时间,单位是微秒。

3. Timer.stop();

描述:停止定时器工作。

语法:

Arduino可穿戴开发入门教程

Ard duin no 可可穿(内ww 穿戴开内部资料大学霸ww.daxue 开发料) 霸 https://www.doczj.com/doc/8c7199951.html, 发入门门教 教程

前 言 在可穿戴技术高度被关注的今天,可穿戴技术与最热开源硬件Arduino碰撞到一起,迸发闪亮的火花——LilyPad。LilyPad是Arduino官方出品的一款为可穿戴和电子织设计的微控制器板。除了微控制器之外,它还提供了配套的一系列外设,如LED、振动马达、蜂鸣器以及三轴陀螺仪等。 在本教材中,针对LilyPad的特点和定位,以不同于其他Arduino系列控制板的方式对LilyPad是什么,以及它可以做什么进行了详细的介绍。 最后,在教程中还实现了3个切实可用的项目。大家只要将他们缝纫起来就可以使用了。特别是最后的POV手环,那是非常炫酷的。 许多教材是在学习的同时做出项目,而本教材则更偏向在做项目的同时学习。在做完所有这些项目之后,你的眼界将会被开阔,各种奇思妙想会接踵而至。你一定会在有限的LilyPad硬件上做出无限可能的设计。 1.学习所需的系统和软件  的开发可以在三大主流操作系统Windows、OS X和Linux上进行,本教材主要集中?Arduino 在Windows操作系统;  的开发环境是Arduino IDE,它的安装和使用都非常方便,在教材中也有所介绍。 ?Arduino 2.学习建议 大家购买器件之前,建议大家先初略阅读本书内容,以确定项目中可能需要用到的器件。这样可以避免重复多次购买,或者购买到不需要的器件。

目 录 第1章 LilyPad Arduino概览 (1) 1.1 可穿戴技术和电子织物 (1) 1.2 LilyPad各模块简介 (1) 1.2.1 控制器板 (1) 1.2.3 输出模块 (3) 1.2.4 输入模块 (3) 1.2.5 电源模块 (4) 1.2.6 编程器模块 (5) 1.2.7 LilyPad套装 (5) 1.3 缝纫基础 (6) 1.4 LilyPad和LilyPad Simple (10) 1.4.1 LilyPad (10) 1.4.2 LilyPad Simple (11) 1.5 本书写作思想 (12) 第2章开发环境 (13) 2.1 Arduino IDE (13) 2.1.1 安装包下载 (13) 2.1.2 Windows平台下安装Arduino IDE (15) 2.1.3 Linux平台下安装Arduino IDE (18) 2.2 认识IDE (18) 2.2.1 启动Arduino IDE (18) 2.2.2 新建源文件 (20) 2.2.3 编辑源文件 (21) 2.2.4 保存源文件 (23) 2.2.5 打开已经存在的源文件 (24) 2.3 连接LilyPad (25) 2.3.1 Windows平台的驱动 (25) 2.3.2 Linux平台的驱动 (26) 2.4 Blink (27) 2.4.1 打开官方示例 (27) 2.4.2 连接硬件 (28) 2.4.3 选择板子 (28) 2.4.4 选择端口 (29) 2.4.5 上传程序 (31) 2.4.6 观察运行结果 (31) 第3章Arduino语言基础 (33)

基于Arduino的电压有效值测量电路设计与实现v1

综合实验1 一、实验题目 基于Arduino的电压有效值测量电路设计与实现 二、项目背景 Arduino是源自意大利的一个基于开放原始码的软硬件平台,该平台包括一片具备简单I/O功效的电路板以及一套使用类似Java、C语言的Processing/Wiring开发环境。Arduino 可用来开发独立运作、并具互动性的电子产品,也可以开发与PC相连的周边装置,同时能在运行时与PC上的软件进行交互。 Arduino的电路板硬件可以自行焊接组装,也可以购买已组装好的成品;而开发环境软件则可通过网络免费下载与使用。目前Arduino的硬件部分支持Atmel的A Tmega 8、ATmega 168、ATmega 328等微处理器。此外,Arduino方案获得2006年Prix Art Electronica电子通讯类方面的荣誉奖。Arduino的硬件电路参考设计部分是以知识共享(Creative Commons;CC)形式提供授权,相应的原理图和电路图都可以从Arduino网站上获得。 Arduino特点: ●开放原始码的电路图设计,程式开发界面免费下载,也可依需求自己修改; ●具有多通道的数字I/O、模拟输入、PWM输出; ●具有10bit的ADC; ●Arduino 可使用ISCP线上烧入器,自行将新的IC芯片烧入“bootloader”; ●可依据官方电路图,简化Arduino模组,完成独立运作的微处理控制; ●可快速、简单、方便地与传感器、各式各样的电子元件、电子电路进行连接; ●支援多样的互动程序,如Flash、Max/Msp、VVVV、Processing等; ●使用低价格的微处理控制器; ●可通过USB接口供电。 三、实验目的 1、熟悉Arduino最小系统的构建和使用方法;

Arduino 电子积木基础套装中文教程

Arduino 入门版使用教程 V0.2
https://www.doczj.com/doc/8c7199951.html,
Arduino 入门版使用教程
DFRduino Starter kit User Manual
版本号:V 0.22 最后修订日:2010 09 10
仅供内部评测使用,请勿外传
第 1 页 共 90 页

Arduino 入门版使用教程 V0.2
https://www.doczj.com/doc/8c7199951.html,
目录
介绍 ......................................................................................................................................................... 3 元件清单 ............................................................................................................................................. 3 Arduino 介绍篇 .................................................................................................................................... 4 概 述 ................................................................................................................................................... 4 Arduino C 语觊介绍............................................................................................................................. 5 结极 ..................................................................................................................................................... 8 功能 ..................................................................................................................................................... 8 Arduino 使用介绍............................................................................................................................... 10 面包板使用介绍 ................................................................................................................................... 29 实验篇 ................................................................................................................................................... 31 第一节 多彩 led 灯实验 ................................................................................................................. 31 第二节 蜂鸣器实验 ......................................................................................................................... 42 第三节 数码管实验 ......................................................................................................................... 47 第四节 按键实验 ............................................................................................................................. 54 第五节 倾斜开关实验 ..................................................................................................................... 64 第六节 光控声音实验 ................................................................................................................... 68 第七节 火焰报警实验 ................................................................................................................... 71 第八节 抢答器实验 ......................................................................................................................... 75 第九节 温度报警实验 ..................................................................................................................... 80 第十节 红外遥控 ............................................................................................................................. 84
仅供内部评测使用,请勿外传
第 2 页 共 90 页

北邮arduino实验报告

电子电路综合实验设计 实验名称: 基于 Arduino 的电压有效值测量电路设计与实现 学院: 班级: 学号: 姓名: 班内序号:

实验 基于Arduino 的电压有效值测量电路设计与实现 一. 摘要 Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运行时与PC 上的软件进行交互。为了测量正弦波电压有效值,首先我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏表测量的值相同。根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。 关键字:半波整流整流滤波 Arduino最小系统读取电压有效值 二. 实验目的 1、熟悉Arduino 最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标通过分析计算确定电路形式和元器件参数; 4、画出电路原理图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino 系统编程方法。 三. 实验任务及设计要求 设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。 1、基本要求 (1)实现Arduino 最小系统,并能下载完成Blink 测试程序,驱动Arduino 数字13 口LED 闪烁; (2)电源部分稳定输出5V 工作电压,用于系统供电; (3)设计峰值半波整流电路,技术指标要求如下:

Arduino手把手系列教程

——什么是Arduino/Arduino是什么 Arduino是一块简单、方便使用的通用GPIO接口板,并可以通过USB接口和电脑通信。 作为一块通用IO接口板,Arduino提供丰富的资源,包括: 13个数字IO口(DIO数字输入输出口); 6个PWM输出(AOUT可做模拟输出口使用); 5个模拟输入口(AIN模拟输入)。 Arduino开发使用java开发的编程环境,使用类c语言编程,并提供丰富的库函数。 Arduino可以和下列软件结合创作丰富多彩的互动作品:Flash,Processing,Max/MSP,VVVV…等。 Arduino也可以用独立的方式运作,开发电子互动作品,例如:开关控制Switch、传感器sensors输入、LED等显示器件、各种马达或其它输出装置。 下面是Arduino的硬件实物图片: Arduino实物图

——Arduino可以做什么 目前计算机的输入和输出设备,大家常见的、也是大家做熟悉的就是:键盘(输入)、鼠标(输入)、麦克(输入)和音响(输出)、显示器(输出);对于一些玩游戏的朋友可能还包括游戏杆(输入),做音乐的可能还会接触到MIDI (输入)。 上述设备都很专业,功能也非常专一。你没办法让键盘给你唱歌,同样,你也没办法让音响替你输入文本。 Arduino更像是一种半成品,它提供通用的输入输出接口。你可以通过编程,把Arduino加工成你需要的输入输出设备。 你可以把Arduino做成键盘、鼠标、麦克等输入设备;你也可以把Arduino做成音响、显示器等输出设备。最重要的是,你可以把Arduino做成任何你希望的互动工具(输入和输出)。 如果你愿意,或者你需要,你完全可做使用Arduino开发出一个会唱歌的键盘或者一个让你的音响替你打字。(夸张的说法) 总之,Arduino是什么,是根据你的需求来确定的。你跟电脑之间的交互,从此插上了翅膀。

Arduino 温湿度传感器DHT11模块实验

Arduino温湿度传感器DHT11模块实验 网上有很多DHT11的测试,试了N个程序,总是不得要领,各种报错,最后终于找到一套可用的库。 首先是DHT11.h文件 1.#ifndef__DHT11_H__ 2.#define__DHT11_H__ 3.#include 4.//DHT11IO设置 5.#define DHT11_DQ2 6.#define DHT11_DQ_0digitalWrite(DHT11_DQ,LOW) 7.#define DHT11_DQ_1digitalWrite(DHT11_DQ,HIGH) 8. 9.//函数或者变量声明 10.extern void DHT11_Init(); 11.extern unsigned char DHT11_Read_Byte(); 12.extern void DHT11_Read(); 13. 14.extern unsigned char HUMI_Buffer_Int; 15.extern unsigned char TEM_Buffer_Int; 16. 17.#endif 其次是DHT11.cpp文件 1.#include"DHT11.h" 2.//定义变量 3.unsigned char HUMI_Buffer_Int=0; 4.unsigned char TEM_Buffer_Int=0; 5.//**************************************************** 6.//初始化DHT11 7.//**************************************************** 8.void DHT11_Init() 9.{ 10.pinMode(DHT11_DQ,OUTPUT); 11.DHT11_DQ_0;//拉低总线,发开始信号; 12.delay(30);//延时要大于18ms,以便DHT11能检测到开始信号; 13.DHT11_DQ_1; 14.delayMicroseconds(40);//等待DHT11响应; 15.pinMode(DHT11_DQ,INPUT); 16.while(digitalRead(DHT11_DQ)==HIGH); 17.delayMicroseconds(80);//DHT11发出响应,拉低总线80us;

智能插座实验报告

本科实验报告 课程名称:电子电路设计实验 姓名:XX(20组)周四下午学院:信息与电子工程学院 专业:电子科学与技术 学号:XXX 指导教师:李锡华 20 15年11月4日

实验报告 课程名称:_____电子电路设计实验______指导老师:___李锡华_____成绩:______________ 实验名称:_智能插座的安装与测试 实验类型:_____________同组学生姓名:___XX_____ 一、实验目的 二、实验任务与要求 三、实验方案设计与实验参数计算(3.1 总体设计、3.2 各功能电路设计与计算、3.3完整的实验电路……) 四、主要仪器设备 五、实验步骤与过程 六、实验调试、实验数据记录 七、实验结果和分析处理 八、讨论、心得 一、 产品研发过程中的电装与调试 思考题1:对照上述插座输出控制电路的测试分析其原理,要求写在报告中。 (输出控制电路如图右) IOH (input output hub )能够保证输出电压在一定的稳定状态。在测试时,先用万用表测出IOH 三,四脚间电压为5V 。用杜邦线连接IOH 第三脚和power 的第三脚,打开开关,经过很短一段时间(0.5s 内),LED1发光,原理是接通后继电器J1闭合。这 说明IO10及对应放大电路正常工作。然后,用杜邦线连接IOH 第二脚(另一脚不变),打开开 关,LED2发光,说明J2正常闭合,IO9正常工作。 思考题:右图这部分电路的作用? 右图所示的电路是实验的输入控制电路, 按下压降开关,电路通过USB 接口通入5V 的电流,电容起整流作用。 思考题2:请详述你在本次电装过程中采用的工序,并解释其选择原因,分析其得失,并总结其中的经验教训。要求写在报告中。 证词电装过程采取模块化分步安装,先是焊接部分电路,然后调试,一切正常后再进行下一步工作。这是因为智 能插座是一个较为复杂的整体,如果先全部完成再进行调试,一旦出现问题很难查出。而且此种方法能够更加适合大规模的生产。 在此次实验过程中,我和同组队员较好完成了分工合作。一人读取电阻阻值,看清图纸,另一人专心焊接,较快完成了任务。但是,此次实验要求比以往更高,许多元件脚相隔很近,有些地方又需要大量焊锡。在实验中出现了两次脚间焊锡“短路”的现象,不过在老师帮助下解决了,后期吸取了经验教训,很大

arduino 创新训练 实验报告

贵州大学大数据与信息工程学院创新训练与设计性实验报告 学院:大数据与信息工程学院 专业:电子信息科学与技术 班级:电科151 学号:1500890129 150890141 学生姓名:蒋帅朱亮 指导教师:周骅 2017年7月12 日

图一 超声波HC-SR04模块 贵 贵州大学大数据与信息工程学院实习报告 第 1 页 基于Arduino UNO 的倒车雷达系统设计与实现 一、 设计目标 利用Arduino UNO 设计倒车雷达系统的功能: 1、 利用超声波模块 HC-SR04 实现避障功能,并可以通过Arduino 的串口监视器读取距离的参数; 2、 利用蜂鸣器模块实现不同频率的警报声音; 3、 利用贴片式RBG LED 实现不同颜色的警报灯光。 二、 设计思路 超声波模块(如图一)的原理是使超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。声波在空气中的传播速度为340m/s ,根据计时器记录的时间t ,就可以计算出发射点距障碍物的距离s ,即: ,作用为测距。

贵州大学大数据与信息工程学院实习报告 第 2 页 将超声波模块的Echo 引脚设置为输入模式,Trig 引脚设置为IO 脚模式,通过Trig 引脚发送脉冲触发HC-SR04 测距,并输出测得的距离值。设置不同的距离值范围,使之输出不同的函数,不同的函数将会输出不同的电平输入至LED (如图二)和蜂鸣器(如图三),然后使LED 与蜂鸣器输出不同的结果,即不同颜色的灯光和不同频率的蜂鸣声。 三、 设计内容 本次实验使用的Arduino 主板的型号为UNO (如图四),编程程序为Arduino IDE (如图五)。 图二 贴片式RBG LED 灯 图三 无源蜂鸣器 图四 Arduino UNO 图五 Arduino IDE 界面

Arduino -8位LED灯显示电位器位置电路设计实验报告

ARDUINO -8位LED灯显示电位器位置电路设计实验报告 2018年12月

Arduino -8位LED灯显示电位器位置电路设计实验报告 一、实验目的 通过电路设计、编程、硬件连接调试等实现用8位LED灯显示电位器的位置的简单功能 二、硬件设备 笔记本电脑、单片机、面包板、8个LED灯、电位器、杜邦线、下载线等。 三、所需软件 编程软件:官方标准开发软件arduino-1.8.8-windows 四、画连线图 图1共阳极连线图

五、控制程序 // 引脚定义 const int analogPin = A0; // 模拟输入 const int ledCount = 8; // led个数,静态常量,不可改动 int ledPins[] = { 1,2, 3, 4, 5, 6, 7,8 }; // 对应的led引脚 void setup() { // 循环设置,把对应的led都设置成输出 for (int thisLed = 0; thisLed < ledCount; thisLed++) { pinMode(ledPins[thisLed], OUTPUT); } } void loop() { // 读取电位器的值 int sensorReading = analogRead(analogPin); // 把对应的值转化成0-最大led个数,这里是8 int ledLevel = map(sensorReading, 0, 1023, 0, ledCount); // 循环对比输出到led: for (int thisLed = 0; thisLed < ledCount; thisLed++) { if (thisLed < ledLevel) { digitalWrite(ledPins[thisLed], HIGH); } else { digitalWrite(ledPins[thisLed], LOW); } } } 六、连接调试 将程序保存。连接实物,搭建硬件平台,将程序下载到单片机中,如图2所示。调节电位器到不同的位置,观察LED的量灭情况。(另附视频于附件中)

Arduino入门教程(13)—彩灯调光台

Arduino 入门教程(13)—彩灯调光台 我们已经接触过 RGB LED 了,可以实现变色,这回儿我们需要加入互动元素进去。通过三个电位器来任意变换对应的R、G、B,组合成任何你想要的颜色,在家做个心情灯吧,随心情任意切换。 所需材料 1×5mm RGB LED 灯 3×220 欧电阻 3×10K 电位器 STEP 1:硬件连接 STEP 2:输入代码 1. int redPin = 9;// R – digital 9 2. int greenPin = 10;// G – digital 10 3. int bluePin = 11;// B – digital 11 4. // 电位器1 – analog 0 int potRedPin = 0;

5. int potGreenPin = 1; // 电位器2 – analog 1 6. int potBluePin = 2; // 电位器3 – analog 2 7. 8. void setup(){ 9. pinMode(redPin,OUTPUT); 10. pinMode(greenPin,OUTPUT); 11. pinMode(bluePin,OUTPUT); 12. Serial.begin(9600); // 初始化串口 13. } 14. 15. void loop(){ 16. int potRed = analogRead(potRedPin); // potRed存储模拟口 0读到的值 17. int potGreen = analogRead(potGreenPin); // potGreen存储模拟 口1读到的值 18. int potBlue = analogRead(potBluePin); // potBlue存储模拟口 2读到的值 19. 20. int val1 = map(potRed,0,1023,0,255); //通过map函数转换 为0~255的值 21. int val2 = map(potGreen,0,1023,0,255); 22. int val3 = map(potBlue,0,1023,0,255); 23. 24. //串口依次输出Red,Green,Blue对应值 25. Serial.print("Red:"); 26. Serial.print(val1); 27. Serial.print("Green:"); 28. Serial.print(val2); 29. Serial.print("Blue:"); 30. Serial.println(val3); 31. 32. colorRGB(val1,val2,val3); // 让RGB LED 呈现对应颜色 33. } 34. 35. //该函数用于显示颜色 36. void colorRGB(int red, int green, int blue){

arduino实验2

集美大学计算机工程学院实验报告 课程名称:嵌入式系统应用班级:实验成绩: 指导教师:黄斌姓名: 实验项目名称:学号:上机实践日期: 10.23 实验项目编号:02组号:上机实践时间:5-6 一、目的(本次实验所涉及并要求掌握的知识点) a) 掌握嵌入式软件设计中的状态机和循环缓冲器 二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析) a) 利用状态机完成一个简单的嵌入式设计。你的设计必须有一定的现实意义,生活中有许多基于状态机的设计,比如智能台灯、儿童玩具等等。(如果你没有足够的元器件完成你的设计,你可以使用LED 模拟输出,数字输入引脚的高低电平信号来模拟输入。当然,你需要在报告里描述清楚你的设计。) 智能台灯,通过光照传感器来识别环境亮度,判断亮度是否足够。再通过声音传感器,来判断是否需要点亮台灯。 设计三种状态来实现,状态1:晚上状态。状态2:亮灯状态。状态3:灭灯状态。 #define DAYTIME 0 #define NIGHT 1 #define LIGHTING 2 #define DARK 3 unsigned long tttime;//计时器计时 unsigned int state = DAYTIME; //状态机状态 int light_sensor = 2; // 光照传感器引脚 bool light = 0; // 光照传感器读数 int belt_sensor = 3; // 声音传感器引脚 bool belt = 0; //声音传感器读数 int led = 4; //LED 灯引脚 void setup() { Serial.begin(9600); pinMode(light_sensor, INPUT); pinMode(belt_sensor, INPUT); pinMode(led, OUTPUT); } void loop() { light = digitalRead(light_sensor);

Arduino开发环境教程

Sonxun
开发环境教程 Aduino 开发环境教程
1.1 程序开发流程
Arduino 开发环境
在计算机中有着许多不同的程序,有的跟系统有关,负责处理硬件之间的数据交换及命 令控制,如操作系统(Operating System,OS)、编译程序(Compiler)等。有的程序则是架构在 系统程序之上,可以满足使用者的部分需求,如 Office、游戏、多媒体播放程序等。 在做微处理器的程序开发时,最关键的一步就是将程序编译成单片机看得懂的机器语言, 而这部分工作由计算机上的相关程序来执行。一般来说,微处理器的系统开发商都会搭配特 定软件供开发者编写其应用程序。 不同于高阶 的程序设计语言, 目前常用于单片机系统的程 序代码为汇编语言(Assembly)、 C/C++等种类。 典型的程序开发流程如右图所示, 设计完系统 所要的执行程序后,再编译成扩展名为.hex 的特殊格式的程序文件, 微处理器就能看得懂 了。接下来,就可以把程序下载、烧录到单片 机中,测试结果是否符合你的预期了。 1.1.1 编辑 这是开发的第一个步骤:产生程序代码。相信很多人听说过:程序厉害的人用记事本程 序就可以工作了。这句话只说对了一半,因为记事本只能帮你记录下整个程序的流程、函数、 所引用的函数库等,编写完毕后另存成扩展名为.c、.cpp 等。不过,一个专属的程序开发环 境,还可以帮你管理项目内的多个程序,也可以利用颜色高亮来区分程序代码类的内容在这 个阶段,大家习惯的编辑环境不一样,只要使用方便即可。还是希望初学者能够找寻到合适 的编辑环境,除了可以帮助编写程序外,也可以省下许多宝贵的时间。 1.1.2 编译 前面说到,计算机、单片机等程序执行时,机器看得懂的只有 010101 的数字信号,而前 面编辑的步骤所使用的语法是为了方便开发者了解每个函数的功能:越高级的语言,越能让 开发者更直观了解函数的功能,程序所占的空间也会相应增加。这个阶段的工作就是将我们 编辑完的文字文件转换成机器码。这个步骤会帮你检查程序上的错误,并提出警告。因此这 个步骤完成后通常会回到前一个步骤将语法错误、逻辑错误的地方进行修正,直到编译器没 有产生错误提示为止。 但是,在开发单片机的程序是,特别要注意的是看不见的错误,举例来说:系统接着 5 个 LED 发光二极管,程序目标是要控制第二个的明暗变化,不过在程序编辑时,不小心将控 制目标变成了第四个,这样的错误在编译时是不会看到的,只有程序执行时才会发现错误, 你可能还会怀疑是否是硬件电路接错了,实际上却是程序的编辑错误。这种问题的发生在单 片机的开发过程中很常见,所以要特别注意。 1.1.3 链接 当我们的项目程序越来越大时,为了方便管理,通常会根据功能分成不同的文件,链接 的作用就是寻找程序当中所有用到的功能模块、内建函数库原始程序的位置,再与主程序结 合成为一个可执行文件。这时候产生的错误,可能是你使用了某个函数,却没有将其路径正 确引用,造成链接错误,此时便会提出警告。例如,使用数学相关的函数 MAX()、SIN()等, 都要引用 math.h 这个头文件。
https://www.doczj.com/doc/8c7199951.html,
松迅科技

步进电机实验报告

步进电机实验报告 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

Arduino步进电机实验报告 步进电机是将电信号转变为或的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制来控制电机转动的和,从而达到调速的目的。 实验目的: (1)了解步进电动机工作原理。 (2)熟悉步进电机驱动器使用方法。 (3)掌握步进电动机转向控制编程。 实验要求: (1)简要说明步进电动机工作原理。 (2)熟记步进电机驱动器的使用方法。 (3)完成步进电动机转速转向控制编程与实现。 (4)提交经调试通过的程序一份并附实验报告一份。 实验准备: 1. ArduinoUNOR3开发板 Arduino是一块基于开放原始代码的Simplei/o平台,并且具有开发语言和开发环境都很简单、易理解的特点。让您可以快速使用Arduino做出有趣的东西。它是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序的开发环境组成。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。Arduino项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:Flash,Processing,MaxMSP)进行通讯。

Arduino教程(非常适合初学者)

Arduino 教程一 数字输出 教程一:
Arduino, 教程 11 Comments ?
Arduino 的数字 I/O 被分成两个部分,其中每个部分都包含有 6 个可用的 I/O 管脚,即管脚 2 到管脚 7 和管脚 8 到管脚 13。除了管脚 13 上接了一个 1K 的电阻之外,其他各个管脚都直接连接到 ATmega 上。我们可以利用一个 6 位的数字跑马灯,来对 Arduino 数字 I/O 的输出功能进行验证,以下是相应的原理图: 电路中在每个 I/O 管脚上加的那个 1K 电阻被称为限流电阻, 由于发光二极管在电路中没有等效电阻值, 使用限流电阻可 以使元件上通过的电流不至于过大,能够起到保护的作用。 该工程对应的代码为:
int BASE = 2; int NUM = 6; int index = 0; void setup() { for (int i = BASE; i < BASE + NUM; i ++) { pinMode(i, OUTPUT); } } void loop() { for (int i = BASE; i < BASE + NUM; i ++) { digitalWrite(i, LOW); } digitalWrite(BASE + index, HIGH); index = (index + 1) % NUM; delay(100); }
下载并运行该工程,连接在 Arduino 数字 I/O 管脚 2 到管脚 7 上的发光二极管会依次点亮 0.1 秒,然后再熄灭:
1

这个实验可以用来验证数字 I/O 输出的正确性。Arduino 上一共有十二个数字 I/O 管脚,我们可以用同样的办法验证其他六个管脚的正 确性,而这只需要对上述工程的第一行做相应的修改就可以了:
int BASE = 8;
SEP
01
Arduino 教程二 数字输入 教程二:
Arduino, 教程 3 Comments ?
在数字电路中开关(switch)是一种基本的输入形式,它的作用是保持电路的连接或者断开。Arduino 从数字 I/O 管脚上只能读出高电 平(5V)或者低电平(0V),因此我们首先面临到的一个问题就是如何将开关的开/断状态转变成 Arduino 能够读取的高/低电平。解 决的办法是通过上/下拉电阻,按照电路的不同通常又可以分为正逻辑(Positive Logic)和负逻辑(Inverted Logic)两种。 在正逻辑电路中,开关一端接电源,另一端则通过一个 10K 的下拉电阻接地,输入信号从开关和电阻间引出。当开关断开的时候, 输入信号被电阻“拉”向地,形成低电平(0V);当开关接通的时候,输入信号直接与电源相连,形成高电平。对于经常用到的按压式 开关来讲,就是按下为高,抬起为低。 在负逻辑电路中,开关一端接地,另一端则通过一个 10K 的上拉电阻接电源,输入信号同样也是从开关 和电阻间引出。当开关断开时,输入信号被电阻“拉” 向电源,形成高电平(5V);当开关接通的时候,输 入信号直接与地相连,形成低电平。对于经常用到的 按压式开关来讲,就是按下为低,抬起为高。 为了验证 Arduino 数字 I/O 的输入功能,我们可以将 开关接在 Arduino 的任意一个数字 I/O 管脚上(13 除 外),并通过读取它的接通或者断开状态,来控制其 它数字 I/O 管脚的高低。本实验采用的原理图如下所 示,其中开关接在数字 I/O 的 7 号管脚上,被控的发 光二极管接在数字 I/O 的 13 号管脚上:
Arduino 教程三 模拟输入 教程三:
Arduino, 教程 5 Comments ?
2

基于Arduino的电压有效值测量电路设计与实现

北京邮电大学 电子电路综合设计实验报告 学院:信息与通信工程学院 班级: 姓名: 学号:

实验题目:基于Arduino的电压有效值测量电路设计与实现。 摘要:为了了解Arduino最小系统的搭建和编程方法以及半波整流模拟电路的工作原理,通过搭建Arduino最小系统,测试Blink程序,可以驱动Arduino数字13口LED闪烁。采用uA741搭建半波整流电路,加上滤波电路,通过编写程序可以实现在一定误差范围内用数码管读取正弦波电压有效值,并测试了正弦波在不同频率及峰峰值的情况下读取有效值的准确性,可以看出这种情况下的测量范围是有限的。通过这个实验,对Arduino最小系统有了深刻全面的认识,拓宽了眼界,同时通过对半波整流不同电路类型的搭建摸索,对模拟电路滤波有了更深的认识。也发现Arduino最小系统可以有更多有价值的应用。 关键词:Arduino、半波整流、滤波 实验目的:1、熟悉Arduino最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标通过分析计算确定电路形式和元器件参数; 4、画出电路原理图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino系统编程方法。 实验设计: 实验的总体设计分为三部分:Arduino最小系统的实现、半波整流及滤波电路和数码管的显示。三部分连接在一起完成对正弦信号电压有效值的测定。 1、系统组成框图 2、Arduino最小系统的搭建

使用单片机、16M晶振与两个22pf的电容完成最小系统的搭建,但Arduino不光是硬件,需要用Arduino IDE把Bootloader下载进入这个最小的硬件系统中。在单片机的13口接LED灯,通过下载器将blink程序烧入最小系统,可以控制LDE灯的闪烁频率。 同样,根据滤波电路的调测将编写的测量程序写入最小系统就可以较准确地读电压的有效值。 3、半波整流及滤波电路 根据二极管正向导通反向截止的特性,使用LM741完成半波整流电路。因为LM741是双电源供电,但实验器材中只有一个可以提供+5V电压的稳压集成电路7805,为了完成实验,使用两个10k的电阻将5V分压,将+2.5V接入本应接地的3口,从而将地线提高到+2.5V,可以完成LM741单电源的半波整流。交流电源后加的47uf的电容是为了滤低频成分。实验过程中曾尝试使用单电源供电的LM358p进行半波整流,虽然示波器有半波电路,但在仿真过程中出现较大的误差,所以重新使用LM741. 滤波电路采用50Ω电阻和100uf电容串接的RC滤波电路,实验中发现电阻小一些滤波效果比较好,波形更平。 4、数码管的显示 根据数码管的引脚图将数码管与单片机接在一起,单片机接+5V电源,根据烧好的程序,

Arduino总结

Arduino总结 一、基本知识 1、概述: Arduino 是一款便捷灵活、方便上手的开源电子原型平台,它包含硬件(各种型号的arduino板)和软件(arduino IDE).它可以与各种各样的电子器件连接来感知外界的环境,而又可以通过其他电子器件来反馈、影响环境。它们是通过板子上的微控制器Arduino的编程语言来编写程序,编译成二进制文件,烧录进微控制器进行控制。 2、特点: ○1、开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。 ○2、使用低价格的微处理控制器(AVR系列控制器) ○3、可以采用USB接口供电,也可以使用外部供电 ○4、可以与各种各样的电子元器件连接(例如:开关、电阻) ○5、支持各种互动程序 3、功能 由于Arduino与Macromedia Flash, Processing, Max/MSP, Pure Data, SuperCollider等软件结合,作出互动作品。Arduino可以使用现有的电子元件例如开关或者传感器或

者其他控制器件、LED、步进马达或其他输出装置。Arduino也可以独立运行,并与软件进行交互,例如:Macromedia Flash, Processing, Max/MSP, Pure Data, VVVV或其他互动软件。所以可以做出许多互动作品,它适用于艺术家、设计师、爱好者和对于“互动”有兴趣的朋友们。 二、应用实例 1、用开关控制LED灯显示 ○1、硬件连接图 将数字引脚2连接开关的一端,并用一根导线连接实验板的

5v电压,开关另一端接一个电阻,并与主控板的GND相连接。○2、原理 用开关的控制LED灯,当开关按下去的的时,2号引脚为高电平,如果读到2号引脚为高电平,则13号引脚写入高电平,LED灯就亮,反之则灭。 ○3、软件代码实现 void setup() { pinMode(13, OUTPUT);//13引脚为输出模式 pinMode(2, INPUT);//2号引脚为输入模式 } void loop()//循环显示 { if (digitalRead(2)==HIGH )//如果2号引脚为高 digitalWrite(13, HIGH); // set theLEDon else digitalWrite(13, LOW); // set the LED off } ○4、实验总结 运用主控制板的数字输入输出引脚连接外部电子器件可已

相关主题
文本预览
相关文档 最新文档