• 検索結果がありません。

•  Mitchel Resnick

研習講義  Scratch 

for 

Arduino

Arduino 

什麼是 Arduino? 

Arduino 是一塊基於開放原始碼發展出來的  I/O 介面控制板,讓使用者可以

快速使用  Arduino 語言與  Flash或  Processing...等軟體,作出互動作品。Arduino  是在  2005  年  1  月由義大利米蘭互動設計學院的教授  David  Cuartielles 和 

Massimo Banzi 所設計,原始構想是希望讓設計師及藝術家們,透過  Arduino 很

快的學習電子和感測器的基本知識,快速的設計、製作作品的原型,很容易與目 前設計系所學的等軟體整合,使得虛擬與現實的互動更加容易。互動的內容設計 才是設計師的主要訴求,至於怎麼拼湊一個單晶片開發板,或是當中涉及如何構 築電路之類的知識,就並非設計師需要了解的,因此非常適合不具電子背景的人 使用,以設計出各種不同的互動裝置。 

Arduino 包含了硬體與軟體兩大部分,硬體部分是一個約手掌大小的控制板 

(寬  70mm  X 高  54mm),核心使用八位元  ATMEGA8 系列的的微控制器,提供 

14 個數位式輸出/入端,6 個類比式輸出/入端,支援  USB 資料傳輸,可以使用 自備電源(5V~9V)或是直接使用  USB 電源,使用者可以在數位式輸出/入端上接 上不同的電子裝置,例如  LED 燈、喇叭、馬達,然後再由控制器來驅動燈的亮 滅、喇叭發聲、馬達運轉。

目前有許多學校使用  Scratch 教學程式語言概念,其實也可將  Arduino 與 

Scratch 結合,讓學生自行撰寫  Scratch 程式控制  Arduino 做出各種動作,或是

由  Arduino  取得外部感測器偵測到的數值。例如使用  S4A  軟體,我們可以從 

Arduino 取得可變電阻的變化,轉換成數值後再讀取到  Scratch 程式中,控制畫

1.準備Arduino I/O板與USB連結線。 

2.下載Arduino程式。http://arduino.cc/en/Main/Software  3.將Arduino與電腦連結。 

4.指定驅動程式。  arduino‐0022\drivers 

5.從電腦管理中,觀看Arduino使用的連接埠位置 

6.下載S4A的軔體。 

http://seaside.citilab.eu/S4AFirmware12.pde 

7.使用Arduino程式開啟S4AFirmware12.pde,選擇Serial Port。

8. 將程式上傳到I/O板。 

9.開啟S4A程式,約15秒後可完成連線偵測。

Scratch for Arduino 

範例一:控制 LED燈 硬體: 

1.  LED模組 2個  2.  Arduino 控制板 

3.  Arduino 感測器擴充板  4.  連接線  2條

接法: 

1.  將控制板使用USB線接到電腦。 

2.  將擴充板連結到控制板上。 

3.  使用連結線連結LED模組與擴充板(13pin)  S4A積木

例題:閃燈

練習題:雙閃燈

LED模組接到pin10及 pin11。

練習題:蝙蝠飛行、碰到邊緣,LED會發亮 1 秒,同時蜂鳴器也會發聲1秒。

LED模組接到pin10,將蜂鳴器模組接到pin13。

範例二:按鈕 硬體: 

1.  Arduino 控制板 

2.  Arduino 感測器擴充板  3.  按鈕1個 

4.  連接線  1條

接法: 

1.  將控制板使用USB線接到電腦。 

2.  將擴充板連結到控制板上。 

3.  使用連結線連結按鈕模組與擴充板(A0)  S4A積木

例題:按下按鈕,變換造型。

練習題:按下按鈕,蝙蝠往前飛(碰到邊緣就反彈)。

範例三:旋轉鈕 硬體: 

1.  Arduino 控制板 

2.  Arduino 感測器擴充板  3.  300度旋轉鈕 1個  4.  連接線  1條

接法: 

1.  將控制板使用USB線接到電腦。 

2.  將擴充板連結到控制板上。 

3.  使用連結線連結按鈕模組與擴充板(A0)  S4A積木

例題:利用旋轉鈕,控制角色的位置。

製作由上往下掉的球,若接到球則分數score 加1,並發出音效。

球的程式碼:

此設備可換成線性電位計

範例四:搖桿 硬體: 

1.  Arduino 控制板 

2.  Arduino 感測器擴充板  3.  搖桿1個 

4.  連接線  3條

接法: 

1.  將控制板使用USB線接到電腦。 

2.  將擴充板連結到控制板上。 

3.  使用連結線連結搖桿模組與擴充板(Z:A0,Y: A1,X:A2) 

例題:利用搖桿,控制角色位置可以上下左右移動,當按下時,會變成噴火造型。

範例五:伺服馬達 硬體: 

1.  Arduino 控制板 

2.  Arduino 感測器擴充板 

3.  伺服馬達1

建議採購清單

項目 參考價格 

Arduino USB I/O 控制板  *1  1090 

