2017年10月10日 星期二

Android : Flash Player

最近要讓小孩子在零散的時間玩 Startfall http://www.starfall.com/ ),期待她能以自學的方式加強英文拼音。不過 Starfall 網站用的是 Flash 開發的互動式動畫,目前只剩桌機和筆電可以玩,攜帶方便及可免去開關機的手機和平板可說是無緣了。在等待更新舊筆電時,仍不死心的拿出 Android 4.4.x 的手機和平板出來試執行 FlashPlayer 可行的方案。上網輸入了「Android 4.4 flash player」的關鍵字,找到了底下這篇文章:



文章中說到可以安裝 Flash Player 並利用支援 Flash Player plugin 的 Dophin Browser 來開啟帶有 Flash 的網頁。文章裡面的方法以前試過是可以的,後來 Adobe 新出的 Flash Player 不再支援 plugin ,Flash Player 移除了,Dophin Browser 也就不曾使用了。

上面這篇文章中有據說被修改過的 Flash Player 11 載點,想說試試看無妨,結果真的可以讓 Flash 在 Android 中再現風采耶!

不過,不經一番寒澈骨,焉得梅花撲鼻香,又遇到底下的問題:

  • 如何跳過網頁檢查瀏覽器版本(User Agent)?
  • 如何讓 Flash 可以有 Click、Drag & Drop 的互動動作?

沒關係,Dophin Browser 只要進一步設定一下即可解決問題,底下就將設定截一下圖備忘。

2017年10月2日 星期一

HTML5 : BINGO

2013年九月寫過一個 Flash 版的 BINGO 小學具,讓孩子們可以複習學過的成語,最近上課將它又拿到課堂使用,孩子們很愛玩,於是答應他們會放到班級網站中,回家也可以練習。不過,考慮到 Flash 無法跨平臺,於是下定決心,把曾經動念改寫,卻一直放著沒完成的 HTML5 版 BINGO 拿出來開工。經過幾天的努力,算是沒辜負孩子們的期待,把它完成了。



試玩的網址如下:



有興趣將它改成自己的題庫的話,可以繼續往下,將本篇看完,底下的筆記可以提供各位參考。

2017年9月14日 星期四

HTML5 : wheel 幸運轉輪

2014年初,好友問我能不能做一個可以在桌機上執行的幸運轉盤小工具,為了可以跨平台使用,參考了 roachhd 有關控制轉盤轉速的程式碼:

利用 LimeJS 寫了一個簡單的 HTML5 幸運轉盤。它真的很陽春,我們在設定檔中輸入要當選項名稱的字串,然後即可自動產生幸運輪盤。桌機或筆電的使用者只要利用滑鼠拖曳輪盤一小段距離後放開滑鼠按鍵,而有觸控螢幕的載具則是利用手指拖曳輪盤一小段距離後放開,這些動作就相當於真實輪盤的轉動。程式會依拖曳的距離來模擬轉動輪盤的力量大小後,轉動轉盤,輪盤停止以後,會看指標落在哪一個選項,顯示選項的名稱。

這幾天把放了好久的幸運轉盤拿出來修改,讓它除了顯示轉到的選項名稱以後,可以跳出一個小「對話框」,我們可以在「對話框」中放入文字或是圖片。初步的應用就如同我的另一個 Flash 作品「戳戳樂」一樣,可以拿來當提問的數位教具。

以拖曳方式拉動轉盤選擇題目
選定後的提問對話框
底下簡單的說明一下如何建立自己的題目,有興趣的人可以參考看看。

2017年9月8日 星期五

Windows : 關閉搜尋 Windows Update 的驅動程式

換了教室,單槍投影機沒有內建虛擬電子白板可以使用,只好將塵封兩年的 Wiimote 拿出來架電子白板。電腦不同,系統不同,以前設定的一些細節又得重新摸索,先解決了第一個問題。

用自己寫的 Wiimote 藍牙連線程式老連線逾時而失敗,主要的原因是 Windows 7 安裝驅動程式時會先去 Windows Update 找看看有沒有新的驅動程式,等它找不到,回頭找系統預設的程式時,Wiimote 早就關閉配對的通道了。




