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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
跟老齐学Python之dict()的操作方法
Sep 24 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
在Django同1个页面中的多表单处理详解
Jan 25 Python
python爬虫入门教程--快速理解HTTP协议(一)
May 25 Python
Python实现公历(阳历)转农历(阴历)的方法示例
Aug 22 Python
Python语言描述机器学习之Logistic回归算法
Dec 21 Python
Python中使用遍历在列表中添加字典遇到的坑
Feb 27 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
Numpy ndarray 多维数组对象的使用
Feb 10 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学习笔记之三 数据库基本操作
2011/01/17 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
2009/12/27 Javascript
input的focus方法使用
2010/03/13 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
浅析JQuery中的html(),text(),val()区别
2014/09/01 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
JavaScript中提前声明变量或函数例子
2014/11/12 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
前端页面文件拖拽上传模块js代码示例
2017/05/19 Javascript
Node.js+ELK日志规范的实现
2019/05/23 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python 控制语句
2011/11/03 Python
使用Python实现一个简单的项目监控
2015/03/31 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python实现搜索算法的实例代码
2020/01/02 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
解决python中0x80072ee2错误的方法
2020/07/19 Python
python/golang 删除链表中的元素
2020/09/14 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
机电工程学生自荐信范文
2013/12/07 职场文书
房地产开盘策划方案
2014/02/10 职场文书
小学敬老月活动方案
2014/02/11 职场文书
党员群众路线个人整改措施思想汇报
2014/10/12 职场文书
2014年减负工作总结
2014/12/10 职场文书
档案接收函格式
2015/01/30 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
给numpy.array增加维度的超简单方法
2021/06/02 Python