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使用7z解压软件备份文件脚本分享
Feb 21 Python
利用Python中的mock库对Python代码进行模拟测试
Apr 16 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
Jun 30 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
Python猴子补丁知识点总结
Jan 05 Python
PyTorch实现AlexNet示例
Jan 14 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
python第三方库学习笔记
Feb 07 Python
Python selenium模块实现定位过程解析
Jul 09 Python
零基础学python应该从哪里入手
Aug 11 Python
python+requests实现接口测试的完整步骤
Oct 27 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开发工具之vs2005图解
2008/01/12 PHP
PHP设计模式之结构模式的深入解析
2013/06/13 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
PHP URL参数获取方式的四种例子
2014/02/28 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
Json_decode 解析json字符串为NULL的解决方法(必看)
2017/02/17 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
js 左右悬浮对联广告特效代码
2014/12/12 Javascript
JavaScript数组去重的多种方法(四种)
2017/09/19 Javascript
webstrom Debug 调试vue项目的方法步骤
2018/07/17 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
2019/02/02 NodeJs
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
python调用百度语音REST API
2018/08/30 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
python logging 日志的级别调整方式
2020/02/21 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
运动会入场解说词
2014/02/07 职场文书
水毁工程实施方案
2014/04/01 职场文书
授权委托书样本
2014/04/03 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
离婚协议书包括哪些内容
2014/10/16 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
Apache POI的基本使用详解
2021/11/07 Servers
python中filter,map,reduce的作用
2022/06/10 Python