如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
报警器代码FloatsinVal//浮点型sin函数变量InttoneVal//整形音调变量Voidsetup(){pinmode(8,OUTPUT)//设置引脚为8得输出}Voidloop(){For(intx=0;x<180,x++)//for循环初始变量为0度范围0——180增加{sinVal=(sin(x*(3、1412/180))//将角度转换为弧度制赋值给sinValtoneVal=2000+(int(sinVal*1000))//将数值化为整数,无小数}tone(8,toneVal)//给引脚8音调delay(2)//延迟2毫秒}}SOS求救器SOS求救器就是通过LED开关两种状态来拼出一个个字母。通过长闪烁与短闪烁来表示点与横杠。我们这个项目中,我们就拼写S、O、S这三个字母。通过查阅莫尔斯码表,我们可以知道,字母“S”用三个点表示,我们这里用短闪烁替代,字母“O”则用三个横杠表示,用长闪烁替代。【实验现象】LED灯短闪烁三次,停顿0、1s,长闪烁3次,停顿0、1s,再短闪烁三次,停顿五秒,最后循环整个程序。【试验线路图】按图连接好线路图(注意LED灯正负极及接地)注释:蓝线接地(Gnd)红线接10号【程序2-1】intledPin=10;voidsetup(){pinMode(ledPin,OUTPUT);}voidloop(){//三个快闪烁来表示字母“S”digitalWrite(ledPin,HIGH);//LED亮灯(高电平)delay(150);//延时程序150(150ms)digitalWrite(ledPin,LOW);//LED熄灭(低电平)delay(100);//延时程序150(150ms)digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(150);digitalWrite(ledPin,LOW);delay(100);digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(150);digitalWrite(ledPin,LOW);delay(100);delay(100);//100毫秒延时产生字母之间得间隙这就是程序S得表示方法,三个短闪烁,然后延时//三个短闪烁来表示字母“O”digitalWrite(ledPin,HIGH);//LED亮灯(高电平)delay(400);//延时程序400(400ms)digitalWrite(ledPin,LOW);//LED熄灭(低电平)delay(100);//延时程序100(100ms)digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(400);digitalWrite(ledPin,LOW);delay(100);digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(400);digitalWrite(ledPin,LOW);delay(100);delay(100);//100毫秒延时产生字母之间得间隙这就是程序O得表示方法,三个长闪烁,然后延时//再用三个快闪烁来表示字母“S”digitalWrite(ledPin,HIGH);//LED亮灯(高电平)delay(150);//延时程序150(150ms)digitalWrite(ledPin,LOW);//LED熄灭(低电平)delay(100);//延时程序150(150ms)digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(150);digitalWrite(ledPin,LOW);delay(100);digitalWrite(ledPin,HIGH);//同第一段程序注释相同delay(150);digitalWrite(ledPin,LOW);delay(100);这就是程序S得表示方法,三个短闪烁,然后延时delay(5000);//在重复S、0、S信号前等待5秒最后延迟5s然后循环程序}这就就是一段完整得SOS求救器得程序,在经过电路测试好之后,我们可以简化一下我们得程序,进一步得加深难度。【程序2-2】intledPin=10;voidsetup(){pinMode(ledPin,OUTPUT);}voidloop()//三个快闪烁来表示字母“S”{for(intx=0;x<3;x++){digitalWrite(ledPin,HIGH);//设置LED为开delay(150);//延时150毫秒