想關閉 Windows 7 自動搜尋 Windows Update 的功能,可以依底下的步驟修改:

2017年9月3日 星期日

micro:bit : 自製接腳轉換座

如果想擴充 micro:bit ,除了 3V 和 GND 以外,它還提供了編號0~22的外接腳位,腳位的用途可以在官網的說明中找到:


如何和這些腳位連接呢?如果想用的只是 0、1、2、3V 和 GND,可以利用鱷魚夾或是以 3mm 的短螺絲和螺母來將導線鎖在腳位孔上。

想使用其它腳位的話,當然可以花錢買廠商做好的底座,用「micro bit edge connector」的關鍵字應該可以找到不少。

如果不想花錢,又剛好有 3D printer ,也可以印底下的模型來試試:


3D printer 印的缺點大概是用久了可能較不穩定。還是不滿意又不想花錢的話,就像我底下這樣,找塊廢棄的桌機主機板,把 PCI 插槽拆下來改裝吧!



2017年8月12日 星期六

Micro:bit : 跳躍計數器

Arduino、Raspberry Pi 一直沒有玩透,相了好久的 BBC Micro:bit 一直沒敢再下手,最近剛好有人開團,忍不住還是買了一片來玩。

半張名片大小的 Micro:bit 除了小巧以外,論功能強大,當然是無法和 Arduino 或是 RPi 相比,但是它內建了 BLE 藍芽、accelerometer sensor、magnetometer sensor 和 5x5 的 LED 陣列,加上各種平臺的寫程式工具,操作起來更加親民,讓初學者可以很快的享受寫程式的成就感。拿到的第一天就讓我家老婆測試,那種在平板上隨便拉幾個程序積木塊,上載以後就能看到字串在 Micro:bit LED 上顯示的成就感,可以很明顯的由笑開懷的表情中感受到。

稍微了解 Micro:bit 的運作方式後,寫了一個跳躍計數器,讓小孩子玩一下。

2017年7月27日 星期四

Inkscape : 工具列的設定數值無法顯示


使用 Inkscape 一直有個困擾,用了某一個繪圖工具或設定過某些值以後,工具列中的數值輸入區數字就會空白一片;這種情形也會發生在擴充功能的頁面切換以後。

之前遇到這種情形,只好先儲存檔案並關閉 Inkscape,再重新開啟圖檔來改設定值,可是 Inkscape 啟動很慢,每每都讓人搥心肝啊!

剛剛看到這一篇 Inkscape 臭蟲回報的討論串:
照著 #6 六樓的作法,在 Windows 先加入「LANG」的環境變數,並將值設為「en」的方法,重新啟動的 Inkscape 不再「偷藏數字」了耶!

2017年7月19日 星期三

Apps Script : 在 Spreadsheet 中產生短網址及QR code

在 Google Spreadsheet 中要如何產生短網址和 QR code 呢?Google 自家就有提供短網址和製作 QR code 的服務,而且它們倆還有很簡單的「密碼」呢!例如底下的這個 Google 短網址:
只要在後面再加個「.qr」就可以得到它的 QR code 圖片網址:
其實它也是一個短網址,原來應該是這麼長的:
利用 Google URL Shortener API,我們就可以在 Spreadsheet 中加入 Apps Script  ,幫我們取得短網址及 QR code 圖片的網址囉!

下面這兩個連結很有參考價值:
如果想自己寫 Apps Script ,有一個重點要注意,要到「Google Developers Console」中
點 「ENABLE API」,然後在「Other popular APIs」點「 URL Shortener API」,將它「ENABLE」才能製作短網址。寫了個練習的小作品,詳細的步驟有空再來整理一下。

底下是一個筆順練習的短網址及QR Code 產生器,建立原始文件的「副本」以後,只要兩個步驟即可輕鬆產生練習網址的總表。

1.先打開底下的網址,並建立它的副本來使用:



2.在「生字」那欄中輸入各課的生字



3.按上方主選單「短網址」中的「產生短網址及QR Code」。


如果是第一次使用,按完「產生短網址及QR Code」會出現「授權」的頁面,按照步驟完成授權的動作以後,即可開始製作短網址及 QR Code 了。

