0

0
0

文字

分享

0
0
0

輕鬆使用Android裝置控制樂高機器人:二維條碼

馥林文化_96
・2012/10/17 ・2388字 ・閱讀時間約 4 分鐘 ・SR值 553 ・八年級

文/曾吉弘、施力維(CAVE教育團隊

本期的App Inventor 機器人專欄將結合Android 應用程式中常見的QRCode 掃描功能,讓機器人可以讀取QRCode 中的資訊後執行對應的動作。您也會學到如何使用ZXing 的QRCode 產生網站來產生各種不同內容的二維條碼。
我們針對機器人來發展了一種特殊的二維條碼指令:「B,50,10,C,50,10」,依序代表了「左側馬達,左側馬達電力,左側馬達轉動距離,右側馬達,右側馬達電力,右側馬達轉動距離」。

 

什麼是QRCode?如何產生二維條碼?

QR 碼是一種條碼, 比我們去便利商店買東西時,店員所掃描的傳統條碼相比,可以儲存更多資料。另一方面,QRCode 還可以說明現在這筆資料的型態,例如是電話號碼、超連結、純文字或是地理座標等等,智慧型手機就可以根據這些資料型態來開啟對應的程式(如果是電話號碼就會詢問是否要撥號或是發送簡訊), 非常方便。現在您在街頭巷尾都可以看到各種QRCode ,掃瞄之後就可以造訪網站或是作為折價劵,QRCode 在日本已經是一項非常普遍的技術。

請到ZXing 的QRCode 網站,先選擇資料類型為URL 超連結( 圖1a), 輸入您想要的網址後點選「Generate」就可以看到QRCode了。接著您就能使用手機上任何一種QRCode 掃描軟體來掃瞄了( 圖1b), 還沒有的話請上Google Play下載。


圖1a 選擇資料類型為URL 後按下Generate 產升條碼。


圖1b 使用ZXing 條碼掃描程式來辨識QRCode 。

 

開始玩機器人

首先請把NXT 機器人準備好,並將左側馬達接在NXT 的輸出端B , 右側則是輸出端C(註1)。請確認NXT主機的藍牙是啟動的,接著將NXT 主機與Android 手機進行藍牙配對(註2),完成之後就可以把機器人放到一邊了,啟動藍牙之後您可以從NXT 主機的螢幕左上角看到藍牙的符號。

接下來依序介紹程式的各個功能:

STEP1:程式初始化與選取NXT主機

在程式初始化(Screen1.Initialize事件)時,將NXTList 清單指定為藍牙配對裝置清單(圖2a)。等到連線成功後( 圖2b), 才會顯示觸控板,原本無法按下的「掃描二維條碼」以及「斷線」等按鈕這時也都可以操作了。


圖2a 指定藍牙配對裝置清單。


圖2b 程式進入畫面。

點選主機完成並確認連線成功的話,會在畫面中間的黃色區塊顯示所連線的NXT 主機藍牙位址與名稱。


圖3a 連線成功後設定相關元件與顯示設備名稱。


圖3b 連線完成後才可以掃描條碼。

STEP2:開啟QRCode掃描程式

本次程式使用了App Inventor 的BarcodeScanner 元件來進行掃描,雖然說是一個程式元件, 但其實也只是呼叫手機上預先安裝的條碼掃瞄程式而已。請到Google Play 上搜尋「ZXing」, 您可找到由ZXing 團隊所開發的QRCode 掃描程式。按下「掃描二維條碼」按鈕之後就會開啟條碼掃瞄程式進行掃描。ZXing 掃描器連結


圖4a 點選按鈕來啟動條碼掃瞄程式。


圖4b 掃描中。

掃描完成後,會將掃描結果顯示在Label_msg 上, 並透過split at any指令將掃描結果以「,」分割成6 段。例如「B,50,10,C,50,10」就會被切成「B」、「50」、「10」、「C」、「50」與「10」等六個文字後存入qrcode_list 這個文字陣列中。


圖5a 掃描完成後顯示掃描結果。


圖5b 正確顯示掃描結果。

STEP3:機器人動起來!

按下「執行」按鈕就會讓機器人動起來, 在此使用了NxtDrive 中的MoveForward 指令, 接著將上一步中從掃瞄結果切出來的文字依序塞到MoveForward 指令的component、power與distance欄位。


圖6 填入MoveForward 指令的對應欄位。

STEP4:斷線

按下[ 斷線] 按鈕之後, 會中止藍牙連線(BluetoothClient.Disconnect指令),並使按鈕恢復到未連線時的狀態。這時候您可以再次發起連線。


圖7 按下[ 斷線] 按鈕時中斷藍牙連線。

STEP5:造訪CAVE教育團隊網站

點選畫面下方的CAVE 教育團隊圖案就能造訪我們的網站, 這是透過ActivityStarter 元件將網址指定給瀏覽器所完成的。為了避免使用者誤觸按鈕就直接跳出程式,我們使用了Notifer 元件來產生一個確認視窗(圖9),當使用者點選「YES」時就會跳離程式,並啟動手機上的瀏覽器來造訪網站。


圖8 按下CAVE 圖像後顯示對話視窗,點選OK則開啟網站。


圖9 顯示對話視窗來詢問是否跳離程式。

操作:

實際執行的時候,請先確認NXT 已經開機且藍牙也啟動了。請先點選「選擇裝置」來選擇NXT 主機,接著點選「掃描二維條碼」按鈕來掃描本文中所附的二維條碼,最後再按下「執行」按鈕。機器人是否順利地動起來了呢?本範例結合Android 程式中常用的二維條碼掃描功能控制機器人,您可以運用巧思製作一系列條碼讓機器人進行尋寶大作戰。使用條碼產生網站來設計更多條碼內容來豐富您的機器人!


BC馬達以電力50前進                        BC馬達以電力30後退

 


BC馬達以電力60原地右旋轉             BC馬達以電力(40, 80)朝左前方移動

 

歡迎大家由這個下載本程式來玩玩看!或掃描以下的QRCode也可以唷!更多有趣的機器人app請在Google Play搜尋「CAVE 教育團隊」就找得到了。

註1:機器人運動方向有可能因為車頭指向而和程式設定相反,只要將左右馬達電線互換即可。
註2:將Android手機設定為可安裝非Market下載的程式以及讓手機與樂高NXT 主機連線等說明請參考連結
註3:與NXT連線後如果出現[Error 402]之錯誤訊息請不必理會,程式依然能正確執行。
註4:由於App Inventor本身限制的緣故,並非所有的條碼掃瞄程式都能順利被App Inventor啟動,因此建議安裝ZXing的條碼掃瞄程式。

文章原文刊載於《ROBOCON》國際中文版2012/11月號

文章難易度
馥林文化_96
54 篇文章 ・ 6 位粉絲
馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/


0

2
0

文字

分享

0
2
0

小鼠研究指「間歇性禁食」可延年益壽——重點不在總熱量,延長用餐間隔才是重點!

台灣科技媒體中心_96
・2021/10/24 ・2679字 ・閱讀時間約 5 分鐘

2021 年 10 月 18 日,國際期刊《自然醫學》(Nature Medicine)公開的一篇研究論文,探討飲食模式和改善生理健康之間的關係。研究將小鼠總共分為五組:(1)自由取食、(2)限制 30% 的熱量攝取,但沒有禁食期、(3)限制 30% 的熱量攝取,半天內給食三次,另外半天禁食、(4)限制 30% 的熱量攝取,每天只給食一次,其他 21 小時禁食、(5)熱量攝取總量不變,但每天禁食 21 小時。

研究運用液相層析質譜儀(Liquid chromatography–mass spectrometry),以及轉錄組分析(Transcriptional profiling)等方法,發現僅「禁食」而沒有減少攝取的總熱量,就足以得到在限制熱量的飲食模式時出現的大部分代謝與核酸轉錄的特徵,以及延長壽命、防止衰弱等健康上的好處。

該研究歸納出以下三大結論:

  1. 過往研究限制熱量攝取的好處時,無法分辨原因是「總卡路里攝取下降」還是「有規律的長時間禁食」。這篇研究協助釐清熱量限制帶來好處的原因,發現單純禁食而並不減少總熱量攝入,就足以達到有助代謝和延緩老化這些健康效果。
  2. 研究是在特定的條件下所觀察到的現象,不同性別及不同品系的小鼠,禁食的效果就不同,無法廣泛推論於不同物種或不同飲食文化的個體。
  3. 禁食很可能是限制卡路里攝取時,可改善健康和長壽所必需的關鍵。如果可以證明適用於人類,未來可能幫助人們在不需要減少卡路里攝取總量的情況下,也能延緩老化、促進健康。
圖/Pixabay

大爆吃再間歇性禁食更健康?仍有待證實

臺大醫學院腦與心智科學研究所教授王培育指出,適當的飲食限制對於促進代謝、預防疾病及延長壽命的益處已是廣為人知。然而在早期用酵母菌、線蟲及果蠅作為實驗對象的研究中,受限於實驗模式,大多是以稀釋食物中的營養成份且自由飲食的方式來觀察飲食限制的好處 [1][2][3]

而在哺乳類中,小鼠或猴子實驗則是以每日一到二次或數日一次的方式,餵食正常食量的 40-80% [4][5],因此,一直以來飲食限制所帶來的好處被認為是降低日常飲食中卡路里的總量所導致。但是這些傳統的觀點在近年來的研究中已是備受挑戰,例如每日限制時間或食物量的餵食或禁食(於幾個小時內自由飲食或吃完定量的食物),也可明顯的達成健康長壽的好處 [6]

所以,重要的究竟是卡路里減量,還是禁食?本篇研究利用特定品系的小鼠,以系統性的方法實驗數種飲食的模式並且分析多種代謝及生理指標。結果顯示適當的禁食,可能是影響健康指標的關鍵,然而這是否意味著大吃大喝但間歇性的禁食是比少量及少餐更好的選擇呢?有待日後有更多的研究證據來說明。

規律禁食/進食,比總熱量攝取更重要

王培育也指出,這份研究僅使用了兩種品系的公、母小鼠進行研究,便可觀察到飲食限制對於不同性別及兩種品系小鼠的生理反應造成許多的差異,顯示本研究是在特定的條件下所觀察到的現象,無法廣泛推論於不同物種或不同飲食文化的個體。

這份研究提供一個重要的概念,適當的禁食可以達成傳統的飲食限制(禁食加上卡路里減量)對身體健康的好處,因此營養均衡、不必在卡路里上斤斤計較,一樣可能擁有健康長壽。

王培育指出,這份研究詳盡的比較了長期限制總熱量攝取與間歇性禁食,對代謝、老化以及壽命的影響,結果也顯示了有規律的間歇性禁食也許就足以帶給我們健康上的各種好處。這告訴我們,吃什麼、吃多少固然重要,何時吃以及飲食是否規律也許更重要。這結果與上月一篇發表在期刊《自然》(Nature)上的果蠅間歇性禁食實驗結果不謀而合 [7]

這份研究提供一個重要的概念,適當的禁食可以達成傳統的飲食限制(禁食加上卡路里減量)對身體健康的好處。圖/Pixabay

「禁食」才是有助代謝的關鍵

國立中興大學食品暨應用生物科技學系特聘教授蔣恩沛指出,過去許多研究都發現「限時進餐」或「限制進餐量」具有代謝益處,並延長小鼠的壽命。然而這些發現並無法釐清,哪些是純粹因為減少熱量攝入引起的好處,而哪些是因實驗要控制卡路里而無形中施加了禁食所致。

本研究在小鼠實驗中發現,限制卡路里的飲食方式,促成葡萄糖代謝、虛弱和壽命的各項改善,其實需透過「禁食」來達成。研究推翻了長期以來認為卡路里限制飲食對哺乳動物有益僅是由於減少總熱量攝取的觀點,並強調當中的「禁食行為」才是有助代謝(例如提升胰島素敏感性)和延緩老化這些保護作用的重要原因。

研究結果揭示了我們何時以及吃多少食物,如何調節代謝健康和壽命,並證明每天延長禁食,而不僅僅是減少熱量攝入,可能是熱量限制飲食對改進代謝和延緩老化的原因。過去已有研究表明,延長兩餐間隔對健康有益,本研究結果與過去研究也有相當的一致性。

蔣恩沛表示,人類老化過程中所伴隨的退化過程和疾病,有許多變因,除了攝食量、飲食方式、種類,還有基因、環境因素,甚至腸道菌相,均可能扮演角色,遠比實驗動物複雜。然而可以確定的是,限制熱量攝取可提供代謝上的益處,並可能減緩衰老、延長壽命。

圖/Pexels

本文編譯自科學期刊文章,完整文章來源:

參考資料:

台灣科技媒體中心_96
156 篇文章 ・ 375 位粉絲
台灣科技媒體中心希望架構一個具跨領域溝通性質的科學新聞平台,提供正確的科學新聞素材與科學新聞專題探討。
網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策