原标题:树莓派与arduino串口通信实践
Arduino具有丰富的外部接口,与树莓派的IO口最大的不同在于Arduino具有模拟输入接口,可以测量IO口上的模拟值。Arduino与Raspberry通过串口(Serial)通信的方案一般有两种,一是通过树莓派GPIO串口通信,第二种是通过USB串口通信。
显然,Arduino与Raspberry通过USB串口不仅稳定,而且不用连接复杂的线缆,本篇文章介绍树莓派如何通过USB串口读取arduino获得传感器的数值。
在Arduino上连接DHT11传感器,用来获取当前的温度、湿度值,并通过串口发送出来。
一、Arduino准备
本项目所需的.zip库文件点此下载:dht11
#include dht11 DHT;#define DHT11_PIN 4void 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")