4.最後的輸出結果:


接著可以利用主選單「檔案」中的其它功能,將「總表」的工作表輸出到印表機或是轉為其它格式的檔案。







2017年5月27日 星期六

FFmpeg : 指定要加特效的時間點

2016年底的這一篇「雄 : FFmpeg : 影片剪接與加馬賽克」中利用了 youtube-dl 下載影片,並以 FFmpeg 為剪接、加馬賽克的工具,不過,當時不知道自己的 FFmpeg 版本太舊,以致於Timeline editing 的選項一直沒試成功,最後是用土法鍊鋼的方法完成了想達到的效果。這兩天心血來潮,更新了 FFmpeg ,花了一點時間研究了 Timeline editing 選項,再次體驗了 FFmepg 的強大。

這一篇就來細說重頭,一步驟一步驟的練功,最後建構出在指定位置、指定時段打馬賽克的影片。

2017年5月21日 星期日

Windows : Windows 7 「正在檢查更新」卡住

家裡唯一的 Windows 7 筆電好久沒更新了,為了不想搭上流行的「哭哭」,開了機想幫它更新,結果試了兩天,都只出現「正在檢查更新」的訊息,毫無進展。類似底下的畫面:


下載了所謂的 SP2 ,卻無法安裝,好在 google 到底下的討論串:



有人提到了這兩個 KB3020369、KB3125574:

試著到:
搜尋並下載修補檔案。



依序安裝完並重新啟動以後,Windows update 終於恢復正常了。


滿好奇的,「非常軟」既然知道自己的更新程式有問題,為什麼不會自己先下載該修補程式,修補完再繼續其它的更新檢查。管它~還是繼續用手動更新就好,不然,萬一哪天又出個大紕漏,系統毀了多麻煩。






2017年4月2日 星期日

3DP : 彈力車小型發射器

上一回幫小孩彈力車玩具,畫了發射臺,也設計了一部簡易的車子。哈~追求完美基本上是無藥可醫,發射臺一改再改,從方方的造型,變成圓圓的外觀;由需要鎖螺絲,變成利用卡榫固定。時間花了不少,但收穫更多。不過,要印一個發射臺,需要的時間還真不少;再者,車子得特別設計一個掛勾才能使用發射臺,於是想找一個更省時、通用的發射器。

許久以前,同事曾給了一個小型的彈力裝置,研究了它的發射機置,除了彈簧,只有三個零件,還滿有趣的,利用 3D printer 也做了一個。


來看看發射的原理:

2017年2月25日 星期六

3DP : 彈力車結合科學探討

小孩子的彈力車玩具壞了,以 Tinkercad 畫圖並利用 3D printer 幫她重做一個零件,替換發射底座壞掉的部份。哈!起了個頭,手又癢,連發射臺和車子都想設計了。後來因為腸胃炎,每天下班倒頭就睡,一點進度都沒有;好不容易稍微好一點了,便將腦袋的想法一一實作。

車子設計得很簡單,只有基本的底盤和輪子,主要是希望玩的人能自己發揮想像力,利用各種媒材去改裝,展現藝術方面的涵養。另外,因為使用的材料不同,車子的重量、重心......有差異,車子的性能表現也會不同,剛好可以切入科學方面的探討。


2017年2月12日 星期日

3DP : 用 G92 來設定目前的座標

3D printer 在開始輸出東西前,一般會利用「G28」的 Gcode 來讓各軸回到「Home」,馬達會運轉到觸發限位開關才停止,以此來當作計算座標的參考。以我的 Prusa i3 採用笛卡兒座標系統,當三軸的限位開關被觸發時,就當作那裡是零,其它位置的座標,就能依各軸旋轉的相關參數來計算。

