概述
Arduino具有丰富的外部接口,与树莓派的IO口最大的不同在于Arduino具有模拟输入接口,可以测量IO口上的模拟值。Arduino与Raspberry通过串口(Serial)通信的方案一般有两种,一是通过树莓派GPIO串口通信,第二种是通过USB串口通信。
显然,Arduino与Raspberry通过USB串口不仅稳定,而且不用连接复杂的线缆,本篇文章介绍树莓派如何通过USB串口读取arduino获得传感器的数值。
在Arduino上连接DHT11传感器,用来获取当前的温度、湿度值,并通过串口发送出来。
一、Arduino准备
本项目所需的.zip库文件点此下载:dht11
#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4
void setup(){
Serial.begin(9600);
Serial.println("DHT TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
Serial.println("Type,tstatus,tHumidity (%),tTemperature (C)");
}
void loop(){
int chk;
Serial.print("DHT11, t");
chk = DHT.read(DHT11_PIN); // READ DATA
switch (chk){
case DHTLIB_OK:
Serial.print("OK,t");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.print("Checksum error,t");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.print("Time out error,t");
break;
default:
Serial.print("Unknown error,t");
break;
}
// DISPLAT DATA
Serial.print(DHT.humidity,1);
Serial.print(",t");
Serial.println(DHT.temperature,1);
delay(1000);
}
将程序编译下载到Arduino中,此时可以从Arduino串口获取传感器测量到的数据。
二、树莓派安装串口调试程序
minicom是linux平台串口调试工具,相当于windows上的串口调试助手,可以用它来读取Arduino通过USB串口发送的传感器数值。
(一)minicom安装
sudo apt-get install minicom
(二)minicom启动
minicom -b 9600 -D /dev/ttyACM0
-b代表波特率,-D代表端口,/dev/ttyACM0 表示打开与Arduino相连的端口。
三、连接树莓派与Arduino
将Arduino通过USB线缆连接到树莓派上,这时就可以在树莓派的终端看到通过串口获得的Arduino数据,数据为所测量到的温度和湿度值。
树莓派与Arduino通过USB串口通信
最后
以上就是饱满康乃馨为你收集整理的树莓派与arduino串口通信实践的全部内容,希望文章能够帮你解决树莓派与arduino串口通信实践所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复