树莓派与arduino串口通信实践

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通过USB串口通信
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值