python多线程并发让两个LED同时亮的方法

 更新时间:2019年02月18日 10:45:02   作者:JensLee  
今天小编就为大家分享一篇python多线程并发让两个LED同时亮的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在做毕业设计的过程中,想对多个传感器让他们同时并发执行。之前想到

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实现TCP服务器端与客户端的方法详解

    python实现TCP服务器端与客户端的方法详解

    这篇文章主要介绍了python实现TCP服务器端与客户端的方法,以实例形式详解分析了Python实现服务器端与客户端的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-04-04
  • tensorflow转onnx的实现方法

    tensorflow转onnx的实现方法

    本文主要介绍了tensorflow转onnx的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • python输入、数据类型转换及运算符方式

    python输入、数据类型转换及运算符方式

    这篇文章主要介绍了python输入、数据类型转换及运算符方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 浅谈keras通过model.fit_generator训练模型(节省内存)

    浅谈keras通过model.fit_generator训练模型(节省内存)

    这篇文章主要介绍了浅谈keras通过model.fit_generator训练模型(节省内存),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python如何实现斐波那契数列

    python如何实现斐波那契数列

    这篇文章主要介绍了python如何实现斐波那契数列问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 还不知道Anaconda是什么?读这一篇文章就够了

    还不知道Anaconda是什么?读这一篇文章就够了

    Anaconda指的是一个开源的Python发行版本,其包含了Conda、Python等180多个科学包及其依赖项,下面这篇文章主要给大家介绍了关于Anaconda是什么的相关资料,需要的朋友可以参考下
    2023-02-02
  • Python之父谈Python的未来形式

    Python之父谈Python的未来形式

    这篇文章主要介绍了Python之父谈Python的未来,需要的朋友可以参考下
    2016-07-07
  • python+selenium实现QQ邮箱自动发送功能

    python+selenium实现QQ邮箱自动发送功能

    这篇文章主要为大家详细介绍了python+selenium实现QQ邮箱自动发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • python实现打开手机app并点击操作

    python实现打开手机app并点击操作

    这篇文章主要介绍了python实现打开手机app并点击操作,本文分为两部分一部分是打开应用,第二部分是调式手机连接电脑,需要的朋友可以参考下
    2022-04-04
  • 在keras 中获取张量 tensor 的维度大小实例

    在keras 中获取张量 tensor 的维度大小实例

    这篇文章主要介绍了在keras 中获取张量 tensor 的维度大小实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06

最新评论