一、串口控制LED灯的亮度
在本例中,我们通过串口向Arduino输入一个介于0-255的数字来调整LED灯亮度,需要用到四个串口函数。
1.程序学习
(1) Serial.begin( )
将串行数据传输速率设置为位/秒(波特)。与计算机进行通信时,可以使用这些波特率:300,1200,2400,4800,9600,14400,19200,28800,38400,57600或115200。当然,也可以指定其他波特率 。
(2)Serial.available( )
获取从串口读取有效的字节数(字符)。这是已经传输到,并存储在串行接收缓冲区(能够存储64个字节)的数据。
(3) Serial.parseInt( )
查找传入的串行数据流中的下一个有效的整数。
(4) Serial.print()
print输出参数信息。
println输出参数信息,并回车。
2.电路连接
将红色LED灯模块连接至Arduino的10脚。
(1)实物图
(2)仿真图
3.编写程序
int LED_PIN = 10;int ledLevel;void setup() //初始化程序{Serial.begin(9600);//设置串口通信率pinMode(LED_PIN, OUTPUT);//设置LED引脚工作模式}void loop(){while (Serial.available())//检测串口是否由数据输入{ledLevel = Serial.parseInt();//如有,读取该数据Serial.print("ledLevel=");//打印字符ledLevel=Serial.println(ledLevel);//将该数据打印在串口显示器上,并回车}analogWrite(LED_PIN, ledLevel);//用该数据控制LED灯的亮度}
4.程序调试
串口模拟器的右下角需要改成“没有结束符”,否则parseInt会把结束符解析成0,导致LED灯熄灭。
5.下载程序,观察效果


二、串口输出控制蜂鸣器的音调
在本例中,我们通过串口向Arduino输入一个介于0-255的数字来使蜂鸣器发出不同的音调,每个音调声音持续时间为2s。
1.电路连接
将无源蜂鸣器模块连接至Arduino的10脚。
(1)实物图
(2)仿真图
2.编写程序
int Buzzer_PIN = 10;int BuzzerLevel;void setup() //初始化程序{Serial.begin(9600);//设置串口通信率pinMode(Buzzer_PIN, OUTPUT);//设置蜂鸣器引脚工作模式}void loop(){while (Serial.available())//检测串口是否由数据输入{BuzzerLevel = Serial.parseInt();//如有,读取该数据Serial.print("BuzzerLevel=");//打印字符BuzzerLevel=Serial.println(BuzzerLevel);//将该数据打印在串口显示器上,并回车tone(Buzzer_PIN, BuzzerLevel,2000);//用该数据控制Buzzer的声调}}
3.程序调试
输入对应音调的频率,观察蜂鸣器能否发出对应的声调。
通过仿真程序调试。
