脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 树莓派(python)与arduino串口通信的详细步骤

树莓派(python)与arduino串口通信的详细步骤

2022-02-27 14:41低调神龙 Python

这篇文章主要介绍了树莓派(python)与arduino串口通信的详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

树莓派与arduino串口通信

第一步:先设置硬件串口分配给GPIO串口。
输入sudo raspi-config命令进入树莓派系统配置界面,选择第三个Interfacing Options

树莓派(python)与arduino串口通信的详细步骤

进去选择Serial Port

树莓派(python)与arduino串口通信的详细步骤

然后选择关闭串口登录功能,打开硬件串口调试功能

树莓派(python)与arduino串口通信的详细步骤
树莓派(python)与arduino串口通信的详细步骤
树莓派(python)与arduino串口通信的详细步骤

 

修改配置文件

打开/boot/config.txt文件,输入 sudo vim /boot/config.txt,在最后添加俩行:1、dtoverlay=pi3-miniuart-bt 2、force_turbo=1

然后重启树莓派,ls /dev -al查看串口

树莓派(python)与arduino串口通信的详细步骤

串口0对应ttyAMA0,串口1对应ttyS0,意味着此时硬件串口可以通过GPIO跟别人进行串口通信了。

第二步:编写测试程序

树莓派:

 import serial
 import time

 port = "/dev/ttyAMA0"
 ser = serial.Serial(port,115200,timeout=1)   # //打开串口,连接到Arduino上
 ser.flushInput() #   //清空输入缓冲区

 while True:
         #ser.write("7".encode())
        ser.write("s".encode());
        size = ser.inWaiting() # 获得缓冲区字符

        if size != 0:
          response = ser.read(size);
          print(response)

        time.sleep(3)

arduino:

void setup() 
{
  Serial.begin(115200);   //定义波特率

}

void loop()
{
while(Serial.available()>0){
      char teststring = Serial.read();

       Serial.println(teststring);
       
       if('s' == teststring )
          Serial.println("Hello Raspberry,I am Arduino.");

      }
}

测试结果截图:

树莓派(python)与arduino串口通信的详细步骤
树莓派(python)与arduino串口通信的详细步骤

接线是,树莓派的R对Arduino的T,树莓派的T对Arduino的R,然后接上GND就行了。
C语言的程序也有,懒得整理了

到此这篇关于树莓派(python)与arduino串口通信的文章就介绍到这了,更多相关树莓派arduino串口通信内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_45506125/article/details/121256083

延伸 · 阅读

精彩推荐