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通过加号运算符操作列表的方法
Jul 28 Python
Python中内置数据类型list,tuple,dict,set的区别和用法
Dec 14 Python
Python使用sftp实现上传和下载功能(实例代码)
Mar 14 Python
python使用suds调用webservice接口的方法
Jan 03 Python
Python跳出多重循环的方法示例
Jul 03 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python ftplib模块使用代码实例
Dec 31 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
Python tornado上传文件的功能
Mar 26 Python
Django多个app urls配置代码实例
Nov 26 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
简述python四种分词工具,盘点哪个更好用?
Apr 13 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
2017/06/27 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
2020/05/26 PHP
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
Javascript生成json的函数代码(可以用php的json_decode解码)
2012/06/11 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
JS求平均值的小例子
2013/11/29 Javascript
判断日期是否能跨月查询的js代码
2014/07/25 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
JavaScript中constructor()方法的使用简介
2015/06/05 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
利用three.js画一个3D立体的正方体示例代码
2017/11/19 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
NodeJS实现不可逆加密与密码密文保存的方法
2018/03/16 NodeJs
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
Python跳出多重循环的方法示例
2019/07/03 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
Pytest框架之fixture的详细使用教程
2020/04/07 Python
美国婴儿用品店:Babies”R”Us
2017/10/12 全球购物
TripAdvisor日本:全球领先的旅游网站
2019/02/14 全球购物
初级Java程序员面试题
2016/03/03 面试题
行政文员岗位职责
2013/11/08 职场文书
单位婚育证明范本
2014/11/21 职场文书
导游词之新疆-喀纳斯
2019/10/10 职场文书