当前位置:文档之家› arduino学习笔记4 - 蜂鸣器实验

arduino学习笔记4 - 蜂鸣器实验

arduino学习笔记4 - 蜂鸣器实验
arduino学习笔记4 - 蜂鸣器实验

本次实验所用的为下图所示的这种小型无源蜂鸣器

通过上网查询参数,得到其工作电压为5V,和arduino控制板数字端口输出电压一致,所以不需要接电阻。可直接接上使用。

先简单介绍一下这种小型蜂鸣器。

小型蜂鸣器因其体积小(直径只有6mm)、重量轻、价格低、结构牢靠,而广泛地应用在各种需要发声的电器设备、电子制作和单片机等电路中。这种蜂鸣器分有源蜂鸣器与无源蜂鸣器

下图为有源蜂鸣器

下图为无源蜂鸣器

从外观上看,两种蜂鸣器好像一样,如果将蜂鸣器引脚朝上时,可以看到,有绿色电路板的是一种无源蜂鸣器,没有电路板而使用黑胶密封的是一种有源蜂鸣器。从外观上并不能绝对的区分出有源与无源,最可靠的做法除了查看产品的参数手册以外,还有就是使用万用表测试蜂鸣器电阻,只有8Ω或者16Ω的是无源蜂鸣器,电阻在几百欧以上的是有源蜂鸣器。

有源蜂鸣器直接接上额定电源(新的蜂鸣器在标签上都有注明)就可以连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。

简单介绍完蜂鸣器以后先看一下硬件连接示意图

把下面的代码上传到arduino控制板上,看看实验结果。

int buzzer=7;//设置控制蜂鸣器的数字IO脚

void setup()

{

pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为输出

}

void loop()

{

unsigned char i,j;//定义变量

while(1)

{

for(i=0;i<80;i++)//输出一个频率的声音

{

digitalWrite(buzzer,HIGH);//发声音

delay(1);//延时1ms

digitalWrite(buzzer,LOW);//不发声音

delay(1);//延时ms

}

for(i=0;i<100;i++)//输出另一个频率的声音

{

digitalWrite(buzzer,HIGH);//发声音

delay(2);//延时2ms

digitalWrite(buzzer,LOW);//不发声音

delay(2);//延时2ms

}

}

}

复制代码

实验效果如下面视频(需要开音响才能听到蜂鸣器发出的声音)

第一个频率的声音为1毫秒发声1毫秒不发声。1秒等于1000毫秒,2毫秒为一个周期。得出频率为500赫兹。

第二个频率的声音为2毫秒发声2毫秒不发声,4毫秒为一个周期。得出频率为250赫兹。

一个事件的循环就是500赫兹的声音响80毫秒,然后250赫兹的声音响100毫秒。如此循环下去。

while()函数

本次试验使用到了while()函数

在loop()中用while也是一个循环语句,一般形式:

while(表达式)

语句

表达式是循环条件,语句是循环体。语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。其执行过程可用下图表:

作用:实现“当型”循环。当“表达式”非0(真)是,执行“语句”。“语句”是被循环执行的程序,称为“循环体”。

单片机按键控制蜂鸣器发声程序(严选参考)

#include typedef unsigned char uint8; typedef unsigned int uint16; uint8 Count,i; sbit Speak =P1^2; //蜂鸣器器控制脚 sbit key1 =P3^2;//按键控制引脚 sbit key2 =P3^3; sbit key3 =P3^4; /*以下数组是音符编码*/ uint8 code SONG[] ={ 0xff,0x39,0x30,0x33,0x30,0xff,0x30,0x30,0x00,}; void Time0_Init()//定时器T0方式1,定时10ms { TMOD = 0x01; IE = 0x82; TH0 = 0xDC; TL0 = 0x00; } void Time0_Int() interrupt 1 { TH0 = 0xDC; TL0 = 0x00; Count++; } void delay (uint8 k)//按键防抖延时 { uint8 j; while((k--)!=0) { for(j=0;j<125;j++) {;} } } void Delay_xMs(uint8 x)//发声延时 { uint8 i,j; for(i=0; i

} } void Play_Song(uint8 i)//蜂鸣器发声函数 { uint8 Temp1,Temp2; uint8 Addr; Count = 0; //中断计数器清0 Addr = i *3; while(1) { Temp1 = SONG[Addr++]; if (Temp1 == 0xFF) //休止符 { TR0 = 0; Delay_xMs(100); } else if (Temp1 == 0x00) //歌曲结束符 { return; } else { Temp2 = SONG[Addr++]; TR0 = 1; while(1) { Speak = ~Speak; Delay_xMs(Temp1); if(Temp2 == Count) { Count = 0; break; } } } } } void keyscan (void)//按键切换声音函数 { if(key1==0) { delay(10);

