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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
python网络编程学习笔记(四):域名系统
Jun 09 Python
python新手经常遇到的17个错误分析
Jul 30 Python
python对url格式解析的方法
May 13 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
Python Django的安装配置教程图文详解
Jul 17 Python
pytorch 预训练层的使用方法
Aug 20 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
Python生成随机验证码代码实例解析
Jun 09 Python
Python批量修改xml的坐标值全部转为整数的实例代码
Nov 26 Python
python中os.remove()用法及注意事项
Jan 31 Python
python超详细实现完整学生成绩管理系统
Mar 17 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 字符串替换的方法
2012/01/10 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
windows下配置php5.5开发环境及开发扩展
2014/12/25 PHP
PHP异常处理Exception类
2015/12/11 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
JavaScript通过使用onerror设置默认图像显示代替alt
2016/03/01 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
js正则取值的结果数组调试方法
2018/10/10 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
nodejs脚本centos开机启动实操方法
2020/03/04 NodeJs
解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题
2020/08/03 Javascript
跟老齐学Python之大话题小函数(2)
2014/10/10 Python
python简单获取本机计算机名和IP地址的方法
2015/06/03 Python
开始着手第一个Django项目
2015/07/15 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
2017/09/05 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
Python 实现Numpy中找出array中最大值所对应的行和列
2019/11/26 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
图书馆标语
2014/06/19 职场文书
商业计划书格式、范文
2019/03/21 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
Golang 链表的学习和使用
2022/04/19 Golang