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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
在Python的Flask框架中实现单元测试的教程
Apr 20 Python
使用Python发送邮件附件以定时备份MySQL的教程
Apr 25 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
python爬取个性签名的方法
Jun 17 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
Dec 04 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
python 实现压缩和解压缩的示例
Sep 22 Python
Python如何把不同类型数据的json序列化
Apr 30 Python
Python中re模块的元字符使用小结
Apr 07 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实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
php创建session的方法实例详解
2015/01/27 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
2018/03/12 PHP
新页面打开实际尺寸的图片
2006/08/25 Javascript
来自国外的14个图片放大编辑的jQuery插件整理
2010/10/20 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
JS中的JSON对象的定义和取值实现代码
2018/05/09 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
Python中__call__用法实例
2014/08/29 Python
django初始化数据库的实例
2018/05/27 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
澳大利亚家具和家居用品在线:BROSA
2017/11/02 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
教师考核评语
2014/04/28 职场文书
心得体会的写法
2014/09/05 职场文书
会议开幕词
2015/01/28 职场文书
2015年信访工作总结
2015/04/07 职场文书
运动会宣传语
2015/07/13 职场文书
公司费用报销管理制度
2015/08/04 职场文书
使用Html+Css实现简易导航栏功能(导航栏遇到鼠标切换背景颜色)
2021/04/07 HTML / CSS
i5-10400f处理相当于i7多少水平
2022/04/19 数码科技