智慧感測與應用實務| 09 :文字處理、多執行緒、水銀開關、繼電器、移位暫存器、七段顯示器

Eric Y | 薪火相傳
Eric Y | 薪火相傳
6 min readApr 2, 2019

建立一份檔案CNN.txt ,放入一段文字,並將該檔案放置於樹莓派內

開啟樹莓派 於同路徑下寫入CNN.py

寫入以下資料

可以印出文字

split 切割字串

正則運算式

https://www.tutorialspoint.com/python/python_reg_expressions.htm

_____________________________________________

20190402 10:56

▉類別class

運用類別可以簡化程式碼

在檔案前面加__,存取等級變成private ,所以無法取得

______________________________________

▉存取等級

public

private>>兩個底線_ 例:xxx.__color

protected>>一個底線_ 例:xxx._color

_______________________________________

▉多執行緒

很多時候我們需要兩個程式碼同時運行,這時候就需要用到多執行緒

單執行緒: 以下圖片先跑完i迴圈,才跑j迴圈

更改成多執行緒:同時執行兩行程式碼

__________________________________________

查看樹莓派 狀態

在樹莓派內輸入 top

可以看到樹莓派內部資料

__________________________________________

輸入 pinout 可以看樹莓派電路安排

__________________________________________________

▉水銀開關

傾斜開關 — 由水平或垂直擺放決定是否通電的開關

▉繼電器

一種開關,由小電流控制開關大電流

▉移位暫存器74HC595

功能:減少腳位使用量

參考

https://openhome.cc/Gossip/CodeData/mBlockArduino/mBlockArduino18.html

低電位拉回高電位 會存入 移位寄存器 最左邊格

再一次 會存入 移位寄存器 最左邊格往右移動 然後存入8格滿

▉七段顯示器

測顯示器是否正常

先詢問店家 該七段顯示器是 共陰(Common Cathode)還是共陽(Common Anode),因為會決定接線方式,我使用的是共陰,故正中間上下方均為接地

測試led有無故障,其中一條接地並插在7段顯示器正中央,另外一頭接在GPIO 26孔位

並撰寫以下程式驅動

執行結果: 其中數字的一條LED亮起,再測試其他條LED是否正常(注意:不可兩條線路都連接七段顯示器,否則會短路)

連接更複雜的線路

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

pinDS = 17
pinSTCP = 27
pinSHCP = 22

GPIO.setup(pinDS, GPIO.OUT) #DS
GPIO.setup(pinSTCP, GPIO.OUT) #STCP
GPIO.setup(pinSHCP, GPIO.OUT) #SHCP
data = [

#A B C D E F G GP
[1, 1, 1, 1, 1, 1, 0, 1], #0
[0, 1, 1, 0, 0, 0, 0, 1], #1
[1, 1, 0, 1, 1, 0, 1, 1], #2
[1, 1, 1, 1, 0, 0, 1, 1], #3
[0, 1, 1, 0, 0, 1, 1, 1], #4
[1, 0, 1, 1, 0, 1, 1, 1], #5
[0, 0, 1, 1, 1, 1, 1, 1], #6
[1, 1, 1, 0, 0, 0, 0, 1], #7
[1, 1, 1, 1, 1, 1, 1, 1], #8
[1, 1, 1, 0, 0, 1, 1, 1] #9

]

try:

for i in range(len(data)):
GPIO.output(pinSTCP, 0)
for j in range(len(data[i])):
GPIO.output(pinSHCP, 0)
GPIO.output(pinDS, data[i][j])
GPIO.output(pinSHCP, 1)
GPIO.output(pinSTCP, 1)
time.sleep(1)

except KeyboardInterrupt:

pass

time.sleep(2)
GPIO.cleanup()

執行結果:

--

--