Arduino可穿戴开发入门教程

Ard duin no 可可穿(内ww 穿戴开内部资料大学霸ww.daxue 开发料) 霸 https://www.doczj.com/doc/9b11732126.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学习笔记A7 - Arduino 输出引脚扩流

Arduino学习笔记A7 - Arduino 输出引脚扩流 使用Arduino时候,经常需要控制大电流或者高压负载。但是Arduino只有最大5v,20mA的引脚输出。必须要通过扩流电路。扩流的方法有很多。下面介绍几种方法,适合在不同场合下面使用。 注意:下述电路图的负载均用电阻符号代替,符号标志是电子学的负载符号RL,就是R(load)的意思。 1、小功率NPN三极管扩流(适用于扩展后负载电压5v以下,负载电流建议<1A)。 Arduino输出引脚直接连电阻驱动三极管基极。 复杂度:★★☆☆☆;成本:★☆☆☆☆;可扩流倍数:★☆☆☆☆; 优点:简单方便,成本低。开关频率上限直接由三极管决定,可以做的很高; 缺点:受控大电流和Arduino直接连通,所以外置驱动电源不建议超过5v,以免外置电源的电压通过Q1倒灌到Arduino引脚引起Arduino烧坏。 选材:三极管Q1可以选用小功率的NPN三极管。推荐型号有2SC1815,2N2222,8050,2SD882等(点元件名看对应数据手册,下同);基极电阻R1必不可少,否则会导致Arduino因为引脚负载过大而发热甚至烧毁。R1阻值在100Ω~10k之间均可,推荐值1kΩ。所有电阻功率无要求,贴片0805以上,直插1/8w以上的就行,以下所有电路均使用这种电阻规格。

2、固态继电器(光耦)扩流(适用于220V交流直接控制,或者大功率直流控制,建议用于负载电流0.2A~40A间) 使用现成的固态继电器可以很方便的被Arduino控制。对于Arduino来说,驱动固态继电器就像驱动一个LED那么简单。 直流控制直流 直流控制交流 复杂度:★☆☆☆☆;成本:★★★★★;可扩流倍数:★★★★★; 优点:使用最简单,抗干扰能力最强,无电磁干扰。可以控制交流电/直流电,并且可以控制很大电流的负载。 缺点:成本很高 选材:注意的是,固态继电器有两种:直流控制交流固态继电器/直流控制直流固态继电器。它们的

基于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/9b11732126.html,
Arduino 入门版使用教程
DFRduino Starter kit User Manual
版本号:V 0.22 最后修订日:2010 09 10
仅供内部评测使用,请勿外传
第 1 页 共 90 页

Arduino 入门版使用教程 V0.2
https://www.doczj.com/doc/9b11732126.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)设计峰值半波整流电路,技术指标要求如下:

单片机按键控制蜂鸣器发声程序

#include typedef unsigned char uint8; typedef unsigned int uint16; uint8 Count,i; sbit Speak =P1A2; //蜂鸣器器控制脚 sbit keyl =卩3人2;〃按键控制引脚 sbit key2 =P3A3; sbit key3 =P3A4; /* 以下数组是音符编码 */ uint8 code SONG[] ={ 0xff,0x39,0x30,0x33,0x30,0xff,0x30,0x30,0x00,}; void Time0_Init()// 定时器 T0 方式 1 ,定时 10ms { TMOD = 0x01; IE = 0x82; TH0 = 0xDC; TL0 = 0x00; void Time0_Int() interrupt 1 { TH0 = 0xDC; TL0 = 0x00; Count++; } void delay (uint8 k)// 按键防抖延时 { uint8 j; while((k--)!=0) { for(j=0;j<125;j++) {;} } } void Delay_xMs(uint8 x)// 发声延时 { uint8 i,j; for(i=0; i

