課程目標(biāo)
- 了解什么是串口和串口監(jiān)視器
- 學(xué)會(huì)使用串口監(jiān)視器監(jiān)測(cè)傳感器數(shù)據(jù)
- 學(xué)會(huì)使用串口發(fā)送數(shù)據(jù)
電路搭建
所需材料
Arduino UNO * 1
光控傳感器模塊 * 1
任意顏色LED * 1
220Ω電阻 * 1
杜邦線(xiàn)若干
接線(xiàn)方式
傳感器模塊上的VCC接UNO的+5V,
DO接UNO的A0引腳,
GND接UNO的GND。
程序編寫(xiě)
*練習(xí)一:通過(guò)串口讀取傳感器模擬值
根據(jù)上面的電路圖進(jìn)行接線(xiàn),編寫(xiě)程序讀取光控傳感器的模擬值,并在串口監(jiān)視器上顯示出來(lái)。
圖形化方式:
讀取的傳感器值保存到light變量中,然后被發(fā)送到了串口,接著串口監(jiān)視器將其打印了出來(lái),程序以此循環(huán)反復(fù)。在串口監(jiān)視器中,觀察所獲取的值和上節(jié)課所獲取的值有什么不一樣的地方?
代碼方式:
/* 項(xiàng)目名稱(chēng):串口讀取模擬值
* 項(xiàng)目時(shí)間:2022.02.14
* 項(xiàng)目作者: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);
}
練習(xí)二:Arduino與串口交互練習(xí)
編寫(xiě)程序,要求可以從串口監(jiān)視器中發(fā)送信號(hào)給Arduino,最后又顯示到串口監(jiān)視器中。
圖形化方式:
首先聲明一個(gè)叫item的字符串類(lèi)型的全局變量,然后通過(guò)監(jiān)測(cè)如果端口有數(shù)據(jù)輸入,那么將輸入的數(shù)據(jù)賦值給item,并且在端口打印出來(lái)。
代碼方式:
/* 項(xiàng)目名稱(chēng):串口輸入顯示器輸出
* 項(xiàng)目時(shí)間:2022.02.14
* 項(xiàng)目作者:MRX
*/
String item ;//定義字符串類(lèi)型變量item
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0){
item = Serial.readString();
Serial.println(item);//串口打印輸出字符串型變量item
}
}
練習(xí)三:串口控制LED燈
給串口發(fā)送信號(hào)o,LED燈開(kāi),給串口發(fā)送信號(hào)c,LED燈關(guān)。
圖形化方式:
代碼方式:
/* 項(xiàng)目名稱(chēng):串口輸入顯示器輸出
* 項(xiàng)目時(shí)間:2022.02.14
* 項(xiàng)目作者: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);
}
}
}
-
Vcc
+關(guān)注
關(guān)注
2文章
307瀏覽量
37622 -
串口控制
+關(guān)注
關(guān)注
0文章
27瀏覽量
10009 -
Arduino
+關(guān)注
關(guān)注
190文章
6498瀏覽量
192212 -
GND
+關(guān)注
關(guān)注
2文章
544瀏覽量
39829 -
光控傳感器
+關(guān)注
關(guān)注
0文章
5瀏覽量
9254
發(fā)布評(píng)論請(qǐng)先 登錄
labview串口讀取數(shù)據(jù)存儲(chǔ)問(wèn)題
讀取串口數(shù)據(jù)的方法
如何進(jìn)行讀取數(shù)據(jù)
matlab串口讀取arduino數(shù)據(jù)
STM32 USART串口是如何進(jìn)行數(shù)據(jù)處理的呢
PC機(jī)的串口調(diào)試助手與STM32是如何進(jìn)行數(shù)據(jù)收發(fā)的
python串口接收數(shù)據(jù)

labview讀取串口數(shù)據(jù)

labview串口數(shù)據(jù)解析

上位機(jī)串口通信數(shù)據(jù)接收事件程序

LabVIEW串口寫(xiě)入和讀取詳細(xì)資料概述

Arduino串口數(shù)據(jù)采集

評(píng)論