Arduino 程式設計第一、二冊

目錄

第一冊

1準備工作

2、電腦運算思維的開始與資料的數位化

3、資料的運算與算術運算子

4、霹靂燈與陣列

58*8點陣LED與文字顯示

6、跑馬燈與告白板

7、人工智慧的開始-比較運算子、邏輯運算子、決策指令

8、任勞任怨的迴圈指令-for while

第二冊

9、七段顯示器與擲骰子

10、指撥開關與表決器

11、按壓開關與叫號器

12、新北110年國中技藝競賽題解

13、博奕程式與倒數計時器

14、搶答器與選秀表決器

15、蜂鳴器與電子琴

16、變頻原理與變頻無段電燈

17、可變電阻與調速器

18、光敏電阻與小夜燈

19、四位數叫號器與球賽計分版

20、電子時鐘與萬年曆

21、電子溫度計

22、遙控器

23、電子琴教學機

24、智慧電子琴

以上著作權屬洪國勝,PDF僅供教師參考,請勿列印、轉傳.

請大家要買書,作者才有資金研發優良好教材

因應教育部科技領域課綱「科技領域之教學,實作活動時數宜占整體課程時數的二分之一至三分之二」,翻閱目前中學生「生活科技」課本,課綱內容非常精彩且豐富,包含科技的本質、機構的繪圖、設計與製作、材料的選擇與加工、木工機具的保養與操作、能源與發電動力機械的原理與操作、電子電路的原理與操作、新興科技的發展與操作等。木工與手工具還停留在40年前工藝課的操作,當時我們的工藝課可以製作木工、鐵管小椅子、書架,拿來當作學校週會或家裡用。但現在環境不同了,塑膠一體整形的家具很便宜,所以已經不流行DIY,連帶家庭常備的木工、鐵工的小機具也慢慢消失;能源與動力設備則太大,無法在每個學校購置;電子電路原是不錯的科技實作選項,但目前已經被單晶控制取代。以筆者資訊教學35 年的經驗而言,本人大力推廣機電整合的Arduino 作為生活科技的實作課程。因為Arduino 所占空間最小,設備費最便宜,最適合全班教學。可完成的生活科技產品如字幕機、告白板、叫號器、電子鐘、計時器、溫度計、紅綠燈、霹靂燈、遙控器、電子琴等,都與生活息息相關。做完的產品可以帶回家用,可說是非常真實的生活科技之產品;且本項操作沒有觸電、刀具運轉等危險性,沒有粉塵、也沒有噪音,又可體驗與學習程式設計等運算思維。其次,我們也開發上課用教具,而使用教具教學的優點如下:

1、教具可放在學校工場重複使用,這樣老師不用向學生收錢,學生也不會因為忘了帶材料而影響進度,學生依序探索後,可依自己的興趣,自己購置材料,完成所需專題。

2Arduino具有自我保護電路,學生插錯也不會壞。

3、操作電路電壓僅為5V,任意觸摸、接錯電路等都不會有任何危險。

4、本公司教具有兩種,第1代是學生可以自己插線;第2代是接線也都預置,這樣更適合初學者,也減輕老師更多負擔。

筆者雖然程式教學與著作超過35 年,快樂與熱情不變。儘管不斷的重複讀稿,力求完善,但仍難免有疏漏及錯誤,尚祈各位先進不吝指正,將不當或錯誤詞句回傳給我,如下表,本人不勝感激。每年會選出與抽出精彩回函,寄發紀念品。本書感謝高師大工教系學妹王丹君老師、學弟蔡懷文老師主動加入共筆創作、完稿於蘆洲國中研習時,也感謝王漢卿老師主動幫忙改正很多錯誤,在此致謝。其次,筆者也會在泉勝出版網站(www.goodbooks.com.tw)刊登本書勘誤表。

洪國勝、王丹君、蔡懷文 謹識

推薦序