Count = 0; // 中断计数器清 0 Addr = i *3; while(1) { Temp1 = SONG[Addr++]; if (Temp1 == 0xFF) //休止符 { TR0 = 0; Delay_xMs(100); } else if (Temp1 == 0x00) //歌曲结束符 { return; } else { Temp2 = SONG[Addr++]; TR0 = 1; while(1) { Speak = ~Speak; Delay_xMs(Temp1); if(Temp2 == Count) { Count = 0; break; } } } } }void keyscan (void)// 按键切换声音函数{ if(key1==0) { delay(10); if(key1==0) {

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:请详述你在本次电装过程中采用的工序,并解释其选择原因,分析其得失,并总结其中的经验教训。要求写在报告中。 证词电装过程采取模块化分步安装,先是焊接部分电路,然后调试,一切正常后再进行下一步工作。这是因为智 能插座是一个较为复杂的整体,如果先全部完成再进行调试,一旦出现问题很难查出。而且此种方法能够更加适合大规模的生产。 在此次实验过程中,我和同组队员较好完成了分工合作。一人读取电阻阻值,看清图纸,另一人专心焊接,较快完成了任务。但是,此次实验要求比以往更高,许多元件脚相隔很近,有些地方又需要大量焊锡。在实验中出现了两次脚间焊锡“短路”的现象,不过在老师帮助下解决了,后期吸取了经验教训,很大

蜂鸣器和弦音发声控制

蜂鸣器和弦音发声控制 前言:现在一些带按键显示控制面板的家电(比较常见的是柜式空调)在按键操作的时候会有悦耳的和弦音发出,特别是开关机或操作上下键时会有不同变调的和弦音,相比普通的嘀嘀声给人更愉悦的操作体验。 1.控制方式说明 此处以型号为SH2225T2PA的蜂鸣器(谐振频率2.6KHz)为例。蜂鸣器模块有两个驱动引脚与MCU相连,一个是振荡信号输入引脚,由MCU提供相应频率的方波信号驱动蜂鸣器发声,一个是供电控制端,供电切断后蜂鸣器靠电解电容放电维持其发声,会有音量渐渐变小的效果。 原理图如下所示,MC9为供电控制端,MC8为振荡信号输入端。MC9为高电平时,三极管Q4导通,然后Q2导通,蜂鸣器开始供电,同时电容CD2充电。若MC8有一定频率的方波信号发出,则蜂鸣器可发出鸣叫。若此时先关掉供电,即MC9 置低电平,MC8依然发出方波信号,则蜂鸣器可依靠CD2放电发出声音,但随着电容电量减少,音量会逐渐减小,形成蜂鸣声渐隐的和弦音效果。要实现变调的效果,则可通过短时间内切换发出几种不同频率的蜂鸣声来实现。

以下是3种比较典型的和弦音的实现细节:(符号说明:Tf:频率给定持续时间(ms)Tv:电压给定持续时间(ms)F:输出频率(KHz)) 单声和弦音:短暂鸣响后音量渐隐 F=2.6,Tv=200,Tf=1000 开机和弦音:三升调,按音调分3个阶段 1.F= 2.3,Tv=200,Tf=200 2.F=2.6,Tv=200,Tf=200 3.F=2.9,Tv=100,Tf=2100 关机和弦音:三降调,按音调分3个阶段 1.F= 2.9,Tv=200,Tf=200 2.F=2.6,Tv=200,Tf=200 3.F=2.3,Tv=100,Tf=2100 2.编程实例 MCU:STM8S903K3 开发环境:STVD 4.1.6+Cosmic 4.2.8 /* buzzer.h文件*/ ?[Copy to clipboard]View Code C 1 2 3 4 5 6 #ifndef __BUZZER_H #define __BUZZER_H #include "common.h" #include "beep.h" typedef enum

基于Protues的Arduino学习笔记01-Arduino UNO实验板设计