Arduino 感測器擴充板  *1  320 

連結線  *8 

LED模組板  * 2  150  蜂鳴器模組板  *1 

雙軸搖桿  *1  290  線性電位計  60mm *1  150  光敏電組模組板  *1 

伺服馬達(continuous rotation) *1  300  按鈕開關模組板  *1  60  300度旋轉角度感測器  *1  80  Usb傳輸線  *1  50 

整理盒  *1  200

2011/7/20 

Scratch for Arduino

藝科資訊 許世樺、孫駿榮 http://www.aroboto.com

o Arduino

o Application of Arduino o Scratch for Arduino o Example

o Serial Communication o Control Motor

Agenda

2011/7/20 

Adruino

o “Arduino is an open-source physical computing platform based on a simple i/o board and a development environment that implements the Processing / Wiring

language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer.“

www.arduino.cc, 2006

Why Arduino

o 軟體與硬體皆為開放原碼,網路上都可以找到

所有資料。

o 價錢便宜,一塊包含完整功能的基本開發版約

為1000台幣。

o 它可以使用USB線與電腦溝通。

o 電源可由USB接線供應,也提供外部電源接口

2011/7/20 

Arduino Software

o www.arduino.cc

Arduino Software

o 目前最新版本IDE:Arduino 0022  o 支援:Windows、Mac、Linux

2011/7/20 

Arduino Software

Arduino Software

2011/7/20 

Arduino Software

Arduino Software

2011/7/20 

Adruino I/O Board

Adruino Duemilanove

USB通訊

外部電源穩壓

控制核心 數位I/O

類比I/O  電源

2011/7/20 

Adruino ??  

NANO  Arduino BT 

Lily Pad  Arduino MINI 

Arduino Group

o www.adruino.cc

o www.arduino.cc/playground o 台灣

n Aroboto.com 藝科資訊

2011/7/20 

Arduino Group

Arduino Book

2011/7/20 

Arduino Applications

Arduino Applications

2011/7/20 

Arduino Applications

Arduino Applications

2011/7/20 

Arduino Applications

Arduino Sensors and Actuators

o Sensors – 感測

n 按鈕、觸碰螢幕、類比搖桿、可變電阻、光敏 電阻、超音波、紅外線、加速度計、陀螺儀、

磁力感測等。

o Actuators – 動作

n LED、蜂鳴器、直流馬達、步進馬達、伺服馬達

、LCD等。

o Communication – 通訊

n RF、藍芽、WiFi、ZigBee、網路。

2011/7/20 

Arduino Communication

Arduino Sensors

2011/7/20 

Arduino Actuators

Arduino Shields

o ProtoShield

o 與麵包板搭配

2011/7/20 

Arduino Shields

o Ethernet Shield

o 支援網路與記憶卡

Arduino Shields

o XBee Shield

2011/7/20 

Arduino Shields

o WiFiShield

Arduino Shields

2011/7/20 

Arduino Shields

Arduino + Processing

2011/7/20 

Arduino + Processing

S4A Homepage

2011/7/20 

o Arduino IDE

o Scratch for Arduino IDE o Arduino Hardware

Everything you need

o Install USBtoRS232 Driver for Arduino

o Download the Fireware to Arduino o Connect Arduino to PC and Open S4A

First~

2011/7/20 

S4A at Begin

S4A Language

2011/7/20 

S4A Command Line

o 預先下載Firmware,不需要每次親自下載程式

o 圖形化介面,可以輕易瞭解,開發容易

Different with Arduino

2011/7/20 

o Make it become wirless o COMPORT Setting

n TX and RX in one COM o COMPORT Select

n In S4A

n Port Monitor

Bluetooth

Example 1

2011/7/20 

Example 2

Example 3

2011/7/20 

o How to control Motor n Motor and Servo o Power ON

n How to stop n Keep move

Example 4

o Turn right and turn left

Example 5

2011/7/20 

Differential Drive

o Can you make one square?

Example 6

2011/7/20 

The REAL one

o 系統內部的感測設備以及控制模組、設備之間

都需要資料的交換來達成某部分的功能,而這 些資訊除了無線通訊外皆需要透過1條或多條線 路將系統連結,經由線路的數位訊號0與1(也就 是電壓改變)的組合排列,來代表不同的意義。

o 網路、並列埠、串列埠、USB等,這類型的介面

協定會依據傳輸量的大小以及時代的演進,持 續地改良、進步,每單位時間內能傳輸的資料 量會逐漸擴增。

通訊

2011/7/20 

o 通訊埠一種是9隻接腳,另一種則是25隻接腳,

分別就是串列埠和並列埠的接點位置。

電腦的通訊埠

o 串列傳輸又叫序列傳輸,將資料的每個位元經

過一條線依序的傳遞出去,而並列傳輸則是需 要8條線(這邊假設資料為8個位元時),同時將 資料的位元一次傳出。

串列埠

2011/7/20 

o 同步通訊(Synchronous communication) o 非同步通訊(Universal Asynchronous

Receiver/Transmitter,通常稱作UART)