3D printer 是由噴頭擠料塑形,座標看噴頭位置就好;但是如果將雷射裝在 3D printer 上,位置和被雷射的物體怎麼放又有很大的關係了。我本來是利用兩枝大冰棒棒做了一個呈九十度夾角的 L 形定位輔助,利用雷射弱光來定位,將輔器放在原點的位置以後,最後再用夾字來固定。這樣子就可以很快的將物件放到定點上。不過,用久了,還是會跑掉;有時則可能是物件形狀的問題,造成燒錯位置,尤其是小件的物品,差一點點就差很多了。後來懶得再去調 L 形輔具了,索性改用 Gcode 裡的「G92 」,直接告訴控制系統,那裡的座標是多少。

「G92」我之前拿來調整電容式近接開關的參數,記錄在底下的舊文中:



當時是針對 Z 軸,這回是應用在 X / Y 軸上。

例如要雷射的物件是一個直徑 12mm 的圓柱體,當我將東西放好,執行移動到圓柱圓心位置 (X=6, Y=6) 的指令:

G0 X6 Y6 F500

結果發現雷射並沒有剛好打在圓心上,於是以手動的方式慢慢移動 X / Y 軸的馬達,讓雷射能落在圓心上。

好~那怎麼讓系統知道那裡才是我們圓心的座標 (X=6 , Y=6) 呢?

換主角出場囉!執行底下的 Gcode :

G92 X6 Y6

我將這指令翻譯一下:「報告系統,請記住,這裡是 X=6,Y=6,Over!」。

接下來,機器會以此去推算其它位置了。

還記得第一次玩 Grbl 時,因為沒有限位開關,機器總是以開機的位置當 Home,搞不清楚它的座標系統,常讓馬達轉過頭。有了這個「G92」就方便多了。

不過要注意的是:

  • G92 後面如果都沒加參數的話,系統會當你是要執行「G92 X0 Y0 Z0 E0」哦!

G92 的詳細用法可以參考 Reprap 網站上的資料:





2017年2月8日 星期三

Inkscape : J Tech Photonics Laser Tool 換解析度

Inkscape 0.92 預設使用 96 DPI,這讓以前針對 90 DPI 設計的 Extensions 會有非預期的結果。當然啦!文件設定不好也有會有類似的情形發生。所以如果想使用 GcodeTools 一系列的 Gcode 轉換工具,在 Inkscape 0.92 版中,開始畫圖之前,記得先在「文件屬性」裡,將「Display units」設為使用「px」當單位,並將「比例」中的 X scale 設為「1」。此部份可以參考我的另一篇記錄:

可是光這樣還不夠,像  J Tech Photonics Laser Tool 這個 Extension,當初它是針對 90DIP 來寫的,匯出的 Gcode 輸出的圖形尺寸會不對。GcodeTools 的另一個「後代」Mr Beam gcode generators 比較跟得上時代,它就提供了換 DPI 的選項。

花了一點時間,將 Mr Beam 有關設置 Orientation 的程式片段,轉移到 J Tech Photonics Laser Tool  中,讓它也可能根據 Inkscape 的版本來設定 DPI。

另外也順便把 J Tech Photonics Laser Tool 中的一些些臭蟲給除了。修改過的檔案可以在下面的網址中下載:

備註:
修改的 J Tech Photonics Laser Tool 源自於「J Tech Photonics, Inc.」網站所分享的,最原始的程式可以由該單位的網站中下載:
https://jtechphotonics.com/

相關文章




2017年2月7日 星期二

Python : zero length field name in format

將一個可以在 Inkscape 0.92 正常執行的 Extension 放到 Inkscape 0.91 中卻出現以下的錯誤訊息:

comment = ";Image: {:.2f}x{:.2f} @ {:.2f},{:.2f}|".format(w,h,x,y) + file_id+"\n"
ValueError: zero length field name in format

因為兩個不同版本的 Inkscape 內建不同的版本的 Python,一個是 Python 2.7,另一個則是 Python 2.6 ,這又是改版以後產生的問題。

自 Python 2.7 以後,format 的格式可以不用指定參數的序號,例如:

{} {} {}

會自動對應 format 的參數一、參數二、參數三,但是這樣的格式在在舊版的 Python 2.6 中要改成:

{0} {1} {2}


所以將原來有錯的地方改為:

{0:.2f}x{1:.2f} @ {2:.2f},{3:.2f}|

錯誤訊息就消失了。




 
© 2009. Design by Pocket