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 相关文章推荐
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
Python的包管理器pip更换软件源的方法详解
Jun 20 Python
Python图像处理之颜色的定义与使用分析
Jan 03 Python
用Python写一个自动木马程序
Sep 17 Python
python滑块验证码的破解实现
Nov 10 Python
python 实现查询Neo4j多节点的多层关系
Dec 23 Python
python自动化unittest yaml使用过程解析
Feb 03 Python
python Plotly绘图工具的简单使用
Mar 03 Python
Python批量将图片灰度化的实现代码
Apr 11 Python
Django实现celery定时任务过程解析
Apr 21 Python
python适合做数据挖掘吗
Jun 16 Python
pytorch实现线性回归以及多元回归
Apr 11 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数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
常见的四种POST 提交数据方式(小总结)
2015/10/08 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
jQuery实现表格展开与折叠的方法
2015/05/04 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
你应该知道的python列表去重方法
2017/01/17 Python
对Python 内建函数和保留字详解
2018/10/15 Python
python学生信息管理系统(初级版)
2018/10/17 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
购买大码女装:Lane Bryant
2016/09/07 全球购物
聚美优品陈欧广告词
2014/03/14 职场文书
高中教师先进事迹材料
2014/08/22 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
2015清明节祭奠英烈寄语大全
2015/03/04 职场文书
千手观音观后感
2015/06/03 职场文书
2015年小学生国庆节演讲稿
2015/07/30 职场文书
爱国主义主题班会
2015/08/14 职场文书
Java使用Unsafe类的示例详解
2021/09/25 Java/Android