ikuing 发表于 2016-3-29 23:58:02

关于用pyQT和arduino进行交互之串口通信篇

本帖最后由 ikuing 于 2016-4-2 19:36 编辑

测试篇
======================
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 连线取回的~...

如果有哪位大神有什么更好的建议   可以留言相互交流~在此谢谢啦~





ikuing 发表于 2016-3-30 22:56:52

hnyzcj 发表于 2016-3-30 08:43
python 端 代码:是放在哪里?是PC,还是其它什么,怎么保存……………………请详细写出,谢谢,便于我们小 ...

在PC端 安装pyton环境    然后PYQT程序弄好之后   就可以通过在PC端   通过界面控制LED灯了

hnyzcj 发表于 2016-3-30 08:43:03

python 端 代码:是放在哪里?是PC,还是其它什么,怎么保存……………………请详细写出,谢谢,便于我们小白学习!!!

丄帝De咗臂 发表于 2016-3-30 09:28:18

高端,上档次

yhtjay 发表于 2016-5-13 16:48:18

ikuing 发表于 2016-3-30 22:56
在PC端 安装pyton环境    然后PYQT程序弄好之后   就可以通过在PC端   通过界面控制LED灯了 ...

我也做过个PyQT的界面,处理转发串口数据,放手持平板上运行。python真的很方便。arduino我刚学。准备做个机器运行数据收集监控的小项目。也是准备用python加arduino.

ikuing 发表于 2016-5-31 23:56:48

yhtjay 发表于 2016-5-13 16:48
我也做过个PyQT的界面,处理转发串口数据,放手持平板上运行。python真的很方便。arduino我刚学。准备做 ...

看好你加油~!
页: [1]
查看完整版本: 关于用pyQT和arduino进行交互之串口通信篇