Arduino篇—如何进行串口数据的读取和串口数据的写入

电子说

1.2w人已加入

描述

课程目标

  • 了解什么是串口和串口监视器
  • 学会使用串口监视器监测传感器数据
  • 学会使用串口发送数据

电路搭建

所需材料

Arduino UNO * 1
光控传感器模块 * 1
任意颜色LED * 1
220Ω电阻 * 1
杜邦线若干

接线方式

传感器模块上的VCC接UNO的+5V,
DO接UNO的A0引脚,
GND接UNO的GND。
光控传感器

程序编写

*练习一:通过串口读取传感器模拟值

根据上面的电路图进行接线,编写程序读取光控传感器的模拟值,并在串口监视器上显示出来。

图形化方式:

光控传感器

读取的传感器值保存到light变量中,然后被发送到了串口,接着串口监视器将其打印了出来,程序以此循环反复。在串口监视器中,观察所获取的值和上节课所获取的值有什么不一样的地方?

代码方式:

/* 项目名称:串口读取模拟值
 * 项目时间:2022.02.14
 * 项目作者:MRX
 */
int light = 0;//定义light变量
int pin = A0;//定义引脚变量pin
void setup() {
  Serial.begin(9600);
  pinMode(pin,INPUT);//定义引脚为输入模式
}
void loop() {
  light = analogRead(pin);//将模拟引脚pin的值赋给light
  Serial.println(light);//串口打印输出变量light
  delay(1000);
}

练习二:Arduino与串口交互练习

编写程序,要求可以从串口监视器中发送信号给Arduino,最后又显示到串口监视器中。

图形化方式:

光控传感器

首先声明一个叫item的字符串类型的全局变量,然后通过监测如果端口有数据输入,那么将输入的数据赋值给item,并且在端口打印出来。

光控传感器

光控传感器

代码方式:

/* 项目名称:串口输入显示器输出
 * 项目时间:2022.02.14
 * 项目作者:MRX
 */
String item ;//定义字符串类型变量item
void setup() {
  Serial.begin(9600);
}
void loop() {
  if (Serial.available() > 0){
    item = Serial.readString();
    Serial.println(item);//串口打印输出字符串型变量item
  }
}

练习三:串口控制LED灯

给串口发送信号o,LED灯开,给串口发送信号c,LED灯关。

图形化方式:

光控传感器

代码方式:

/* 项目名称:串口输入显示器输出
 * 项目时间:2022.02.14
 * 项目作者:MRX
 */
char order = "" ;//定义order变量
int pin = 3;
void setup() {
  Serial.begin(9600);
  pinMode(pin,OUTPUT);
}
void loop() {
  if (Serial.available() > 0){
    order = Serial.read();
    Serial.println(order);//串口打印输出变量order
    if (order==('o')) 
    {
      Serial.println("open");
      digitalWrite(pin,HIGH);
    } 
    else if (order==('c'))
    {
      Serial.println("close");
      digitalWrite(pin,LOW);
    } 
  }
}
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分