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字符串匹配算法KMP实例
Jul 18 Python
Python生成随机验证码的两种方法
Dec 22 Python
python的Tqdm模块的使用
Jan 10 Python
对PyTorch torch.stack的实例讲解
Jul 30 Python
python对日志进行处理的实例代码
Oct 06 Python
[原创]Python入门教程4. 元组基本操作
Oct 31 Python
python实现两个dict合并与计算操作示例
Jul 01 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
Jul 19 Python
Python实现直播推流效果
Nov 26 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
python安装sklearn模块的方法详解
Nov 28 Python
Python四款GUI图形界面库介绍
Jun 05 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
php zip文件解压类代码
2009/12/02 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
基于JQuery实现的类似购物商城的购物车
2011/12/06 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
详解javascript遍历方式
2015/11/11 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
2017/07/19 jQuery
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
vue结合axios与后端进行ajax交互的方法
2018/07/06 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
JS实现的点击按钮图片上下滚动效果示例
2019/01/28 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
Python爬取APP下载链接的实现方法
2016/09/30 Python
python挖矿算力测试程序详解
2019/07/03 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
Python tkinter实现简单加法计算器代码实例
2020/05/13 Python
屈臣氏越南官网:Watsons越南
2021/01/14 全球购物
.NET程序员的数据库面试题
2012/10/10 面试题
自我介绍演讲稿
2014/01/15 职场文书
教师一岗双责责任书
2014/04/16 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
python tkinter实现定时关机
2021/04/21 Python
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS