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 random模块(获取随机数)常用方法和使用例子
May 13 Python
使用Python操作MySQL的一些基本方法
Aug 16 Python
python3中set(集合)的语法总结分享
Mar 24 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
python3中property使用方法详解
Apr 23 Python
Python学习笔记之Zip和Enumerate用法实例分析
Aug 14 Python
python-tornado的接口用swagger进行包装的实例
Aug 29 Python
Tkinter中复选菜单是否被选中的判断与设置方式
Mar 04 Python
谈谈python垃圾回收机制
Sep 27 Python
scrapy redis配置文件setting参数详解
Nov 18 Python
如何获取numpy array前N个最大值
May 14 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实现的下载css文件中的图片的代码
2010/02/08 PHP
php函数指定默认值方法的小例子
2013/12/04 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
JavaScript的21条基本知识点
2014/03/04 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
微信小程序实现日历效果
2018/12/28 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
turn.js异步加载实现翻书效果
2019/07/25 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
[50:04]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第二局
2016/02/28 DOTA
ubuntu16.04制作vim和python3的开发环境
2018/09/23 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
简单了解Python变量作用域正确使用方法
2020/06/12 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
python使用列表的最佳方案
2020/08/12 Python
详解Django ORM引发的数据库N+1性能问题
2020/10/12 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
Python实现Appium端口检测与释放的实现
2020/12/31 Python
智能旅行箱:Horizn Studios
2018/04/30 全球购物
市场部专员岗位职责
2013/11/30 职场文书
门诊手术室工作制度
2014/01/30 职场文书
会计学自我鉴定
2014/02/06 职场文书
幼教求职信
2014/03/12 职场文书
《欢乐的泼水节》教学反思
2014/04/22 职场文书
校本教研活动总结
2014/07/01 职场文书
先进班集体事迹材料
2014/12/25 职场文书
会计工作检讨书
2015/02/19 职场文书
法定代表人免职证明
2015/06/24 职场文书
Html5调用企业微信的实现
2021/04/16 HTML / CSS
Python Matplotlib库实现画局部图
2021/11/17 Python