目前國民小學是採用圖形化介面的Scratch當作程式設計工具,高中、大學、業界則採用文字化的程式設計介面,如C/C++Python。國民中學就有點尷尬,到底要採用哪一種介面?看過洪國勝老師的『國中與高中生活科技實作-使用Arduino』,我也認同國中、高中生都應該使用文字式程式設計,這樣才能快速連結產業需求。

Arduino學程式

國中與高一學生因為數學基礎還太少,老師教程式還要先教數學,真的很費力,所以我也認同使用ArduinoLED實物來學習迴圈與陣列,這樣更能激發與維持學生學習程式設計熱度。其次,Arduino是生活科技、資訊科技最好的補充教材。因為單晶Arduino是目前最新科技主流,簡單的電路與程式就可嵌入目前工業與家用電器,進而簡化控制電路與節省開發的成本,如ABS防鎖死剎車、字幕機、電子琴、溫度計、遙控器、叫號器、電子時鐘等。

 

目前校園常用的單晶控制晶片有Macro:BitArduinoMacro:Bit 比較著重在圖形開發介面,主要是來讓小學生玩簡單的聲光控制遊戲; Arduino則是文字形式的開發介面,也是真實工業的嵌入式晶片,可真實改善許多生活與工業控制,適合中學生以上與社會人士學習嵌入式系統控制Arduino之所以能異軍突起,我認為是因為它主張開源,且軟硬體都是開放的,使用者可以站在巨人的肩膀,繼續接力開發新產品其次,Arduino輸出電流變大、腳位也變多,這樣可以簡化生活電器的四位數七段與點陣LED顯示。既然單晶電路已經簡化、成本也降低,那麼Arduino程式設計也就更適合拿來當作國高中的生活科技課程的實作教材,讓國中與高中生活科技也能與世界潮流平行接軌。學生學的都是目前新興科技,而且都是簡單的接線與簡單的程式,就可改善與實作目前生活科技產品,這樣的學習可說非常生動與實用,當然可以激發學生自造更多創新科技產品。

 

洪國勝老師是我76年高師大工教系畢業高徒,國高中雲縣與省賽工藝競賽科展優勝,所以立志讀工教系。大二全校程式設計第一名、大四全國大學含研究所『微電腦應用創作』優勝第一名,畢業分發高雄市立海青工商資訊科任教。退休後教學熱情不變,自力成立『泉勝出版有限公司』,自費推廣國高中的科技與程式教育,詳見泉勝出版網站。每本著作都是洪國勝老師累積超過40年實作與教學心得。所以,本人不斷推薦其C/C++PythonAPCSArduino等程式設計著作,也在此『國中生活科技實作-使用Arduino』寫公開序言推薦。

推薦人:國立高雄師範大學工業科技教育系

溫嘉榮教授

大力推薦

 

本書可作為生活科技、資訊科技補充教材

目前大家都已經買到『生活科技』、『資訊科技』教科書,不論是國中與高中,此課綱內容包金包銀包銅也包鐵,但是,但是您讀大學時,也沒有一個教授將整本書通通上完,而是依照學生的程度與授課時間,挑重點章節上課,而且很多實習有潛在的風險,例如,有些工具可能會傷手、有些工具會有觸電、產生噪音、粉塵(不是具有危險性就不好,而是國高中無法像高職一樣實習課分組教學,降低照顧學生人數;不是粉塵、噪音不好、而是您沒有足夠的吸塵、吸煙裝置,因為高職工場每台機具,都有排煙、吸塵設備),生活科技課與高職的實習課同樣要備料、機具保養,所以高職工科的實習課是分組教學,一班再分成兩組由2位老師分開同時教學,而且高職有技士技佐,幫忙準備材料與工場設備保養,國高中的生科不可能分組教學,也沒有技士技佐,一個人要兼工場的所有設備保養,上課前還要張羅材料。所以我就寫了『中小學自造與程式設計』,希望可以因地制宜,選擇適合自己學校的課綱,大力闡述授課。本書特色如下,期望所有科技老師,都能輕鬆廣栽桃李、春風化雨到六五。

特色1:生科與資科結合。

