本次是小幅修改以下網站作品加上中文註解,學習初期就是先動手抄,Make 最重要的是動手做再瞭解其中原理。
http://www.suppertime.co.uk/blogmywiki/2015/12/raspberrypi-dice-project/
開啟文字編輯器輸入以下程式碼。
#-*-coding:cp950-*-
#這一行是讓 Python 能用中文註解
from sense_hat import SenseHat # 載入SenseHat模組
import time # 載入時間模組
import random # 載入亂數模組
sense = SenseHat() # 顯示器 = SenseHat
sense.clear() # 清除顯示器
sense.show_message("Shake to roll!") # 顯示字串 Shake to roll!
b = [0, 0, 0] # b= 不亮
g = [0, 255, 0] # g= 綠色
r = [255, 0, 0] # r= 紅色
one = [ # 1 點的圖案
b,b,b,b,b,b,b,b,
b,b,b,b,b,b,b,b,
b,b,r,r,r,r,b,b,
b,b,r,r,r,r,b,b,
b,b,r,r,r,r,b,b,
b,b,r,r,r,r,b,b,
b,b,b,b,b,b,b,b,
b,b,b,b,b,b,b,b,
]
two = [ # 2 點的圖案
b,b,b,b,b,b,b,b,
b,g,g,b,b,b,b,b,
b,g,g,b,b,b,b,b,
b,b,b,b,b,b,b,b,
b,b,b,b,b,b,b,b,
b,b,b,b,b,g,g,b,
b,b,b,b,b,g,g,b,
b,b,b,b,b,b,b,b,
]
three = [ # 3 點的圖案
g,g,b,b,b,b,b,b,
g,g,b,b,b,b,b,b,
b,b,b,b,b,b,b,b,
b,b,b,g,g,b,b,b,
b,b,b,g,g,b,b,b,
b,b,b,b,b,b,b,b,
b,b,b,b,b,b,g,g,
b,b,b,b,b,b,g,g,
]
four = [ # 4 點的圖案
b,b,b,b,b,b,b,b,
b,r,r,b,b,r,r,b,
b,r,r,b,b,r,r,b,
b,b,b,b,b,b,b,b,
b,b,b,b,b,b,b,b,
b,r,r,b,b,r,r,b,
b,r,r,b,b,r,r,b,
b,b,b,b,b,b,b,b,
]
five = [ # 5 點的圖案
g,g,b,b,b,b,g,g,
g,g,b,b,b,b,g,g,
b,b,b,b,b,b,b,b,
b,b,b,g,g,b,b,b,
b,b,b,g,g,b,b,b,
b,b,b,b,b,b,b,b,
g,g,b,b,b,b,g,g,
g,g,b,b,b,b,g,g,
]
six = [ # 6 點的圖案
g,g,b,b,b,b,g,g,
g,g,b,b,b,b,g,g,
b,b,b,b,b,b,b,b,
g,g,b,b,b,b,g,g,
g,g,b,b,b,b,g,g,
b,b,b,b,b,b,b,b,
g,g,b,b,b,b,g,g,
g,g,b,b,b,b,g,g,
]
def roll_dice():
r = random.randint(1,6) # 隨機取得1~6的變數
if r == 1: # 如果變數是1
sense.set_pixels(one) # 顯示 1 點的圖案
elif r == 2:
sense.set_pixels(two)
elif r == 3:
sense.set_pixels(three)
elif r == 4:
sense.set_pixels(four)
elif r == 5:
sense.set_pixels(five)
elif r == 6:
sense.set_pixels(six)
while True:
x, y, z = sense.get_accelerometer_raw().values() # 取得加數計的值
x = abs(x)
y = abs(y)
z = abs(z)
if x > 1.4 or y > 1.4 or z > 1.4: # 如果任何一軸的值超過1.4
roll_dice() # 執行 roll_dice()
time.sleep(1) # 延遲 1 秒
將檔案存成 dice.py 。開啟 WinSCP 輸入登入資訊。
將 dice.py 拖曳到 Raspbreey 的 Sense_hat目錄。
用 SSH 登入 Raspberry 切換到 sense_hat 目錄,輸入 python dice.py。
每次搖動 Raspberry 都會產生新點數 。
參考資料 :
http://www.suppertime.co.uk/blogmywiki/2015/12/raspberrypi-dice-project/
https://www.raspberrypi.org/blog/astro-pi-tech-specs/
沒有留言:
張貼留言