最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
樹莓派Python如何用2位數(shù)碼管顯示CPU溫度

這篇文章將為大家詳細講解有關樹莓派Python如何用2位數(shù)碼管顯示CPU溫度,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

遜克ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

用2位數(shù)碼管顯示CPU溫度

概述

樹莓派Python如何用2位數(shù)碼管顯示CPU溫度

前兩天 我們學習使用1位數(shù)碼管顯示個位數(shù)字倒計時,這次我們學習使用2位數(shù)碼管顯示CPU的溫度。

通過本節(jié)課,我們能學習到:

  • 2位數(shù)碼管的顯示原理

  • 視覺暫留顯示技巧

所需硬件

  • 樹莓派 x1

  • 面包板 x1

  • 杜邦線 x9

  • 2位數(shù)碼管 x1

原理說明

我們今天使用的是 3261BS 型號的2位共陽數(shù)碼管,先看看它的電路原理圖:

樹莓派Python如何用2位數(shù)碼管顯示CPU溫度

通過 上一篇 的學習,我們能夠看懂1位數(shù)碼管的電路圖了,而2位數(shù)碼管可以簡單的理解為2個1位數(shù)碼管的組合。

我們看最下面的一張圖,10號引腳和5號引腳,分別是數(shù)碼管第一個數(shù)字和第二個數(shù)字的公共陽極。

目標一:讓數(shù)碼管1和數(shù)碼管2的 A 管分別亮起來

數(shù)碼管期望達到的效果需要做的電路控制
數(shù)碼管1A 管亮10號引腳高電壓,3號引腳低電壓
數(shù)碼管2A 管亮5 號引腳高電壓,3號引腳低電壓

這個和操作1位數(shù)碼管是一樣的,但再看看接下來的目標可能就比較麻煩了:

目標二:讓數(shù)碼管1的 A 管亮,同時讓數(shù)碼管2的 A 管不亮

數(shù)碼管期望達到的效果需要做的電路控制
數(shù)碼管1A 管亮10號引腳高電壓,3號引腳低電壓
數(shù)碼管2A 管不亮5號引腳高電壓,3號引腳高電壓

問題出來了:因為3號引腳是共用的,所以這種電路控制無法實現(xiàn)。那怎么解決這個問題呢?為了解決這個問題,這里我們需要借助 視覺暫留

視覺暫留

這個原理最早源于電影制作??茖W實驗證明,人眼在某個視像消失后,仍可使該物像在視網(wǎng)膜上滯留0.1-0.4秒左右。電影膠片以每秒24格畫面勻速轉動,一系列靜態(tài)畫面就會因視覺暫留作用而造成一種連續(xù)的視覺印象,產(chǎn)生逼真的動感。家里常用的日光燈也是這個原理,日光燈并非一直亮著的,而是在以很快的頻率進行亮滅亮滅,當閃爍的頻率達到每秒25次以上的時候,人眼就認為是一直亮著的。

可以利用這個原理,只要在足夠短的時間間隔里分別顯示2個數(shù)碼管的數(shù)字,在人的視覺上就會認為這2個數(shù)字是同時顯示的。那我們在電路控制采用的辦法就是對3號引腳進行分時分配:0.01秒用于數(shù)碼管1的 A 管,接下來的0.01秒用于數(shù)碼管2的 A 管,這樣1秒鐘之內可以刷新50次,確保數(shù)碼管沒有閃爍感。

連線圖

在開始連接硬件電路之前,首先要做的事是將樹莓派電腦關機,并斷開電源。因為如果樹莓派主板帶電的時候,進行插接電路可能會導致電子元器件的燒毀,所以一定要記?。?/p>

連接電路的時候主板必須斷電。

示例代碼

#!/usr/bin/env python

# encoding: utf-8

'''

接線圖:

RPi digital

7 <---> 10

11 <---> 5

13 <---> 3

15 <---> 9

29 <---> 8

31 <---> 6

33 <---> 7

35 <---> 4

37 <---> 1

'''

import RPi.GPIO as GPIO

import time

import os

# 數(shù)碼管1-2正極分別使用的針腳

LED_POWER_1 = 7

LED_POWER_2 = 11

# A-G管分別使用的針腳

LED_A = 13

LED_B = 15

LED_C = 29

LED_D = 31

LED_E = 33

LED_F = 35

LED_G = 37

# 獲取CPU溫度

def get_cpu_temperature():

return os.popen('vcgencmd measure_temp').read()[5:7]

# 重置數(shù)碼管,熄滅所有數(shù)字

def reset():

GPIO.output((LED_POWER_1, LED_POWER_2), GPIO.LOW)

GPIO.output((LED_A, LED_B, LED_C, LED_D, LED_E, LED_F, LED_G), GPIO.HIGH)

# 設置第幾個數(shù)碼管亮起

def set_position(position):

if position == 1:

GPIO.output(LED_POWER_1, GPIO.HIGH)

else:

GPIO.output(LED_POWER_2, GPIO.HIGH)

# 顯示數(shù)字0

def show0(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_C, LED_D, LED_E, LED_F), GPIO.LOW)

# 顯示數(shù)字1

def show1(p):

reset()

set_position(p)

GPIO.output((LED_B, LED_C), GPIO.LOW)

# 顯示數(shù)字2

def show2(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_D, LED_E, LED_G), GPIO.LOW)

# 顯示數(shù)字3

def show3(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_C, LED_D, LED_G), GPIO.LOW)

# 顯示數(shù)字4

def show4(p):

reset()

set_position(p)

GPIO.output((LED_B, LED_C, LED_F, LED_G), GPIO.LOW)

# 顯示數(shù)字5

def show5(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_C, LED_D, LED_F, LED_G), GPIO.LOW)

# 顯示數(shù)字6

def show6(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_C, LED_D, LED_E, LED_F, LED_G), GPIO.LOW)

# 顯示數(shù)字7

def show7(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_C), GPIO.LOW)

# 顯示數(shù)字8

def show8(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_C, LED_D, LED_E, LED_F, LED_G), GPIO.LOW)

# 顯示數(shù)字9

def show9(p):

reset()

set_position(p)

GPIO.output((LED_A, LED_B, LED_C, LED_D, LED_F, LED_G), GPIO.LOW)

GPIO.setmode(GPIO.BOARD)

# 初始化引腳輸出模式

GPIO.setup((LED_POWER_1, LED_POWER_2, LED_A, LED_B, LED_C, LED_D, LED_E, LED_F, LED_G), GPIO.OUT)

function_directory = locals()

try:

while True:

cpu_temperature = get_cpu_temperature()

print 'CPU temperature = %s°C'%(cpu_temperature)

loop = 0

while loop < 200:

loop += 1

# 先顯示高位

position = 1

for n in cpu_temperature:

function_directory['show%s'%(n)](position)

time.sleep(0.01)

position += 1

except KeyboardInterrupt:

GPIO.cleanup()

保存為digital-2.py,并運行之。

sudo python digital-2.py

關于樹莓派Python如何用2位數(shù)碼管顯示CPU溫度就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)頁題目:樹莓派Python如何用2位數(shù)碼管顯示CPU溫度
當前地址:http://fisionsoft.com.cn/article/ippodj.html