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 23 Python
Windows下python2.7.8安装图文教程
May 26 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
Sep 21 Python
深入浅析ImageMagick命令执行漏洞
Oct 11 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
python K近邻算法的kd树实现
Sep 06 Python
pandas如何处理缺失值
Jul 31 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 Python
Python如何存储数据到json文件
Mar 09 Python
基于Python爬取股票数据过程详解
Oct 21 Python
Python实现学生管理系统并生成exe可执行文件详解流程
Jan 22 Python
python使用torch随机初始化参数
Mar 22 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中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
在windows服务器开启php的gd库phpinfo中未发现
2013/01/13 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
索趣科技的答案
2007/02/07 Javascript
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
jQuery中使用了document和window哪些属性和方法小结
2011/09/13 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
js实现拖拽上传图片功能
2017/08/01 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
浅谈Vue-cli 命令行工具分析
2017/11/22 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
vue实现拖拽效果
2019/12/23 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
2020/04/20 Javascript
详解ES6新增字符串扩张方法includes()、startsWith()、endsWith()
2020/05/12 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
[01:18]PWL开团时刻DAY4——圣剑与抢盾
2020/11/03 DOTA
Python入门_条件控制(详解)
2017/05/16 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
比利时香水网上商店:NOTINO
2018/03/28 全球购物
澳大利亚快时尚鞋类市场:Billini
2018/05/20 全球购物
质监局领导班子践行群众路线整改方案
2014/10/26 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技