基于Protues的Arduino学习笔记01-Arduino UNO实验板 设计 (2013-05-13 20:13:33) 本文将带你使用protues 7.10搭建一个Arduino UNO的实验板,方便以后在protues仿真软件上进行Arduino的实验。参考本文,你还可以自己动手构建出Arduino MEGA 2560等一系列Arduino开发平台。 Arduino UNO是Arduino USB接口系列的最新版本,是Arduino平台的参考标准模板。Arduino UNO的处理器核心是ATmega328,同时具有14路数字输入/输出口(其中6路可作为PWM输出),6路模拟输入,Flash Memory 32KB (其中0.5KB 用于bootloader【注】)、SRAM 2KB、EEPROM 1KB,工作时钟 16 MHz【文献1】。 【注】:在仿真情况下,不需要bootloader去引导程序下载,只需要将Arduino IDE编译生成的HEX文件导入ATmega328P单片机即可。 以上对Arduino UNO的介绍摘自网上,通过这些介绍,我们可以知道Arduino UNO的资源分配情况。图1为Arduino UNO的引脚图,从图中我们可以清楚地看出ATmega328P的物理引脚与Arduino所定义的功能之间的关系,从而可以将功能引脚标注出来。

图1 Arduino UNO与ATmega328P引脚关系图【文献2】 Protues软件是英国Labcenter Electronics公司出版的EDA工具软件,不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前最好的仿真单片机及外围器件的工具【文献3】。 下面我们打开protues 7.10软件,进入元器件的选择,在元器件一栏中输入“ATmega328P”,并选取ATmega328P单片机,如图2所示。然后,在元器件一栏中输入“RES”,选取电阻, 如图3所示。接着,在元器件一栏中输入“LED-GREEN”,选取绿色的LED灯(你也可以选择红色或者黄色的),如图4所示。最后,在元器件一栏中输入“COMPIM”,并添加到元器件域中,如图5所示。

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学习笔记18 - SD卡读写实验

本次实验使用arduino驱动SD卡,在SD卡中进行文件读写。 需要说明的是arduino的SD库文件,目前对2G以上的卡支持不是很好,所以推荐大家使用2G包含2G以下的,文件格式使用FAT格式。这次我是用的是kingmax2G的MicroSD卡。 先看一下硬件连接图

把下面代码下载进arduino 控制板 /* 此例子展示如果记录三个模拟引脚数值到SD 卡,使用SD 库。

电路部分 * 模拟引脚使用模拟口0,1,2大家可以根据情况接入模拟传感器, 如果没有,也可以完成此实验,只不过数值是不停跳动的干扰源。 * SD卡与arduino控制板使用SPI总线连接 ** MOSI - pin 11 ** MISO - pin 12 ** CLK - pin 13 ** CS - pin 4 */ #include // CS引脚为pin4,这里也沿用官方默认设置 const int chipSelect = 4; //设定CS接口 void setup() { Serial.begin(9600); //设置串口通信波特率为9600 Serial.print("Initializing SD card..."); //串口输出数据Initializing SD card... pinMode(10, OUTPUT); if (!SD.begin(chipSelect)) { //如果从CS口与SD卡通信失败,串口输出信息Card failed, or not present Serial.println("Card failed, or not present"); return; } Serial.println("card initialized."); //与SD卡通信成功,串口输出信息card initialized. }

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){

Arduin学习笔记

Arduin学习笔记 void setup{}函数初始化 void loop{}函数循环 pinMode(13,OUTPUT/INPUT)引脚13定义为输出、入模式digitalWrite(13,HIGH/LOW)13引脚输出高、低电平delay()延迟函数 analogRead() 读取模拟量函数 analogWrite()写入模拟量函数 map()函数 Serial.begin(波特率值)串口通信函数 Serial.print()是输出你要的内容横排显示 Serial.println()是输出要显示的内容后自动换行 Arduino 参考手册 Arduino 开发语言提供全部的 C 语言特性和 C++ 语言的部分特性 . 通过链接到 AVR 的 libc 库 online~

, 可以使 用库中提供的函数. 具体的应用细节请参考相关文档. 程序结构 在Arduino中, 标准的程序入口main函数在内部被定义, 用户只需要关心以下两个函数: void setup() void loop() setup()函数用于初始化, loop()函数用于执行. 初始化函数一般放在程序开头, 用于设置一些引脚的输出/输入模式, 初始化串口通讯等类似工作. loop()函数中的代码将被循环执行, 例 如: 读入引脚状态,设置引脚输出状态等. 控制语句 if if...else for switch while do...while break continue return goto 相关语法 ;(分号) {}(大括号) // (单行注释) /* * /(多行注释) #define #include 算术运算符 = (赋值) + (加) - (减) * (乘) / (除) % (取模) 比较运算符 == (等于) != (不等于) < (小于) > (大于)

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