(2) Hello World on Screen
程序碼作用: 輸出Hello World於LCD螢幕上。
學習目標:
1. 把字串輸出至LCD螢幕上。
預設已完成課題: (1) Hello World
步驟:
1. 選擇 ExampleàAI Teaching cases 1à2. Hello World on Screen,應出現如下磚塊程式碼。
2. 連接AI 模組至電腦。
3. 按RUN。
工作
1. 觀看磚塊程式碼,認識每一行程式碼的作用。(參考)
2. 看看原Python 程式碼,實際上的程式碼是甚麼? 有沒有留意到,Python 真正程式碼中,有些作用並沒有於磚塊程式碼中顯示。
討論問題:
1. 這程式碼的作用是甚麼?
2. LCD 螢幕上出現甚麼字串?
3. 如果不加入repeat forever ..do 的程式碼,試估計會有甚麼結果?
進階工作
1. 試試刪走一些程式碼,看看哪些程式碼不是必需的?
2. 試試把畫布大小改大一些,有甚麼事情發生?
3. 試試把畫布大小改小一些,又有甚麼事情發生?
作業:
1. 把以上程式碼根據以下狀況修改,測試是否能正確運行。然後拍照上載於Google Classroom。
(1) 字串: I love Programming
(2) 顏色: 綠色(green)
(3) 字串大小: 2
(4) 字串顯示位置: LCD 螢幕中央位置
程式碼說明
程式碼說明(按順序)
1. 啟動LCD 螢幕。
2. 創建空白畫布。CANVAS 是畫布變數名稱,所有資料都要先貯存於變數。留意 240 x 240 是LCD螢幕的像素大小。(Canvas 本身是畫布的意思)
3. 設定畫布的起始座標位置,否則要顯示的資料不知放甚麼位置。
4. 顯示字串的磚塊程式。
5. 於名為Canvas的畫布上,繪畫字串。
6. 設字串顯示時開始的位置。X是10,因不想太貼近邊緣。
7. 顯示輸出的內容(content)
8. 設定字串的顏色。
9. 設定字串的大小。
10. 設定字串是否要等距顯示(Monospace)
11. 要畫布資料顯示出來。留意! 沒有這句的話,不會顯示的,祇會貯存於變數內。
[Python 程式碼]:
import lcd
import image
_canvas_x, _canvas_y = 0, 0
lcd.init(type=2,freq=15000000,width=240,height=240,color=(0,0,0))
lcd.rotation(1)
lcd.clear(lcd.BLACK)
canvas = image.Image(size=(240, 240))
_canvas_x, _canvas_y = 0, 0
while True:
canvas.draw_string(10,0, "Hello World!", color=(255,255,255), scale=3, mono_space=False)
lcd.display(canvas, oft=(_canvas_x,_canvas_y))
沒有留言:
張貼留言