关于用pyQT和arduino进行交互之串口通信篇
2016-03-291.6万
AI 快速预览详细
本文介绍了如何使用PyQT和Arduino进行串口通信,通过具体的代码示例展示了如何通过串口发送指令控制Arduino上的LED灯颜色变化。首先,Arduino端代码设置了三个LED灯的引脚,并通过串口接收指令。然后,Python端代码通过PyQT界面发送特定字符,控制Arduino上的LED灯颜色变化。适合零基础新手学习,无需复杂的前置技能。
|
测试篇 ====================== Arduino 端代码 int red = 10; int yellow = 9; int blue = 8; String com = ""; void setup(){ pinMode(8, OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); Serial.begin(9600); //设置波特率为9600 bps } void loop(){ while(Serial.available()>0) { com += char(Serial.read()); delay(2); } if(com.length()>0) { if (com == "10\n") { for(int i = 8;i<11;i++) { digitalWrite(i,LOW); } digitalWrite(red,HIGH); Serial.println(com); } else if(com == "9\n") { for(int i = 8;i<11;i++) { digitalWrite(i,LOW); } digitalWrite(yellow,HIGH); Serial.println(com); } else if(com == "8\n") { for(int i = 8;i<11;i++) { digitalWrite(i,LOW); } digitalWrite(blue,HIGH); Serial.println(com); } else { com = ""; } com = ""; } } ================== python 端 代码: #kuing import sys from PyQt4 import QtCore, QtGui from make_arduino import Ui_Form from PyQt4.QtGui import * from PyQt4.QtCore import * import serial import win32api import win32con import time import string class MyForm(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) self.ui = Ui_Form() self.ui.setupUi(self) self.ser = serial.Serial() self.ser.baudrate = 9600 self.ser.port = 'com11' self.ser.open() def set_red(self): self.ser.write('10\n') print '10' def set_yellow(self): self.ser.write('9\n') print '9' def set_blue(self): self.ser.write('8\n') print '8' app = QtGui.QApplication(sys.argv) myapp = MyForm() myapp.show() sys.exit(app.exec_()) ========================== ===============持续更新..============== ps : 由之前的实验慢慢演变为 准备做一个Arduino 智能小车的控制软件 ,上面可以搭载很多传感器,并实时获取传感器返回的数据,并用图表打印出来~.. 并简易的做个 方向控制器~ 控制小车的移动方向 。 现在正在向这个想法努力ing~ 到时想用 wifi 取代串口控制小车 这个难度感觉还是有点大的 现在的温度数据 是通过usb 连线取回的~... 如果有哪位大神有什么更好的建议 可以留言 相互交流~ 在此谢谢啦~ |
-
untitled.jpg (14.01 KB, 下载次数: 3123)
demo
-
day4_1.jpg (50.84 KB, 下载次数: 3152)
day4_1
-
day4_2.jpg (47.87 KB, 下载次数: 3066)
-
day4_3.jpg (21.32 KB, 下载次数: 3163)





