修 平 科 技 大 學 電 機 工 程 系 -...
TRANSCRIPT
實實務務專專題題報報告告書書
智智 慧慧 手手 機機 遙遙 控控 車車
指 導 老 師:程兆龍
專題製作學生:四技電四乙 周長逸 BD99061
四技電四乙 施博仁 BD99070
中華民國 102 年 12 月 26 日
修 平 科 技 大 學 電 機 工 程 系
DEPARTMENT OF ELECTRICAL ENGINEERING HSIUPING UNIVERSITY OF SCIENCE AND TECHNOLOGY
目 錄
圖目錄‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 3
摘要‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 4
第一章 導 論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 5
1-1 專題序論‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 5
1-2 製作動機‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 5
1-3 制作流程圖 ‧‧‧‧‧‧‧‧‧‧‧‧‧ 6
1-4 專題架構圖‧‧‧‧‧‧‧‧‧‧‧‧‧ 6
1-5 程式流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧ 7
第二章 遙控車基本簡介‧‧‧‧‧‧‧‧‧‧‧‧ 8
2-1 遙控系統‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 8
2-2 動力來源‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 8
第三章 專題使用元件介紹‧‧‧‧‧‧‧‧‧‧‧ 9
3-1 Arduino 開發板介紹‧‧‧‧‧‧‧‧‧‧ 9
3-2 L298N 馬達模組驅動介紹‧‧‧‧‧‧‧‧ 13
3-3 Eclipse 開發軟體介紹‧‧‧‧‧‧‧‧‧ 14
3-4 Android 作業系統介紹‧‧‧‧‧‧‧‧‧ 16
第四章 專題製作過程‧‧‧‧‧‧‧‧‧‧‧‧‧ 20
4-1 初步構想草圖及完成實體草圖‧‧‧‧‧‧ 20
1
4-2 製作過程與改進‧‧‧‧‧‧‧‧‧‧‧ 20
4-3 程式說明‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 25
第五章 總結‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 29
結論‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 29
參考文獻
專題組員介紹
2
圖 目 錄
圖 01.製作流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 6
圖 02.專題架構圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 6
圖 03.程式流程圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 7
圖 04.常見的紅外線遙控車‧‧‧‧‧‧‧‧‧‧‧‧ 8
圖 05.Arduino UNO‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 10
圖 06.ArduinoPro‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 11
圖 07Arduino Nano‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 11
圖 08.LilyPadArduinoUSB‧‧‧‧‧‧‧‧‧‧‧‧‧ 11
圖 09.Arduino Robot‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 11
圖 10.Arduino 開發軟體介面‧‧‧‧‧‧‧‧‧‧‧ 12
圖 11.L298N 馬達驅動模組‧‧‧‧‧‧‧‧‧‧‧‧ 13
圖 12.L298N 馬達驅動模組線路圖‧‧‧‧‧‧‧‧‧ 13
圖 13.Eclipse 軟體標誌‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 14
圖 14.初號車體配置草圖‧‧‧‧‧‧‧‧‧‧‧‧‧ 20
圖 15.完成後車體草圖‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 21
圖 16.電木板車體‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 22
圖 17.TAMIYA 公司的模型履帶車‧‧‧‧‧‧‧‧‧ 23
圖 18.HC-120 直流減速馬達‧‧‧‧‧‧‧‧‧‧‧ 24
3
摘 要
本專題主要使用 Arduino實習板與 Android開發平台使用 JAVA
撰寫應用程式,透過藍芽使智慧型手機與遙控車上的 Arduino做連
結,可對遙控車做基本的移動操作。
4
第一章 導論
1-1 序論:
遙控車(Radio-controlled cars),是 遙控模型 的一種,以
無線電 或 紅外線 等無線操控的方式控制的 玩具車 或 模型車。
遙控車的控制訊號透過遙控器上的發射器發出,由裝在車上的
接收器 接收,接收器根據接收到的訊號控制 車速、改變 車輪 的轉
動方向以及馬達 或 引擎 的運轉。簡單的遙控車只是能控制停與走的
玩具,而高級的遙控車可以是功能強大的 賽車,具所有實際賽車的
複雜和可調節的特性,速度更可超過時速一百公里。
1-2 制作動機:
本專題針對小時候每個人都玩過的遙控模型車做為製作方向,市
售便宜的遙控車多是利用紅外線控制,進行操控時容易被物體阻礙紅
外線訊號的傳遞,另外也有適用無線電作為操控的方式,但價格較昂
貴,跟專題指導老師討論過後,本專題選擇使用藍芽作為遙控車控制
的方式,在有效的範圍內訊號傳地幾乎不受干擾。
5
1-3 製作流程圖:
圖 01:製作流程圖
1-4 專題架構圖:
圖 02:專題架構圖
6
1-5 程式流程圖:
圖 03:程式架構圖
7
第二章 遙控車基本簡介
2-1 遙控系統:
2-1.1 紅外線遙控車為一般市售最常見的,價格低廉,但操控過
程易受阻礙。
2-1.2 無線電訊號則為專業遙控車玩家常用的遙控系統,其中
2.4Ghz 頻段最常使用。
2-2 動力來源:
2-2.1 電動遙控模型車就是使用電池做為動力,輸出電能到電動機
上,電動機再推動動車子。
2-2.2 油動力遙控模型車是使用專用的燃料作為動力,優點是速度
快,維修簡單。
圖 04:常見的紅外線遙控車
8
第三章 專題使用元件介紹
3-1 Arduino 開發板介紹
Arduino 是源自義大利的一個開放源程式碼的硬體專案平台,該
平台包括一塊具備簡單 I/O 功能的電路板以及一套程式開發環境軟
體,可以用來開發交互產品。
Arduino 也可以開發出與 PC 相連的周邊裝置,能在運行時與
PC 上的軟體進行通信。Arduino 的硬體電路板可以自行焊接組裝,
也可以購買已經組裝好的模組,而程式開發環境的軟體則可以從網上
免費下載與使用。
因為 Arduino 是一塊基於開放原始碼的 Simple I/O 版,並且具
有使用類似 java、C 語言的開發環境。可以快速使用 Arduino語言與
Flash 或 Processing 等軟體作出互動作品。
9
一、 Arduino 硬體介紹:
圖 05:Arduino UNO
如上圖所示:
1. USB 連結孔,用於傳輸資料及供電。
2. 穩壓器。
3. 電壓輸入孔,不使用 USB 孔時可接上 5V 變壓器或電池直接供電。
4. 電源控制接腳。
5. 類比訊號接腳。
6. 控制晶片。
10
7. LED:電源。
8. 數位訊號接腳。
9. LED:顯示區域 9 的 13 接腳為高電壓或低電壓。
10. LED:用來顯示傳遞接受的資料 RX 和傳遞出去的資料 TX。
11. RESET 按鈕。
12. USB Client 端晶片。
二、其他類型的 Arduino 開發板:
圖 06:Arduino Pro 圖 07:Arduino Nano
圖 08:LilyPad Arduino USB 圖 09: Arduino Robot
11
三、Arduino開發環境:
圖 10:Arduino 開發軟體介面。
Arduino 開發環境的主介面,如上圖所示,中間區域就是程式編輯區,
下方的黑色區域為資訊提示區。
Arduino 的開發環境是以 AVR-GCC 和其他一些開源軟體為基礎,採
用 Java 編寫的, 使用的語法與 c/c++相似,非常容易使用。
12
3-2 L298N 馬達驅動模組介紹
圖 11:L298N 馬達驅動模組。
這是一個很方便的 L298N模組,它可以驅動兩個直流馬達或
是一個步進馬達,控制訊號可以用 Arduino或是其它微控制
器輸入。
圖 12:L298N 馬達驅動模組線路圖。
13
3-3 Eclipse 開發軟體介紹
圖 13:Eclipse 軟體標誌
Eclipse 是著名的跨平台開源整合式開發環境(IDE),最初主要
用來 Java 語言開發,目前亦有人透過外掛模組使其作為 C++、Python
等其他語言的開發工具,Eclipse 的本身只是一個框架平台,但是眾
多外掛模組的支援,使得 Eclipse 擁有較佳的靈活性。
一、 歷史:
Eclipse 最初是由 IBM 公司開發的替代商業軟體 Visual Age for
Java 的下一代 IDE 開發環境,2001 年 11 月貢獻給開源社群,現在
它由非營利軟體供應商聯盟 Eclipse 基金會(Eclipse Foundation)管
理。2003 年,Eclipse 3.0 選擇 OSGi 服務平台規範為執行時架構。2007
14
年 6 月,穩定版 3.3 發行;2008 年 6 月發行代號為 Ganymede 的 3.4
版;2009 年 6 月發行代號為 Galileo 的 3.5 版;2010 年 6 月發行代號
為 Helios 的 3.6 版。
二、架構:
Eclipse 的基礎是富客戶機平台(即 RCP)。RCP 包括下列元件
核心平台(啟動 Eclipse,執行外掛模組)。
OSGi(標準框架)。
SWT(可移植構件工具包)。
JFace(檔案緩衝,文字處理,文字編輯器)。
Eclipse 工作台(Workbench),包含檢視(views)、編輯器
(editors)、視角(perspectives)、和精靈(wizards)。
Eclipse 採用的技術是 IBM 公司開發的(SWT),這是一種基於
Java 的窗口元件,類似 Java 本身提供的 AWT 和 Swing 窗口元件;
不過 IBM 聲稱 SWT 比其他 Java 窗口元件更有效率。Eclipse 的使用
者介面還使用了 GUI 中間層 JFace,從而簡化了基於 SWT 的應用程
式的構建。
15
3-4 Android 作業系統介紹
Android 是一個以 Linux為基礎的開放原始碼作業系統,主要用
於行動設備,由 Google 成立的 Open Handset Alliance(OHA,開放
手持設備聯盟)持續領導與開發中。安卓已發佈的最新版本為
Android 4.4。
一、 歷史:
2003 年 10 月,有「Android 之父」之稱的安迪·魯賓(Andy Rubin)
在美國加利福尼亞州帕洛阿爾托建立了 Android科技公司(Android
Inc.),並與利奇·米納爾(Rich Miner)、尼克·席爾斯(Nick Sears)、
克里斯·懷特(Chris White)共同發展這家公司。談到建立 Android
科技公司的原因,魯賓說:「聰明的移動設備能更好的意識到用戶的
愛好和要求。」儘管 Android 科技公司的創始人和員工過去都具有各
自的科技成就,但是 Android 科技公司的經營只顯露出它在智慧型手
機軟體的方面。 同年,魯賓為 Android 科技公司花光了所有的錢。
就在這時,史蒂夫·帕爾曼(Steve Perlman)遞給了魯賓一個信封,
在裡面裝有 1 萬美元的現金;帕爾曼並不是以投資的方式給魯賓這筆
錢,因為他拒絕了魯賓給他的股份。
16
2005 年 8 月 17 日,Google 收購了 Android 科技公司,Android
科技公司成為 Google 旗下的一部分。包括米奇·米納爾、克里斯·懷
特等所擁有的全資子公司,所有 Android 科技公司的員工都被併入
Google。當時沒有人知道 Google 為什麼作出這項收購,有許多的猜
測,後來證明 Google 正是藉助此次收購正式進入行動領域。
在 Google,魯賓領導著一個負責開發基於 Linux 核心移動作業
系統的團隊,這個開發項目便是 Android 作業系統。Google 的合作
平台為 Android 提供了廣闊的市場,Google 給予各大硬體製造商、
軟體開發商一個靈活可靠的系統升級承諾,並保證將給予它們最新版
本的作業系統。
二、 系統特色:
當前的 Android作業系統具有以下幾個功能:
顯示佈局:Android作業系統支援更大的解析度,給予 OpenGL ES
3.0標準規格(4.3版本開始支援 OpenGL ES 3.0)。
資料存儲:Android作業系統內置 SQLite小型資料庫管理系統來
負責儲存資料。
網路:Android作業系統支援所有的網路制式,包括 GSM/EDGE、
IDEN、CDMA、EV-DO、UMTS、Bluetooth、Wi-Fi、LTE、NFC和 WiMAX。
17
訊息:作為原設計給智慧型手機使用的作業系統,Android作業
系統原生支援簡訊和郵件,並且支援所有的雲端訊息和服務器訊
息。
語言:Android作業系統支援多語言。
瀏覽器:Android作業系統中內置的網頁瀏覽器基於 WebKit核
心,並且採用了 Chrome V8引擎。
支援 Java:雖然 Android作業系統中的應用程式大部分都是由
Java編寫的,但是 Android卻是以轉換為 Dalvik executables
的檔案在 Dalvik虛擬機上執行的。由於 Android中並不自帶 Java
虛擬機,因此無法直接執行 Java程式。
媒體支援:Android作業系統本身支援眾多格式的音樂、影片、
圖片格式,用戶可隨自己的需求安裝其他第三方應用程式。
串流媒體支援:Android作業系統支援 RTP/RTSP(3GPP PSS, ISMA)
的流媒體以及(HTML5 <video>)的流媒體,同時還支援 Adobe
的 Flash,在安裝了 RealPlayer之後,還支援蘋果公司的流媒體。
硬體支援:Android作業系統支援識別並且使用強大的照相機鏡
頭、多點觸控螢幕、GPS、加速計、陀螺儀、鍵盤、鼠標、USB Disk、
專用的遊戲控制器、體感控制器、藍芽設備、無線設備等。
18
多點觸控:Android支援原生的多點觸控,在最初的 HTC Hero智
慧型手機上即有這個功能。
藍芽:Android支援 A2DP,AVRCP,發送檔案(OPP),存取電話
簿(PBAP),語音撥號和智慧型手機之間的聯繫。同時支援鍵盤、
滑鼠和搖桿。
多工處理:Android作業系統支援原生的多工處理。
語音功能:除了支援普通的電話通話之外,Android作業系統從
最初的版本開始就支援使用語音操作來使用 Google進行網頁搜
尋等功能。而從 Android OS v2.2開始,語音功能還可以用來輸
入文字、語音導航等功能。
無線共享功能:Android作業系統支援用戶使用本機充當「無線
路由器」,並且將本機的網路共享給其他智慧型手機,其他機器
只需要通過 WiFi尋找到共享的無線熱點,就可以上網。
截圖功能:從 Android OS v4.0版本開始,Android作業系統便
支援截圖功能,該功能允許用戶直接抓取智慧型手機螢幕上的任
何畫面,用戶還可以通過編輯功能對截圖進行處理,還可以通過
藍芽、電子郵件及其他社群分享發送給其他用戶或者上傳到網路
上,也可以拷貝到電腦中。
19
第四章 專題製作過程
4-1 初步構想草圖及完成實體草圖:
最初的構想是在一片 16*11的電木板上將本專題所需的元件裝
設上去,但後來發現這項會讓整台車體看起來很擠,且在第一次裝設
時發現鑽孔不甚理想,導致車體水平不均,車體移動時會特別偏向某
一邊。
圖 14:初號車體配置草圖。
20
跟專題指導老師討論過後決定採用雙層車體,雖然車體重量變重了,
但各元件之間有更大的空間,測試時能更方便拆裝,也容易找到問題
點。
圖 15:完成後車體草圖。
21
4-2 製作過程與改進:
剛開始遇到的瓶頸應該是車體材料的選擇,最先我們考慮使用壓
克力材質作為我們的車體材料,但去店家詢問後發現價格跟我們預想
的不同只好作罷。
圖 16:電木板車體。
最後選擇使用價格低廉且硬度還算不錯的電木板作為本專題車
體的材料。
22
至於輪子部分,我們試過用各種材料如:寶特瓶蓋、木頭、模型
履帶車,前兩者因為遙控車跑起來的順暢度不甚理想,模型履帶車我
們在網路上有看到相關影片,雖然符合我們理想中的樣子,但也因為
經費受限所以放棄。
圖 17:TAMIYA 公司的模型履帶車。
23
為求精準我們選擇了 HC-120直流減速馬達。
圖 18:HC-120 直流減速馬達。
圖 19:HC-120 直流減速馬達規格圖。
24
4-3 程式說明:
4-3.1 手機程式: //顯示主要活動 public class BluetoothChat extends Activity { private static final String TAG = BluetoothChat; private static final boolean D = true;
//從 BluetoothChatService 傳來的訊息類型
public static final int MESSAGE_STATE_CHANGE = 1; //狀態變化 public static final int MESSAGE_READ = 2; //寫入 public static final int MESSAGE_WRITE = 3; //讀取 public static final int MESSAGE_DEVICE_NAME = 4; //裝置名稱 public static final int MESSAGE_TOAST = 5; //快顯視窗 //從 BluetoothChatService 傳來的名稱 public static final String DEVICE_NAME = device_name; public static final String TOAST = toast; //請求碼 private static final int REQUEST_CONNECT_DEVICE = 1; private static final int REQUEST_ENABLE_BT = 2; //輸出界面 private TextView mTitle; private String mConnectedDeviceName = null; private StringBuffer mOutStringBuffer; private BluetoothAdapter mBluetoothAdapter = null; private BluetoothChatService mChatService = null; private ImageButton mImgBntTop; private ImageButton mImgBntDown; private ImageButton mImgBntLeft;
25
private ImageButton mImgBntRight; private byte bImageKeyDown_n = 0x00; //宣告腳位 private Handler mHandlerTime = new Handler(); //尋找 Handler @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if(D) Log.e(TAG, +++ ON CREATE +++); //建立視窗輸出 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title); //建立標題 mTitle = (TextView) findViewById(R.id.title_left_text); mTitle.setText(R.string.app_name); mTitle = (TextView) findViewById(R.id.title_right_text); //藍芽連接 mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (mBluetoothAdapter == null) { Toast.makeText(this, Bluetooth is not available, Toast.LENGTH_LONG).show(); finish(); return; } //宣告按鈕名稱 mImgBntTop = (ImageButton)findViewById(R.id.ImgBntTop); mImgBntDown = (ImageButton)findViewById(R.id.ImgBntDown); mImgBntLeft = (ImageButton)findViewById(R.id.ImgBntLeft); mImgBntRight = (ImageButton)findViewById(R.id.ImgBntRight); //按下前進 mImgBntTop.setBackgroundResource(R.drawable.btn_autobacklightselect);
26
mImgBntTop.setOnTouchListener(new ImageButton.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ bImageKeyDown_n = 0x01; v.setBackgroundResource(R.drawable.btn_autobacklightn); Log.v(TAG,User press the button); }else if(event.getAction() == MotionEvent.ACTION_UP){ bImageKeyDown_n = 0x00; v.setBackgroundResource(R.drawable.btn_autobacklightselect); Log.v(TAG,User release the button); } return false; } }); //按下後退 mImgBntDown.setBackgroundResource(R.drawable.btn_autobacklightselect); mImgBntDown.setOnTouchListener(new ImageButton.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ bImageKeyDown_n = 0x02; v.setBackgroundResource(R.drawable.btn_autobacklightn); Log.v(TAG,User press the button); }else if(event.getAction() == MotionEvent.ACTION_UP){ bImageKeyDown_n = 0x00; v.setBackgroundResource(R.drawable.btn_autobacklightselect); Log.v(TAG,User release the button); } return false; } });
27
//按下左轉 mImgBntLeft.setBackgroundResource(R.drawable.btn_autobacklightselect); mImgBntLeft.setOnTouchListener(new ImageButton.OnTouchListener(){ public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ bImageKeyDown_n = 0x04; v.setBackgroundResource(R.drawable.btn_autobacklightn); Log.v(TAG,User press the button); }else if(event.getAction() == MotionEvent.ACTION_UP){ bImageKeyDown_n = 0x00; v.setBackgroundResource(R.drawable.btn_autobacklightselect); Log.v(TAG,User release the button); } return false; } }); //按下右轉 mImgBntRight.setBackgroundResource(R.drawable.btn_autobacklightselect); mImgBntRight.setOnTouchListener(new ImageButton.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN){ bImageKeyDown_n = 0x08; v.setBackgroundResource(R.drawable.btn_autobacklightn); Log.v(TAG,User press the button); }else if(event.getAction() == MotionEvent.ACTION_UP){ bImageKeyDown_n = 0x00; v.setBackgroundResource(R.drawable.btn_autobacklightselect); Log.v(TAG,User release the button); } return false; } }); //延遲 mHandlerTime.removeCallbacks(timerRun); mHandlerTime.postDelayed(timerRun, 500);}
28
第五章 總結
結論:
本專題從一開始的構思階段到最後完成一路上遇到不少
挫折,車體的配置、程式的撰寫到最後的實際測試。
完成後我們分成幾個階段進行測試,發現幾個問題,智
慧手機上的操控 APP 程式從按下按鈕到遙控車動作有短時
間的延遲,我們嘗試著去調整它的延遲時間,但會導致程式
出現錯誤,且遙控車在移動時我們發現移動的路徑會特別偏
向某一邊,這個問題在我們製作出初號車時就有發現,我們
猜想應該是組裝上不是很完美,馬達連接車體部分的螺絲孔
因為重複鑽孔的關係會讓它些微滑動,這些問題是我們需要
克服的。
關於這次智慧手機遙控車的製作,我們花了很多時間在
學習程式及硬體架構上,如果時間允許的話還想為遙控的部
分增加一些動作及功能,應用程式 APP 也想美化一些,這部
分有點遺憾。
29
參考文獻 [1]文淵閣工作室,Android 初學特訓班(第三版),碁峯資訊股份有
限公司,2013 年 4 月。
[2]于志鵬、林彥君,Android 關鍵技術:102 個核心問題解決方案分
析與設計,博碩文化股份有限公司,2012 年 4 月。
[3]陳會安,Android SDK 程式設計範例教本,旗標出版股份有限公
司,2012 年 7 月。
[4]孫駿榮、吳明展、盧聰勇,最簡單的互動設計 Arduino 一試就上
手(第二版),碁峯資訊股份有限公司,2012 年 9 月。
[5]柯博文老師,Arduino 教學
http://www.powenko.com/wordpress/?p=4163
[6]鐘家強,遙控車入門
http://goo.gl/C3zvcv
30
專題組員介紹
組長:
班級:四技電機四年乙班
學號:BD99061
姓名:周長逸
工作項目:撰寫 Arduino 程式、購買材料
專題製作心得:
我們這組作的式智慧型手機遙控車,主要是因為歷屆學
長以來所做的都是以 8051晶片作為主軸,手把做為遙控方
式,還沒有用過 Arduino來做過主軸和 Android作遙控,再
來因為 Arduino的使用方式非常的廣泛,三年級時也學過相
關的課程,改良過廁所手機遙控燈板,所以想將這個經驗用
來做我們這次的專題。
31
組員:
班級:四技電機四年乙班
學號:BD99070
姓名:施博仁
工作項目:撰寫 Android 程式、硬體架構
專題製作心得:
這個專題真的對我來說是一大挑戰,主要是想做些有
趣的題目,工具最好是手邊就有的,但沒想到難度還蠻大
的,程式的部分就讓我困擾了一段時間,解決了一個問題又
有另一個問題出來,可是跟專題指導老師以及組長一起討論
過後問題也漸漸解決了,這次專題實作讓我學到很多,也感
謝老師的指導還有一路上幫助我們度過難關的人讓我們能
夠有這樣的成果。
32