python多线程并发让两个LED同时亮的方法


Posted in Python onFebruary 18, 2019

在做毕业设计的过程中,想对多个传感器让他们同时并发执行。之前想到

light_red()

light_blue()

分别在两个shell脚本中同时运行,但是这样太麻烦了。后来学到了Python多线程,让程序并发执行。

下面具体介绍步骤:

两个led灯,一个蓝灯,一个红灯

蓝灯正极接13,负极接14

红灯正极接12,负极接14

下面是代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import RPi.GPIO as GPIO
import threading
import time
 
class led_blue(threading.Thread): #继承父类threading.Thread
 def __init__(self, threadID, name, counter):
  threading.Thread.__init__(self)
  self.threadID = threadID
  self.name = name
  self.counter = counter
 def run(self):     #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数
  print "Starting " + self.name
  led_blue_on()
  print "Exiting " + self.name
 
class led_red (threading.Thread): #继承父类threading.Thread
 def __init__(self, threadID, name, counter):
  threading.Thread.__init__(self)
  self.threadID = threadID
  self.name = name
  self.counter = counter
 def run(self):     #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数
  print "Starting " + self.name
  led_red_on()
  print "Exiting " + self.name
 
def led_blue_on():
 PIN_NO=13
 GPIO.setmode(GPIO.BOARD)
 GPIO.setup(PIN_NO, GPIO.OUT)
 GPIO.output(PIN_NO,GPIO.HIGH)
	
def led_red_on():
 PIN=12
 GPIO.setmode(GPIO.BOARD)
 GPIO.setup(PIN, GPIO.OUT)
 GPIO.output(PIN,GPIO.HIGH)
 
# 创建新线程
thread1 = led_blue(1, "light_blue_on_on", 1)
thread2 = led_red(2, "light_red_on", 2)
 
# 开启线程
thread1.start()
thread2.start()
 
print "Exiting Main Thread"
time.sleep(20)
GPIO.cleanup()

效果图,像素很渣:

python多线程并发让两个LED同时亮的方法

以上这篇python多线程并发让两个LED同时亮的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
分析经典Python开发工程师面试题
Apr 08 Python
python游戏开发之视频转彩色字符动画
Apr 26 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
python 默认参数相关知识详解
Sep 18 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
python matplotlib:plt.scatter() 大小和颜色参数详解
Apr 14 Python
用python写一个带有gui界面的密码生成器
Nov 06 Python
Python获取江苏疫情实时数据及爬虫分析
Aug 02 Python
对python 多线程中的守护线程与join的用法详解
Feb 18 #Python
python 多线程重启方法
Feb 18 #Python
解决Python中定时任务线程无法自动退出的问题
Feb 18 #Python
将string类型的数据类型转换为spark rdd时报错的解决方法
Feb 18 #Python
对Python3使运行暂停的方法详解
Feb 18 #Python
解决python线程卡死的问题
Feb 18 #Python
Python中时间datetime的处理与转换用法总结
Feb 18 #Python
You might like
探讨php define()函数及defined()函数使用详解
2013/06/09 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
PHP概率计算函数汇总
2015/09/13 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
漂亮的thinkphp 跳转页封装示例
2019/10/16 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
ImageZoom 图片放大镜效果(多功能扩展篇)
2010/04/14 Javascript
理解Javascript_03_javascript全局观
2010/10/11 Javascript
Javascript 面试题随笔
2011/03/31 Javascript
js实现拖拽功能
2017/03/01 Javascript
js实现图片加载淡入淡出效果
2017/04/07 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
2017/07/11 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
javascript中floor使用方法总结
2019/02/02 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
使用webpack构建应用的方法步骤
2019/03/04 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python里disconnect UDP套接字的方法
2015/04/23 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
详解django2中关于时间处理策略
2019/03/06 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
如何表示python中的相对路径
2020/07/08 Python
python 如何调用远程接口
2020/09/11 Python
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
北承题目(C++)
2012/05/16 面试题
我爱家乡演讲稿
2014/09/12 职场文书
师德标兵事迹材料
2014/12/19 职场文书
写给女朋友的保证书
2015/05/09 职场文书
劳动仲裁撤诉申请书
2015/05/18 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书