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实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
python用装饰器自动注册Tornado路由详解
Feb 14 Python
python决策树之C4.5算法详解
Dec 20 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
对pytorch网络层结构的数组化详解
Dec 08 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
python 实现dict转json并保存文件
Dec 05 Python
pytorch+lstm实现的pos示例
Jan 14 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 Python
Python 用户输入和while循环的操作
May 23 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
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
JS JavaScript获取Url参数,src属性参数
2021/03/09 Javascript
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
ES6学习之变量的解构赋值
2017/02/12 Javascript
详解Angular2 之 结构型指令
2017/06/21 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
2017/09/07 jQuery
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
2020/07/23 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
Python3.2模拟实现webqq登录
2016/02/15 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
django文档学习之applications使用详解
2018/01/29 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
python 同时运行多个程序的实例
2019/01/07 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
python利用re,bs4,requests模块获取股票数据
2019/07/29 Python
python scipy卷积运算的实现方法
2019/09/16 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
Python常用GUI框架原理解析汇总
2020/12/07 Python
python工具快速为音视频自动生成字幕(使用说明)
2021/01/27 Python
AmazeUI 网格的实现示例
2020/08/13 HTML / CSS
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书