生科1節、資科也1節,學生從教室走到工場就要5分鐘,下課還要提早10分鐘收工具材料與掃地,那每次才能做30分鐘。所以我的教材可以連結資科與生科的教學,達到科技領域的統整教學。

特色2:我們有可重複使用的教具。

國高中應該沒技佐,那所有設備與材料就要自己張羅,也可能和高職一樣,不能額外收材料費,所以我們教材備有可重複使用的教具。這樣學生每次就可輕鬆空手來,腦袋滿滿回去,學生上課不用背著龐大材料擠公車,老師不用為每個班級重複備料,也不用擔心學生沒帶工具與材料,而影響上課教學進度,或干擾老師上課。

特色3:單晶片是最低壓、最安全的設備。

因為Arduino電源才5V,電流保護電路也精進提升了,學生摸到電、插錯腳位通通沒關係,通通都沒事,只要耐心排除故障點,連保險絲也不用換,就能繼續使用。而且Arduino也沒有高速轉動的刀具,不傷手,沒有粉塵、也沒有噪音,所以老師可以不用緊繃神經上課。

特色4:我們有充分的自我實作題材。科技領域課綱明訂要有三分之二的時間讓學生實作,而不是老師一直講講講,所以我們有與範例與讓學生精進的自我練習,這樣才能符合課綱精神『學生從自造中學習』,其次,老師適當的放下,不僅學生自造能力能提升,老師也才能延長使用年限。

為什麼選Arduino作為中小學生自造與程式設計教材呢?因為Arduino的優點如下:

1.   C語言還是目前程式設計主流。因為大學端設計的『大學程式設計先修檢測APCS』以C語言為程式設計語言,且Arduino又採用C語法,所以學習Arduino可完全無縫銜接國、高中、大學程式設計課程。

2.   可以自造實用科技產品。一般的程式語言VBC#、C/C++JavaPython等較偏重資料處理與科學計算,這些商業資料處理與科學計算通常要有很多數學基礎,這樣與小學、國、高中生距離就較遙遠,當然比較枯燥無味,學生很難維持熱度。但是Arduino就較全面了,因為它的輸出入較多元,有感測器、有聲有光,有LED、字幕機、LCD、遙控器等,這些都是日常生活的資訊科技設備,學生只要持續學習程式設計,馬上可以自造與改善一些實用生活科技產品,這樣當然較容易維持程式設計的熱度。

3.   有完整線上使用手冊。Arduino是目前所有程式語言中,線上使用手冊編輯最完整的軟體,不僅分類完整,還有範例程式,只要有任何問題,都可線上查詢,所以非常適合初學者。

4.   使用手冊的英文非常淺顯。要國際化就要學英文,Arduino使用手冊的英文又非常淺顯,學程式設計又可順道學習英文,這樣對於往後閱讀科技原文書有很大幫助。

6.   價格非常便宜。單晶微控板不到1000,且不用額外購買萬元燒錄器,學生在家就可自造完成霹靂燈、時鐘、遙控器、搶答器、電子琴、字幕機等現代科技產品。

7.   軟硬體都採用開放式開發。以往的單晶程式,原始程式可以作者自己保留,使用者僅能拿到二進位的冰冷執行檔,但是Arduino程式卻只能以原始程式發行,所以所有軟硬體技術都公開,大家都可互相品評彼此程式,這樣大家不藏私,大家才能一起進步。

8.   本套書預計出版三冊,每冊都有16單元,每一單元都有範例、指令與自我練習,非常適合中小學生一學期每星期一至二節的程式設計教材。

9、本冊的16個單元,主要是使用LED、七段顯示器、指撥開關與按壓開關等,透過範例,從程式語言最基礎的變數、常數宣告、各種運算子、算術運算等開始介紹,接著也介紹決策、迴圈與陣列等運算思維,所以非常適合中小學生作為學習程式設計的入門書。

10、其次,連續三年的高一學生生,因為國中沒有程式設計,且高中資訊科技課綱是假設學生已經修習國中資訊科技,所以本冊也適合目前高中一年級的程式設計銜接課程。

修正補充檔