目录
一、本节介绍
在本实验中,您将学习如何通过计算机和串行监视器打开或关闭LED。串行监视器用于Uno板和计算机或其他设备之间的通信。它是Arduino环境中的内置软件,您可以点击右上角的按钮打开它。您可以通过Uno板上的串行端口发送和接收数据,并通过键盘输入控制电路板。
在本实验中,由于我们使用彩色LED作为负载,您可以在IDE中的串行监视器上输入红色,绿色和蓝色之间的颜色。Arduino Uno板上的相应LED将亮起。
二、材料准备
- 1 * Arduino Uno板
- 1 *面包板
- 3 * LED
- 3 *电阻(220Ω)
- 若干杜邦线
- 1 * USB数据线
三、原理讲解
在这里,串行监视器作为您的计算机和Arduinp Uno板之间的通信的传输站。首先,计算机将数据传输到串行监视器,然后数据由Arduino Uno板读取。最后,Uno将执行相关操作。
四、实验步骤
步骤1:建立电路
原理图
步骤2:编写程序
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
/****************************/
//串行监视器
//打开串行监视器,如果输入红色,您将看到红色的LED亮起
//2017.10.17
/****************************/
const int greenPin = 2; //绿色的引脚连接到引脚2
const int yellowPin = 3; ///黄色引脚连接到引脚3
const int redPin = 4; ///红色引脚连接到引脚4
String comdata = "";
int lastLength = 0;
void setup()
{
pinMode(greenPin, OUTPUT); //将yellowPin初始化为输出
pinMode(yellowPin, OUTPUT); //初始化redPin作为输出
pinMode(redPin, OUTPUT); //启动9600bps的串行端口:
Serial.begin(9600); // start serial port at 9600 bps:
Serial.print("Please input any color of LED:"); //串行监视器上的打印消息
}
void loop()
{
//从串行监视器读取字符串
if (Serial.available() > 0) ///如果我们得到一个有效的字节,请阅读模拟输入
{
comdata = "";
while (Serial.available() > 0)
{
comdata += char(Serial.read());
delay(2);
}
Serial.println(comdata);
}
if (comdata == "red")
{
digitalWrite(redPin, HIGH);//将红色的
digitalWrite(greenPin, LOW);//转动绿色
digitalWrite(yellowPin, LOW);//转动黄色LED 熄灭
}
else if (comdata == "yellow")
{
digitalWrite(redPin, LOW);//转动红色
digitalWrite(greenPin, LOW);//转动绿色LED关
digitalWrite(yellowPin, HIGH);//打开黄色带领
}
else if (comdata == "green")
{
digitalWrite(redPin, LOW);//开启红色LED灭
digitalWrite(greenPin, HIGH);//开启红色LED灭
digitalWrite(yellowPin, LOW);//开启红色LED灭
}
else
{
digitalWrite(redPin, LOW);//开启红色LED灭
digitalWrite(greenPin, LOW);//转动绿色
digitalWrite(yellowPin, LOW);//转动绿色
}
}
[/scu]
步骤3:编译代码
步骤4:将程序上传到Arduinor Uno板
现在,点击IDE右上角的串行监视器按钮。然后将弹出Serial Monitor窗口,如下所示。
使用此窗口,您不仅可以将数据从计算机发送到Arduino Uno板,还可以从板上接收数据并将其显示在屏幕上。当您打开窗口时,将显示“请输入任何颜色的LED: ”。您可以在此处输入颜色。如果输入红色,绿色或蓝色,请单击发送,然后面板上的相应LED将亮起。但是,如果您输入这三种以外的任何颜色,则不会显示LED。
例如,如果输入红色,您将看到红色的LED亮起。