o 同步通訊內的整個資料序列以連續的位元方式

傳送,而以較高速的速率傳輸大資料區塊。

o 同步傳輸的單位是資料框,所以位元錯誤的機率

會較大。

同步和非同步通訊

o 非同步通訊主要用於資料的不定期傳輸,通常

用於字元產生的速度不確定或以較低的速度傳 輸字元,為了確定能接收到字元,所以在每個 字元前後會被開始位元及結束位元包住,以確 定傳輸的有效性,此方式錯誤率較低。

o 非同步通訊包含了RS232、RS499、RS423、

RS422和RS485等介面標準規範和匯流排標準規 範。

同步和非同步通訊

2011/7/20 

o 全雙工(Full-Duplex),例如電話 o 半雙工(Half-Duplex),例如無線電

o 全雙工:設備的收發資料是可以同時進行的。

o 半雙工:接收資料和傳送資料在同一時間只能

選擇一樣來做。

全雙工和半雙工

o RS-232通訊協定一開始是設計與數據機連結作

傳輸,所與之連結的裝置可以略分為資料終端 裝置(DTE, Data Terminal Equipment)和資料通訊裝 置(DCE, Data Communication Equipment)兩種。

o 以DB-9的9隻腳為主要的介面。

o 由於線路的損耗與雜訊干擾,傳輸距離的建議

值約不超過十多公尺。

RS-232

2011/7/20 

RS-232

名稱 全名 說明 

GND  Ground  信號接地,提供電路參考

電位。 

TXD  Transmitted Data  資料發送接腳 

RXD  Received Data  資料接收接腳 

RTS  Request To Send  要求發送資料 

CTS  Clear To Send  回應RTS訊息,通知對方

可以發送 

DSR  Data Set Ready  通知電腦已在待命狀態 

DTR  Data Terminal Ready  告知資料終端處於待命 

DCD  Data Carrier Detect  確認數據機載波 

RI  Ring Indication  通知有電話網路的信號

o 電腦來說RS232電壓的變化是正負15V,但對於

單晶片的嵌入式系統而言,準位則是0-3V或0- 5V,決定於單晶片的驅動電壓。

o 市面上也有專用於RS232電位轉換的IC,例如:

HIN232、MAX232等。

RS-232 準位  

(資料來源:intersil公司HIN232說明手冊)

2011/7/20 

RS-232接線範例  

(資料來源:intersil公司HIN232說明手冊

o 由圖可以看到一共有紅、

藍兩色分別表示一組TX、

RX。也就是說一顆晶片上 實際可以支援兩組的輸出

、輸入訊號準位變化。橘 色的線則表示了訊號的方 向。若系統需要RTS等其 它的功能腳位,也可以利 用這邊的準位轉換,不一 定只能使用在資料上。

RS-232 接線範例

2011/7/20 

Arduino的訊號轉換電路

o Arduino的硬體時,在板子上有FT232這顆USB轉 RS-232訊號IC,提供USB的介面供使用者在開發 的時候方便連結電腦使用,這樣就不怕缺少COM

RS-232 介面轉換

2011/7/20 

RS-232通訊協定 

START  D0  D1  D2  D3  D4  D5  D6  D7  STOP 

起始

字元 資料位元 奇偶

位元 停止 位元

o 起始位元(START BIT):表示之後的位元為資料

,以上圖的例子起始位元為0(低電位)。

o 資料位元(DATA BIT):可以選擇資料大小為7或 8個位元。

o (奇偶)同位元檢查(PARITY BIT):是指包含在 起始位元和停止位元中間的資料必須要有偶數 個或是奇數的1。

o 停止位元(STOP BIT):停止位元數有1個和2個 兩種選擇。通常設定為1個。

RS-232 通訊協定

2011/7/20 

o 資料傳輸速率常見為1200的倍數,從1200、

2400、4800、9600、38400、57600、115200等

,單位是bps (bits per second),請記得在傳 送資料時,英文字和數字等標準ASCII碼的字元

,1個字是1 byte (等於8bits),這樣的傳輸速 率在現在來說是相當慢的,USB、1394等新一代 的介面速度皆遠遠大於此,不過在一般的工業 設備或是感測模組中,RS-232還是相當普遍常 見的,像是全球定位系統GPS模組也是採用232 協定。

RS-232通訊協定

超級終端機

only in XP

2011/7/20 

o 除了一般常見的傳送、接收資料顯示外,它還

支援了監測電腦上某個串列埠的功能,可以隨 時監看在這個COM內所有的資料進出,相當方便

Access Port

o RS-232逐漸改向RS-485的協定方式發展,主因 為RS-232的訊號為單接點的方式,也就是單靠 一條線路上的電壓變化,容易受到雜訊或距離 的影響使資料內的位元判斷錯誤。而RS-485採 用差動式,兩條接線皆有電壓變化透過同一時 刻的訊號差異來表示資料,抗干擾的能力較強

,速度與傳輸距離也可以大大提升。

RS-232 and RS-485

関連したドキュメント