arduino项目整理

上传人:大米 文档编号:470547557 上传时间:2023-04-05 格式:DOC 页数:29 大小:5.23MB
返回 下载 相关 举报
arduino项目整理_第1页
第1页 / 共29页
arduino项目整理_第2页
第2页 / 共29页
arduino项目整理_第3页
第3页 / 共29页
arduino项目整理_第4页
第4页 / 共29页
arduino项目整理_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《arduino项目整理》由会员分享,可在线阅读,更多相关《arduino项目整理(29页珍藏版)》请在金锄头文库上搜索。

1、报警器代码Foat nVal /浮点型sin函数变量ItneVal /整形音调变量Vodsetup()pin od(,OUTP) /设置引脚为8的输出 o lop() r (int x=0;x,+) /o循环 初始变量为度 范围0-8增加 sVal=(si(x*(3。412/180) /将角度转换为弧度制赋值给sinValteVal=200+(int(snVal*100)) /将数值化为整数,无小数 ton(8,toneal) /给引脚8音调del(2) /延迟2毫秒 SOS求救器O求救器是通过LE开关两种状态来拼出一个个字母。通过长闪烁和短闪烁来表示点和横杠。我们这个项目中, 我们就拼写S。

2、O。S这三个字母.通过查阅莫尔斯码表,我们可以知道,字母“S”用三个点表示,我们这里用短闪烁替代,字母“O则用三个横 杠表示,用长闪烁替代。【实验现象】LED灯短闪烁三次,停顿0.,长闪烁3次,停顿.1,再短闪烁三次,停顿五秒,最后循环整个程序.【试验线路图】按图连接好线路图(注意LED灯正负极及接地)注释:蓝线接地(Gnd)红线接号【程序-1】nt ledPn 10; vid etup() pnMode(ledPin, OUTPUT); vidloop()/ 三个快闪烁来表示字母“S” diWrite(ledPin,HIGH); /LED亮灯(高电平)dey(150); /延时程序150(1

3、5ms)digtalWrte(ledPn,LOW); /LED熄灭(低电平)dela(100); /延时程序150(50m)digtlWrit(ledPi,HIG); /同第一段程序注释相同ela(50); dgtlWrt(edPin,LO); dly(100);igitaWre(ledPn,H); /同第一段程序注释相同delay(15); digitalWite(edPin,LOW); delay(100);elay(100); /10毫秒延时产生字母之间的间隙这是程序S的表示方法,三个短闪烁,然后延时/三个短闪烁来表示字母“O” igitalWrite(ledPi,HIGH); / E亮

4、灯(高电平)delay(400); /延时程序400(400ms)itlWite(in,LO); /LED熄灭 (低电平)delay(100); 延时程序100(00m)igitalrt(edPi,IGH); /同第一段程序注释相同dela(40); diialWrie(ledPin,LO); delay(10);dgitalWre(len,HI); /同第一段程序注释相同delay(400); digitaWrite(ldPin,W); dely(100); delay(1); /100毫秒延时产生字母之间的间隙这是程序的表示方法,三个长闪烁,然后延时/再用三个快闪烁来表示字母“S” dig

5、trite(lePi,HIGH); /LED亮灯 (高电平)delay(0); /延时程序150(0s)diitarte(edPn,LW); /LED熄灭 (低电平)delay(100); 延时程序10(10)ditte(ldPn,IGH); /同第一段程序注释相同dly(150); gitlWrte(dPin,LOW); lay(100);dgitaWrite(ledPi,IGH); /同第一段程序注释相同ea(50); digtalWrite(lePin,LW); lay();这是程序S的表示方法,三个短闪烁,然后延时elay(5000); / 在重复S。0。S信号前等待秒 最后延迟5s然

6、后循环程序这就是一段完整的SO求救器的程序,在经过电路测试好之后,我们可以简化一下我们的程序,进一步的加深难度。【程序22】it ledPin 0;void setup() pnMode(ledPin,OUPUT); vi loop() / 三个快闪烁来表示字母“S” fr(itx=0;x3;x+) dgtalWri(ldPi,HIGH); /设置LED 为开elay(15); 延时50毫秒dgiWre(ldPi,LOW); /设置 为关dela(0); 延时10毫秒 dela(1); /10毫秒延时产生字母之间的间隙 这是程序S的表示方法,三个短闪烁,然后延时 三个短闪烁来表示字母“fr(t

7、 0;x3;x+) galWrt(ledP,IH); /设置LE为开lay(40); /延时400毫秒 dgitaWrit(lein,LOW); /设置LD为关dlay(10); /延时100毫秒delay(100); /100毫秒延时产生字母之间的间隙 这是程序O的表示方法,三个长闪烁,然后延时/再用三个快闪烁来表示字母“S fo(i x=0;3;+) igtalWrte(lPn,HIGH); /设置LD为开 el(50); /延时10毫秒 digtalt(lePin,LOW); /设置LED 为关elay(0); /延时10毫秒这是程序的表示方法,三个短闪烁,然后延时eay(500); /

8、在重复S0.S信号前等待秒 在输入代码的时候,注意保持代码的一个层次感,除了美观外,也便于你日后检查代码。确认正确后,下载代码到 Arduin中,如果一切顺利的话,我们将看到E闪烁出莫尔斯码S信号,等待5秒.重复闪烁。给Ardino外 接电池,整个装到防水的盒子里,就可以用来发S。S信号了。【补充】【for语句格式】fr(循环初始化;循环条件;循环调整语句) 条件为真循环体语句; r循环顺序第一轮:第二轮:.直到不成立,fo循环结束【比较运行符】l =(等于)l !(不等于)l =(大于等于)特别要说明一下,等于必须是两个 等号.还有像小于等于和大于等 于,和之间不能留有空格,否则 编译不通过

9、. 当然,除了比较运算符外,程序也 可以用的+、*、(加、减、乘、除)这些常用的算术运算符。呼吸灯方法一:intw=0; /声明pwm变量intPinMod3;vod stp()Seial.egn(960);viod loop()nalonWrite(PiMde,pwm); /设置PW占空比dla(10);wm+; 增加输出的PWM占空比PWM简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种有效技术,这种技术被广泛应用在测量、通信、功率控制与变换的许多领域中。模拟输出用到的函数为anlrite(,value),其中pin是输出的引脚号,aue为05之间的数值。通过这种函数,硬件PW通过0255之间的任一值来编程,其中0为关闭,55为全功率,025之间的任意一个值都会产生一个约490的占空比可变的脉冲序列.Ardui软件限制PWM通道为位计数器。方法二it edin0; /将10号端口命名为ledPinvoidsetup() inMde(ldPin,OUTPT); /设置端口的模式为输出模式 vo oop()fadeOn(10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号