Python Tutor 線上Coding工具介紹

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

Python Tutor是一套可以將程式碼視覺化的工具,幫助學習程式設計的人來了解程式碼的運作情形,支援的程式語言有Python2Python3JavaJavaScriptTypeScriptRubyCC++

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/

當彈珠台遇到了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. 等差:1 + 2 + 3 + 4 + 5…. 
  2. 等比:1 + 2 + 4 + 8 + 16...
  3. 隨機加分:亂數1 + (亂數1+亂數2) + (亂數1+亂數2+亂數3)
  4. 質數:2 + 3 + 5 + 7 + 11 + 13 + 17 + 19 ...

當然還有其他的方式。

等差計分方式積木:


等比計分方式積木:


活動照片: https://www.facebook.com/groups/yunlinmaker/permalink/1120988434702083/

測試影片一:


測試影片二:




偷插電的資訊科學二進位單元的Scratch程式

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

此程式是根據偷插電的資訊科學的二進位單元所發想出來的,遊戲玩法:
1. 按下綠旗,將十進位數字歸零。
2. 點擊卡片就會進行翻牌的動作。


Baud rate 是什麼?

若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。

Buadrate 可以想成兩個人要溝通時,雙方的說話傳送速度耳朵接收速度,假如甲方的說話傳送速度是一秒三個字,乙方的耳朵接收速度是一秒一個字,那當甲方說話時,乙方就會來不及處理了,就會造成聽不懂對方說什麼!

例如甲方說了:「現在始,要告你一天大祕密!」
乙方會解讀成:「

那套在兩個晶片溝通上,兩個晶片的溝通速度不一樣的話,就會有亂碼產生的可能,發生的情況可能會在下列情況:
1. 兩台電腦用RS232相連的時候。
2. 藍牙模組與MCU (Arduino UNO等)溝通時。
3. 電腦與 Arduino Uno 溝通時。
4. ....其他。

簡言之,機器不像人類這麼厲害可以自動調整說話傳送速度耳朵接收速度這兩點,所以只好透過一些設定的方式來讓傳送速度與接收速度都一樣,讓雙方聽得懂對方的話語。

OK,下面的影片可以讓人了解一些的通訊觀念。