若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
Python Tutor是一套可以將程式碼視覺化的工具,幫助學習程式設計的人來了解程式碼的運作情形,支援的程式語言有Python2、Python3、Java、JavaScript、TypeScript、Ruby、C、 C++。
以Java語言為例,進入後會看到底下網頁:
按下 Visualize Execution 按鈕後,可看到類似下圖的結果(本文範例網址:https://goo.gl/Zd2GCn)
有四個按鈕 First、Back、Forward、Last 與滑桿可用來移動到程式的某一行,並觀察尚未執行此行程式的結果。此外網頁底下還有列出有使用 Python Tutor 的 MOOCs 課程以及程式範例。
底下有幾個教學影片可供參考:
Python Tutor - 30-second basics
Python Tutor - 3-minute introduction
Python Tutor - 6.5-minute full introduction
參考資料:
[1] http://pythontutor.com/
程式設計可以改變您的未來(Programming can change your future)。 雲林SONG 全名為雲林軟體工程(SOftware eNGineering),目標致力於軟體人才的培養並推廣開源軟體落實於資訊教育。程式設計的觀念是軟體產品的基礎,程式碼就像沙子一樣,要紮實,所建立出來的高塔才會穩固。本站也提供資訊教育相關的教學資源。 YunlinSONG stands for Yunlin SOftware eNGineering, offering tutorial for computer programming and promoting open-source software. Teaching resources in information technology education are provided here.
▼
當彈珠台遇到了arduino 之mBlock程式設計 ( mBlock: Taiwan Pinball Project )
本篇文章主要講解 Arduino 台式彈珠台的程式設計部分。
硬體材料:
1. Arduino UNO R3 板子 x 1
2. 感應開關(限位開關) x 9
3. 公對公杜邦線 x 11 (開關 9 條,麵包板+5V 與 GND 各一條)
4. 公對母杜邦線 x 24 (開關 18 條,蜂鳴器 2 條,LCD 4 條)
5. 麵包板 x 1
6. 蜂鳴器 x 1
7. I2C LCD x 1
8. 1K 電阻 x 9
接線對應腳位:
開關接 D2 ~ D10
蜂鳴器接 D12
LCD SDA 接 A4
LCD SCL 接 A5
mBlock I2C LCD 擴展
要讓 mBlock 可以使用 I2C LCD 的積木,需在 mBlock中,開啟擴展管理員安裝擴展 LCD I2C Pack 1.03。並將 NewLiquidCrystal (本文使用NewliquidCrystal_1.3.4.zip)解壓縮後,複製到mBlock 的 Arduino 程式庫路徑 C:\Program Files (x86)\mBlock\Arduino\libraries 。
再往下看前,請先思考彈珠檯要怎麼計分
底下是筆者所想到的幾個計分方式:
- 等差:1 + 2 + 3 + 4 + 5….
- 等比:1 + 2 + 4 + 8 + 16...
- 隨機加分:亂數1 + (亂數1+亂數2) + (亂數1+亂數2+亂數3)
- 質數:2 + 3 + 5 + 7 + 11 + 13 + 17 + 19 ...
當然還有其他的方式。
等差計分方式積木:
等比計分方式積木:
活動照片: https://www.facebook.com/groups/yunlinmaker/permalink/1120988434702083/
測試影片一:
測試影片二:
Baud rate 是什麼?
若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。
Buadrate 可以想成兩個人要溝通時,雙方的說話傳送速度與耳朵接收速度,假如甲方的說話傳送速度是一秒三個字,乙方的耳朵接收速度是一秒一個字,那當甲方說話時,乙方就會來不及處理了,就會造成聽不懂對方說什麼!
例如甲方說了:「從現在開始,我要告訴你一件天大的祕密!」
乙方會解讀成:「從開我訴件的」
那套在兩個晶片溝通上,兩個晶片的溝通速度不一樣的話,就會有亂碼產生的可能,發生的情況可能會在下列情況:
1. 兩台電腦用RS232相連的時候。
2. 藍牙模組與MCU (Arduino UNO等)溝通時。
3. 電腦與 Arduino Uno 溝通時。
4. ....其他。
簡言之,機器不像人類這麼厲害可以自動調整說話傳送速度與耳朵接收速度這兩點,所以只好透過一些設定的方式來讓傳送速度與接收速度都一樣,讓雙方聽得懂對方的話語。
OK,下面的影片可以讓人了解一些的通訊觀念。
Buadrate 可以想成兩個人要溝通時,雙方的說話傳送速度與耳朵接收速度,假如甲方的說話傳送速度是一秒三個字,乙方的耳朵接收速度是一秒一個字,那當甲方說話時,乙方就會來不及處理了,就會造成聽不懂對方說什麼!
例如甲方說了:「從現在開始,我要告訴你一件天大的祕密!」
乙方會解讀成:「從開我訴件的」
那套在兩個晶片溝通上,兩個晶片的溝通速度不一樣的話,就會有亂碼產生的可能,發生的情況可能會在下列情況:
1. 兩台電腦用RS232相連的時候。
2. 藍牙模組與MCU (Arduino UNO等)溝通時。
3. 電腦與 Arduino Uno 溝通時。
4. ....其他。
簡言之,機器不像人類這麼厲害可以自動調整說話傳送速度與耳朵接收速度這兩點,所以只好透過一些設定的方式來讓傳送速度與接收速度都一樣,讓雙方聽得懂對方的話語。
OK,下面的影片可以讓人了解一些的通訊觀念。