资源描述:
《ARDUINO教程第三讲课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Arduino基础教程——传感器认识与应用广州大学实验中心黄文恺1、按钮开关信号线S5VGND开关例程按键开关模块和数字13接口自带LED搭建简单电路,制作按键提示灯利用数字13接口自带的LED,将按键开关传感器接入数字3接口,当按键开关传感器感测到有按键信号时,LED亮,反之则灭.intLed=13;//定义LED接口intbuttonpin=3;//定义按键开关传感器接口intval;//定义数字变量valvoidsetup(){pinMode(Led,OUTPUT);//定义LED为输出接口pinMode(buttonpin,INPUT);//定义按键开关传感器为输入接
2、口}voidloop(){val=digitalRead(buttonpin);//将数字接口3的值读取赋给valif(val==HIGH)//当按键开关传感器检测有信号时,LED闪烁{digitalWrite(Led,HIGH)}else{digitalWrite(Led,LOW)}}2、无源蜂鸣器蜂鸣器的作用 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。这里的“源”不是指电源。而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震
3、荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。实验原理使用数字I/O口,通过高低电平的变换,来实现方波。第一个例子是持续1毫秒的低电平,和1毫秒的高电平,实现一个500HZ的方波信号,持续80个方波,然后切换为持续2毫秒的低电平,和2毫秒的高电平,实现一个250HZ的方波信号.持续100个方波。两种声音交替发出。intbuzzer=8;//设置控制蜂鸣器的数字IO脚voidsetup(){pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为输出}voidloop(){unsignedchari,j;//定义变量
4、for(i=0;i<80;i++)//辒出一个频率的声音{digitalWrite(buzzer,HIGH);//发声音delay(1);//延时1msdigitalWrite(buzzer,LOW);//不发声音delay(1);//延时ms}for(i=0;i<100;i++)//输出出另一个频率的声音{digitalWrite(buzzer,HIGH);//发声音delay(2);//延时2msdigitalWrite(buzzer,LOW);//不发声音delay(2);//延时2ms}}intbuzzer=8;//设置控制蜂鸣器的数字IO脚v
5、oidsetup(){pinMode(buzzer,OUTPUT);//设置数字IO脚模式,OUTPUT为辒出}voidloop(){unsignedchari,j;//定义变量for(i=0;i<100;i++)//输出一个频率的声音{digitalWrite(buzzer,HIGH);//发声音delayMicroseconds(40);//延时40微秒digitalWrite(buzzer,LOW);//不发声音delayMicroseconds(40);//延时40微秒}for(i=0;i<250;i++)//辒出另一个频率癿声音{digitalWrite(buzzer
6、,HIGH);//发声音delayMicroseconds(120);//延时120微秒digitalWrite(buzzer,LOW);//不发声音delayMicroseconds(120);//延时120微秒}}3、有源蜂鸣器有源蜂鸣器内部带震荡源,所以只要一通电就会叫,只能发出固定频率的声音。调错顺序,这个才是信号接地intspeakerPin=8;//控制喇叭的引脚intvalue=10;//控制喇叭响的时间,可自行更改voidsetup(){pinMode(speakerPin,OUTPUT);}voidloop(){digitalWrite(speakerPin,
7、HIGH);delay(value);//调节喇叭响的时间;digitalWrite(speakerPin,LOW);delay(value);//调节喇叭不响的时间;}4、激光传感器激光传感器通过S端来开启,可以发射持续的激光,也可以发射脉冲波。可用于玩具激光枪,或者激光测距等各种用途。实例程序voidsetup(){pinMode(13,OUTPUT);//定义13脚为数字输出接口}voidloop(){digitalWrite(13,HIGH);//打开激光头delay(1000);/