互動媒體技術(shù)也稱多媒體互動技術(shù),其關(guān)注的是計(jì)算機(jī)和外界環(huán)境的信息互動。科技館展廳中常見的電子魚缸、互動投影、虛擬翻書和4D影院等科普項(xiàng)目,正是典型的互動媒體作品,體現(xiàn)了科技和藝術(shù)相結(jié)合的神奇魅力。S4A是Scratch的修改版本,它提供了對Arduino和Andriod的支持。使用S4A,只要拖曳圖標(biāo),就能編寫出交互功能強(qiáng)大的媒體作品。通過《青少年科技創(chuàng)新叢書:S4A和互動媒體技術(shù)》,不僅可以學(xué)習(xí)到門檻極低的人機(jī)互動技術(shù),還可以理解并體驗(yàn)智能家居和物聯(lián)網(wǎng)等高新技術(shù)。
《青少年科技創(chuàng)新叢書:S4A和互動媒體技術(shù)》適合對互動媒體技術(shù)或者互動裝置藝術(shù)感興趣的初學(xué)者,也適合對科技制作、硬件編程感興趣的中小學(xué)生。
藝術(shù)為科技提供想象和創(chuàng)造的空間,科技為藝術(shù)提供了實(shí)現(xiàn)夢想的方法,互動媒體是科技和藝術(shù)相結(jié)合的學(xué)習(xí)領(lǐng)域,具有神奇的魅力。所有對互動媒體感興趣的人都可以閱讀本書,不管是小學(xué)生、中學(xué)生還是在校大學(xué)生,或者是對科技動手感興趣的教師、家長。當(dāng)然,如果你學(xué)過Scratch編程,或者折騰過Arduino硬件,更應(yīng)該看看這本謝作如編著的《S4A和互動媒體技術(shù)/青少年科技創(chuàng)新叢書》,從中可以獲得一定的啟發(fā)和靈感。
為什么要寫這本書
“學(xué)生喜歡電腦,但不喜歡信息技術(shù)課!薄2006年,上海師大黎加厚教授在博客中寫下這句話。
學(xué)生為什么不喜歡信息技術(shù)課?黎教授認(rèn)為,現(xiàn)行的信息技術(shù)課程內(nèi)容和教學(xué)方法存在問題: 教材上講的是學(xué)生們已經(jīng)會的,學(xué)生不會的和社會生活中需要的知識技能,教材上沒有。信息技術(shù)飛速發(fā)展,層出不窮的新技術(shù)、新軟件、新服務(wù)向人們涌來,造成“新課程不新”的永恒的滯后現(xiàn)象。
我曾經(jīng)把信息技術(shù)課程方面的問題分為三類: 為什么教、教什么和怎么教!敖淌裁础钡膯栴},其實(shí)直接影響了學(xué)生對課程的興趣程度。拿什么課程內(nèi)容來吸引學(xué)生,然后讓他們愛上技術(shù)?這幾年來我一直在思考這一問題,并開發(fā)了一門名為“互動媒體技術(shù)”的課程,試圖在課程建設(shè)方面有所突破。本書就是“互動媒體技術(shù)”課程的最重要成果之一。
互動媒體是一個(gè)全新的領(lǐng)域,一般稱為互動式多媒體、交互式多媒體或者互動多媒體。2010年的上海世博會,標(biāo)志著我國新媒體藝術(shù)方面進(jìn)入了成熟期。但人們對互動媒體的關(guān)注,主要是其媒體內(nèi)容和藝術(shù)表現(xiàn)力,很少關(guān)注其背后的支撐技術(shù)。在高校尚且很少看到類似的課程,且不要說基礎(chǔ)教育了。在我國當(dāng)前的課程體系中,像互動媒體技術(shù)一樣同時(shí)涉及軟、硬件的綜合技術(shù)是空白的。技術(shù)的淺薄,是基礎(chǔ)教育課程的通病,從高中課程內(nèi)容中可以管窺: 通用技術(shù)課上學(xué)做凳子,信息技術(shù)課上學(xué)信息搜索。于是,在世博會和一些科技館中,學(xué)生面對互動媒體作品只會一臉驚喜,卻不知道這些作品是如何運(yùn)行的!盎用襟w技術(shù)”課程的開發(fā),就是基于這樣的背景。
“互動媒體技術(shù)”課程的開發(fā)并不是一帆風(fēng)順的,在找硬件和軟件平臺方面,耗去了我很多精力。直到后來發(fā)現(xiàn)了Arduino和Scratch。其實(shí)Arduino的誕生和互動媒體有著千絲萬縷的關(guān)系,Massimo Banzi和David Cuartielles本來就是為了讓從事互動設(shè)計(jì)的學(xué)生容易掌握單片機(jī)技術(shù)而開發(fā)的。Scratch的設(shè)計(jì)更是“天才”,讓編程和游戲一樣有趣。就這樣,Arduino提供了廉價(jià)且功能強(qiáng)大的硬件,Scratch則將編程的門檻降到最低。來自西班牙加泰羅尼亞的Citilab團(tuán)隊(duì)將二者完美地結(jié)合在一起,推出了S4A。S4A為我們的學(xué)生開啟了互動媒體技術(shù)的大門!
縱觀國內(nèi)Scratch的教學(xué)現(xiàn)狀,更多的老師僅僅把Scratch作為學(xué)生編寫小游戲的工前言 S4A和互動媒體技術(shù)〖2〗〖2〗 〖1〗 具。在一些場合,Scratch愛好者會很謹(jǐn)慎地表示,Scratch非常適合小學(xué)生。初、高中為什么不能用?2011年,我在全國高中優(yōu)質(zhì)課展評活動中,用Scratch上了一節(jié)“用計(jì)算機(jī)程序解決問題”的信息技術(shù)課。有聽課的專家就表示在高中階段使用圖形化編程過于簡單。也許他不知道,越來越多的圖形化編程語言(G語言)在涌現(xiàn),除Scratch外,LabView、App Inventor、blockly、Sikuli都受到很多人的歡迎。在某些高校的工科課程中,常?梢钥吹綀D形化編程語言的身影。
我一直認(rèn)為,編程不應(yīng)該僅僅屬于專業(yè)程序員的專利,一些藝術(shù)、科學(xué)領(lǐng)域的人士,也應(yīng)該能夠拿起某個(gè)簡單的編程工具,寫個(gè)小程序,表達(dá)自己的創(chuàng)意或者解決某個(gè)問題。所幸的是,這幾年面向“非專業(yè)”人士的編程工具越來越多了,如Processing,一款專為設(shè)計(jì)師和藝術(shù)家設(shè)計(jì)的編程語言。再如App Inventor和AppArchitect,能夠用圖形化的方式給Android和IOS編寫App。其實(shí),在我們的學(xué)生中,將來真正從事程序編寫工作的也不過是其中極小的一部分。技術(shù)教育是普及教育,而不是僅僅為了培養(yǎng)某幾個(gè)精英。
2011年,一個(gè)新的教育名詞——STEM(Science,Technology,Engineering and Mathematics,科學(xué)、技術(shù)、工程和數(shù)學(xué))引起我的關(guān)注。STEM教育是一個(gè)多學(xué)科交叉的研究領(lǐng)域,強(qiáng)調(diào)把學(xué)生學(xué)習(xí)到的零碎知識與機(jī)械過程轉(zhuǎn)變成一個(gè)探究世界相互聯(lián)系的不同側(cè)面的過程。一個(gè)STEM課堂的特點(diǎn)就是在“雜亂無章”的學(xué)習(xí)情境中強(qiáng)調(diào)學(xué)生的設(shè)計(jì)能力、批判性思維和問題解決能力。這種復(fù)雜的學(xué)習(xí)情境包含了多種學(xué)科,強(qiáng)調(diào)綜合技術(shù)的應(yīng)用!盎用襟w技術(shù)”課程以培養(yǎng)學(xué)生STEM素養(yǎng)為目標(biāo),以研究互動媒體作品的支撐技術(shù)為教學(xué)內(nèi)容,通過一系列的互動媒體實(shí)驗(yàn),把新奇創(chuàng)意變身為現(xiàn)實(shí)。相對于大家熟悉的智能機(jī)器人課程來說,互動媒體技術(shù)側(cè)重于通信和媒體展示,即人機(jī)互動。從技術(shù)門檻上看,互動媒體技術(shù)關(guān)注外設(shè)和計(jì)算機(jī)的交互,技術(shù)門檻較低,趣味性更強(qiáng),不僅適合具有科技特長的學(xué)生,也適合在藝術(shù)上有特長的學(xué)生學(xué)習(xí)。
2012年,正是創(chuàng)客(makers)、3D打印機(jī)、新工業(yè)革命等名詞在悄悄醞釀并發(fā)酵的年份,各種關(guān)于Scratch、Arduino的書籍紛紛出版。我受到吳俊杰老師的“慫恿”,第一次有了為S4A寫本書的沖動。在他的引薦下,有幸認(rèn)識了北京鄭劍春老師(清華大學(xué)出版社《青少年科技創(chuàng)新叢書》編委會負(fù)責(zé)人),很快就確定了本書的定位和大綱。
本書從構(gòu)思到成稿,差不多十個(gè)月時(shí)間。在此期間,我也經(jīng)歷了“十月懷胎”的惶恐、陣痛和喜悅。本書偏重互動媒體技術(shù),在藝術(shù)方面并沒有任何可圈可點(diǎn)之處,又擔(dān)心在技術(shù)上存在紕漏或者錯(cuò)誤,不免誠惶誠恐。此外,工作上的繁忙,只能在深夜堅(jiān)持寫稿,不可不謂之“痛”。而眾多同行的期待和鼓勵,也讓我從內(nèi)心感到滿足而喜悅。
希望閱讀本書,能讓您感到愉快并有所啟發(fā)!
讀者對象
藝術(shù)為科技提供想象和創(chuàng)造的空間,科技為藝術(shù)提供了實(shí)現(xiàn)夢想的方法,互動媒體是科技和藝術(shù)相結(jié)合的學(xué)習(xí)領(lǐng)域,具有神奇的魅力。所有對互動媒體感興趣的人都可以閱讀本書,不管是小學(xué)生、中學(xué)生還是在校大學(xué)生,或者是對科技動手感興趣的教師、家長。當(dāng)然,如果你學(xué)過Scratch編程,或者折騰過Arduino硬件,更應(yīng)該看看這本書,從中可以獲得一定的啟發(fā)和靈感。本書具體的讀者對象如下:
第一類: 中小學(xué)生?梢栽诶蠋煹闹笇(dǎo)下學(xué)習(xí),也可以自學(xué)。但是,請別停止腳步,更精彩的互動媒體世界等你探索。
第二類: 在校大學(xué)生。希望非計(jì)算機(jī)專業(yè)的大學(xué)生學(xué)習(xí)本書,藝術(shù)專業(yè)的學(xué)生可以把本書當(dāng)作“互動裝置藝術(shù)”的入門書籍。尤其希望將來從事技術(shù)教育的計(jì)算機(jī)專業(yè)、教育技術(shù)專業(yè)的大學(xué)生學(xué)習(xí)本書,為你未來的崗位做點(diǎn)積極的準(zhǔn)備。
第三類: 教師。正在從事技術(shù)課程教學(xué)或者綜合實(shí)踐活動課程教學(xué)的老師,這本書會給您帶來新的教學(xué)思路。
第四類: 家長。重視家教,喜歡和孩子做點(diǎn)親子項(xiàng)目的家長,可以對照這本書自學(xué),您的孩子會對您刮目相看的。
第五類: 入門級創(chuàng)客。創(chuàng)客不是誰的專利,也不是技術(shù)很厲害的人才能叫作創(chuàng)客。努力把各種創(chuàng)意轉(zhuǎn)變?yōu)楝F(xiàn)實(shí)的人,就是創(chuàng)客。
如何閱讀本書
本書共分為七章,分別介紹如下:
第1章概述了互動媒體和互動媒體技術(shù)的發(fā)展現(xiàn)狀,結(jié)合經(jīng)典的互動媒體作品分析了“互動”原理和工作流程,并羅列了常見的軟硬件創(chuàng)作平臺。
第2章介紹S4A的基本語法,用一個(gè)“大魚吃小魚”的范例,貫穿整章的學(xué)習(xí),如舞臺、角色、造型、事件、廣播和變量等基礎(chǔ)知識。如果你已經(jīng)具備了Scratch的基礎(chǔ),可以直接跳過。
第3章介紹Arduino UNO和一些周邊的擴(kuò)展板、傳感器、執(zhí)行器等電子積木,包括這些電子積木如何和Arduino連接,以及Arduino和計(jì)算機(jī)的連接。
第4章通過多個(gè)范例介紹使用S4A制作互動項(xiàng)目,從輸入、輸出到互動,由淺入深。最后通過對S4A固件的研究,分析S4A和Arduino的互動協(xié)議。
第5章圍繞“智能家居”的話題,介紹如何使用S4A控制220V的家用電器,具體介紹了繼電器安全插座的制作過程,并講解利用超再生遙控套件,把普通的家用電器改造為可遙控電器的過程。經(jīng)過本章的學(xué)習(xí)后,你就可以設(shè)計(jì)大型的互動作品,開始像個(gè)創(chuàng)客了!
第6章介紹物聯(lián)網(wǎng),主要分析了S4A的遠(yuǎn)程傳感器功能,并結(jié)合范例,實(shí)現(xiàn)了S4A和瀏覽器、智能手機(jī)之間的互動。讓你能近距離接觸物聯(lián)網(wǎng)技術(shù),并能做出一個(gè)簡單的物聯(lián)網(wǎng)模型。
第7章介紹Processing,不僅介紹了Processing和Arduino的互動作品,還結(jié)合一個(gè)攝像頭識別程序,讓S4A支持簡單的手勢識別,并編寫了一個(gè)小游戲。
本書的附錄A以Sensors2S4A為范例,介紹了用MIT App Inventor開發(fā)手機(jī)APP的一般過程。Sensors2S4A的功能是將手機(jī)的傳感器信息發(fā)送給S4A。如果你對手機(jī)App開發(fā)感興趣,很有必要閱讀。附錄B則羅列了本書涉及的所有硬件設(shè)備,供讀者參考。
勘誤和支持
由于本書是國內(nèi)第一本關(guān)于S4A和互動媒體技術(shù)的書籍,可參照的資源非常少。加上作者水平有限,時(shí)間倉促,書中難免出現(xiàn)一些錯(cuò)誤或者表述不準(zhǔn)確的地方,懇請讀者批評指正。書中全部源文件和涉及的軟件都可以在作者的博客中下載(博客地址: Http://blog.sian.com.cn/xiezuoru)。部分工具還會繼續(xù)更新。歡迎發(fā)送郵件到xiezuoru@vip.qq.com,期待得到你們真摯的反饋。
致謝
首先感謝MIT團(tuán)隊(duì)、Arduino團(tuán)隊(duì)和Citilab團(tuán)隊(duì),是他們創(chuàng)造了這些偉大的工具。尤其感謝Citilab團(tuán)隊(duì)的Jordi Delgado教授為本書撰寫了精彩的序。
感謝鄭劍春和李夢軍老師,你們給了我參與編寫這套叢書的機(jī)會,并在編寫過程中耐心指導(dǎo)我。
感謝李藝、余勝泉、苗逢春、陳美玲、魏雄鷹、蔣莘、邱偉杰、柳棟等老師,你們的肯定和鼓勵,使我有信心深入研究互動媒體技術(shù),并開發(fā)了選修課程。
感謝李大維(上海創(chuàng)客空間新車間的創(chuàng)始人)、鐘柏昌、梁森山、王林、武健、魏寧、吳俊杰、管學(xué)、葉琛、俞中堅(jiān)、于欣龍等好朋友,你們給我很多的技術(shù)指導(dǎo)和精神支持。尤其是俞中堅(jiān)博士,幫我翻譯了英文版的序。
感謝鄭祥和程陶奕同學(xué),你們幫我認(rèn)真審稿,找出了很多錯(cuò)誤,并整理了本書的附錄。
最后感謝我的兒子謝集,書中很多案例都是和你一起做出來的,是你對Scratch的喜歡,才讓我下定決心研究Scratch,并編寫了本書。
編者2014年1月
第1章 互動媒體技術(shù)概述
1.1 互動媒體和互動媒體技術(shù)
1.1.1 什么是互動媒體
1.1.2 互動媒體和新媒體、數(shù)字媒體的關(guān)系
1.1.3 互動媒體和數(shù)碼游戲、互動裝置藝術(shù)的關(guān)系
1.1.4 互動媒體作品的運(yùn)行流程分析
1.1.5 互動媒體技術(shù)
1.2 互動媒體作品欣賞
1.2.1 常見的互動媒體作品
1.2.2 經(jīng)典互動媒體作品欣賞
1.3 互動媒體創(chuàng)作工具介紹
1.3.1 MakeyMakey
1.3.2 Scratch
1.3.3 Arduino
1.3.4 S4A
1.3.5 Processing
1.3.6 Flash
1.3.7 Kinect
1.3.8 Leap Motion
1.3.9 pcDuino
第2章 S4A編程基礎(chǔ)
2.1 S4A的安裝和運(yùn)行
2.1.1 S4A的安裝
2.1.2 S4A的運(yùn)行
2.2 我的第一個(gè)互動程序
2.2.1 添加新角色
2.2.2 編寫腳本
2.2.3 測試程序
2.2.4 保存和打開程序
2.3 用鍵盤控制角色
2.3.1 改變角色的坐標(biāo)
2.3.2 方向和造型
2.3.3 鍵盤控制的優(yōu)化
2.4 角色和角色的互動
2.4.1 條件判斷
2.4.2 隨機(jī)數(shù)的應(yīng)用
2.4.3 角色的復(fù)制
2.5 偵測和廣播
2.5.1 偵測信息
2.5.2 用廣播傳遞信息
2.6 變量的應(yīng)用
第3章 Arduino和電子積木
3.1 Arduino是什么
3.2 Arduino的購買和安裝
3.2.1 購買
3.2.2 Arduino IDE安裝
3.3 Arduino的輸入設(shè)備
3.3.1 什么是傳感器
3.3.2 傳感器的分類
3.3.3 常見的傳感器
3.3.4 傳感器和Arduino的連接
3.4 Arduino的輸出設(shè)備
3.4.1 Arduino的常見輸出設(shè)備
3.4.2 Arduino和輸出設(shè)備的連接
3.5 Arduino和計(jì)算機(jī)連接
3.5.1 通過USB線連接計(jì)算機(jī)
3.5.2 通過其他方式連接計(jì)算機(jī)
第4章 S4A和Arduino的互動
4.1 S4A和Arduino的連接
4.1.1 給Arduino寫入固件
4.1.2 讓S4A找到Arduino
4.2 傳感器信息的獲取
4.2.1 傳感器信息的使用
4.2.2 傳感器輸入范例——陽光牧場
4.2.3 傳感器輸入范例——互動蹺蹺板
4.3 外部動作的輸出
4.3.1 S4A的動作輸出指令塊
4.3.2 光效輸出范例——流水燈
4.3.3 動作輸出范例——智能起落桿
4.4 互動的奧秘
4.4.1 S4A和Arduino的通信原理
4.4.2 S4A的固件代碼分析
4.4.3 固件代碼中的更多秘密
4.5 綜合創(chuàng)意設(shè)計(jì)
4.5.1 綜合創(chuàng)意設(shè)計(jì)范例——手勢控制的流水燈
4.5.2 綜合創(chuàng)意設(shè)計(jì)
第5章 體驗(yàn)智能家居
5.1 智能家居
5.1.1 傳統(tǒng)家居和智能家居
5.1.2 智能家居控制器
5.2 繼電器和繼電器模塊
5.2.1 繼電器
5.2.2 繼電器模塊
5.3 安全繼電器插座
5.4 定時(shí)開關(guān)的實(shí)現(xiàn)
5.5 智能溫控電風(fēng)扇的實(shí)現(xiàn)
5.6 遙控臺燈
5.6.1 遙控開關(guān)
5.6.2 遙控臺燈的實(shí)現(xiàn)
5.6.3 讓計(jì)算機(jī)遙控臺燈
5.7 設(shè)計(jì)大型互動媒體作品
第6章 物聯(lián)網(wǎng)初步知識
6.1 認(rèn)識物聯(lián)網(wǎng)技術(shù)
6.2 S4A和Arduino的無線連接
6.2.1 Arduino支持的無線連接技術(shù)
6.2.2 藍(lán)牙模塊和Arduino的連接
6.3 S4A的遠(yuǎn)程傳感器
6.3.1 開啟遠(yuǎn)程傳感器功能
6.3.2 遠(yuǎn)程傳感器互動協(xié)議介紹
6.4 S4A和瀏覽器的互動
6.4.1 控制頁面的制作
6.4.2 S4A程序的編寫
6.4.3 控制頁面的優(yōu)化
6.4.4 傳遞遠(yuǎn)程傳感器信息
6.5 S4A和智能手機(jī)的互動
6.5.1 通過手機(jī)瀏覽器和S4A互動
6.5.2 通過手機(jī)APP和S4A互動
6.5.3 用手機(jī)控制流水燈
6.6 S4A和S4A的互動
6.6.1 S4A和S4A的連接
6.6.2 范例——遠(yuǎn)程協(xié)奏的鋼琴
6.6.3 最簡單的“云計(jì)算”模型
第7章 從S4A到Processing
7.1 Processing簡介
7.2 下載與安裝
7.3 Processing和Arduino的互動
7.3.1 范例——SimpleRead
7.3.2 范例——虛擬機(jī)械臂
7.4 Processing讓S4A支持?jǐn)z像頭
7.4.1 Processing for S4A
7.4.2 編寫和手勢交互的程序
附錄A 用App Inventor開發(fā)Sensors2S4A
附錄B 本書涉及的硬件清單
附錄C 硬件推薦及說明
附錄D 可選硬件推薦及說明
參考文獻(xiàn)
后記