ARDUINO教程第三讲PPT课件下载推荐.ppt
《ARDUINO教程第三讲PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《ARDUINO教程第三讲PPT课件下载推荐.ppt(98页珍藏版)》请在冰豆网上搜索。
![ARDUINO教程第三讲PPT课件下载推荐.ppt](https://file1.bdocx.com/fileroot1/2022-10/2/6d8a87dc-30b6-4947-9959-363669ecc87e/6d8a87dc-30b6-4947-9959-363669ecc87e1.gif)
,实验原理,使用数字I/O口,通过高低电平的变换,来实现方波。
第一个例子是持续1毫秒的低电平,和1毫秒的高电平,实现一个500HZ的方波信号,持续80个方波,然后切换为持续2毫秒的低电平,和2毫秒的高电平,实现一个250HZ的方波信号.持续100个方波。
两种声音交替发出。
intbuzzer=8;
/设置控制蜂鸣器的数字IO脚voidsetup()pinMode(buzzer,OUTPUT);
/设置数字IO脚模式,OUTPUT为输出voidloop()unsignedchari,j;
/定义变量for(i=0;
i80;
i+)/辒出一个频率的声音digitalWrite(buzzer,HIGH);
/发声音delay
(1);
/延时1msdigitalWrite(buzzer,LOW);
/不发声音delay
(1);
/延时msfor(i=0;
i100;
i+)/输出出另一个频率的声音digitalWrite(buzzer,HIGH);
/发声音delay
(2);
/延时2msdigitalWrite(buzzer,LOW);
/不发声音delay
(2);
/延时2ms,intbuzzer=8;
/设置数字IO脚模式,OUTPUT为辒出voidloop()unsignedchari,j;
i+)/输出一个频率的声音digitalWrite(buzzer,HIGH);
/发声音delayMicroseconds(40);
/延时40微秒digitalWrite(buzzer,LOW);
/不发声音delayMicroseconds(40);
/延时40微秒for(i=0;
i250;
i+)/辒出另一个频率癿声音digitalWrite(buzzer,HIGH);
/发声音delayMicroseconds(120);
/延时120微秒digitalWrite(buzzer,LOW);
/不发声音delayMicroseconds(120);
/延时120微秒,3、有源蜂鸣器,有源蜂鸣器内部带震荡源,所以只要一通电就会叫,只能发出固定频率的声音。
调错顺序,这个才是信号,接地,intspeakerPin=8;
/控制喇叭的引脚intvalue=10;
/控制喇叭响的时间,可自行更改voidsetup()pinMode(speakerPin,OUTPUT);
voidloop()digitalWrite(speakerPin,HIGH);
delay(value);
/调节喇叭响的时间;
digitalWrite(speakerPin,LOW);
/调节喇叭不响的时间;
4、激光传感器,激光传感器通过S端来开启,可以发射持续的激光,也可以发射脉冲波。
可用于玩具激光枪,或者激光测距等各种用途。
实例程序,voidsetup()pinMode(13,OUTPUT);
/定义13脚为数字输出接口voidloop()digitalWrite(13,HIGH);
/打开激光头delay(1000);
/延时一秒digitalWrite(13,LOW);
/关闭激光头delay(1000);
/延时一秒,5、光敏传感器,光敏传感器实质是一个光敏电阻,根据光的照射强度会改变其自身的阻值。
编程原理,将光敏电阻的S端接在一个模拟输入口,光强的变化会改变阻值,从而改变S端的输出电压。
将S端的电压读出,使用串口输出到计算机显示结果。
因为AVR是10位的采样精度,输出值从01023.当光照强烈的时候,值减小,光照减弱的时候,值增加。
完全遮挡光线,值最大。
intsensorPin=2;
intvalue=0;
voidsetup()Serial.begin(9600);
/串口波特率为9600voidloop()value=analogRead(sensorPin);
/读取模拟2端口Serial.println(value,DEC);
/十进制数显示结果并且换行delay(50);
/延时50毫秒,6、倾斜开关,用于检测较小的倾斜角度,编程原理,倾斜开关模块和数字13接口自带LED搭建简单电路,制作倾斜提示灯。
利用数字13接口自带的LED,将倾斜开关传感器接入数字3接口,当倾斜开关传感器感测到有倾斜信号时,LED亮,反之则灭。
intLed=13;
/定义LED接口intbuttonpin=3;
/定义倾斜开关传感器接口intval;
/定义倾斜开关传感器为输出接口voidloop()val=digitalRead(buttonpin);
/将数字接口3的值读取赋给valif(val=HIGH)/当倾斜开关传感器检测有信号时,LED亮digitalWrite(Led,HIGH);
elsedigitalWrite(Led,LOW);
7、水银开关传感器,用于检测稍微大的角度,可以用于检测跌倒等。
程序和上个例程通用,intLed=13;
/将数字接口3的值读取赋给valif(val=HIGH)/当倾斜开关传感器检测有信号时,LED闪烁digitalWrite(Led,HIGH);
8、魔术光杯(一对),水银开关多加了一个独立的LED,两个可以组成魔术光杯,LED控制,信号,原理,将魔术光杯其中一个模块S脚接数字脚7,LED控制接数字脚5(PWM功能),另一个模块S脚接数字脚4,LED控制接数字脚6.现象:
当一个水银开关倾倒时,自己的灯会越来越暗,另一个灯会越来越亮,像心电感应一样。
intLedPinA=5;
intLedPinB=6;
intButtonPinA=7;
intButtonPinB=4;
intbuttonStateA=0;
intbuttonStateB=0;
intbrightness=0;
voidsetup()pinMode(LedPinA,OUTPUT);
pinMode(LedPinB,OUTPUT);
pinMode(ButtonPinA,INPUT);
pinMode(ButtonPinB,INPUT);
voidloop()buttonStateA=digitalRead(ButtonPinA);
/读取A模块if(buttonStateA=HIGH/两者相加的和为255,亮度此消彼涨的关系,9、震动开关,编程原理,震动模块和数字13接口自带LED搭建简单电路,制作震动闪光器。
利用数字13接口自带的LED,将震动传感器接入数字3接口,当震动传感器感测到有震动信号时,LED闪烁发光。
/定义LED接口intShock=3/定义震动传感器接口intval;
/定义LED为输出接口pinMode(Shock,INPUT);
/定义震动传感器为输出接口voidloop()val=digitalRead(Shock);
/将数字接口3的值读取赋给valif(val=HIGH)/当震动传感器检测有信号时,LED闪烁digitalWrite(Led,LOW);
elsedigitalWrite(Led,HIGH);
10、敲击传感器,和振动开关类似,只是能感受较小振幅的振动,更灵敏一些。
余震的时间能维持稍微久一点点,代码可以兼容振动开关,intLed=13;
11、双色共阴LED模块,发光颜色:
绿色+红色(左边头大一点的)黄+红(右边头小一点的)产品广泛应用于电子词典、PDA、MP3、耳机、数码相机、VCD、DVD、汽车音响、通讯、计算机、充电器、功放、仪器仪表、礼品、电子玩具及移动电话等诸多领域。
编程原理,通过模拟端口控制LED的亮度,0255表示从0V到5V。
2种颜色的灯混合,让其值总和为255,可以看到,从红色过渡到绿色的现象,中间颜色是混合成的黄色。
intredpin=11;
/选择红灯引脚intgreenpin=10;
/选择绿灯引脚intval;
voidsetup()pinMode(redpin,OUTPUT);
pinMode(greenpin,OUTPUT);
voidloop()for(val=255;
val0;
val-)analogWrite(redpin,val);
analogWrite(greenpin,255-val);
delay(15);
for(val=0;
val255;
val+)analogWrite(redpin,val);
12、三色RGB模块(DIP封装),RGBLED模块由一个插件全彩LED制成,通过R、G、B三个引脚的PWM电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果,intredpin=11;
/selectthepinfortheredLEDintbluepin=10;
/selectthepinfortheblueLEDi