• 沒有找到結果。

• 當按鍵被壓下 BASIC Stamp 能察覺Vdd 與P3 相連接。在BASIC Stamp

N/A
N/A
Protected

Academic year: 2022

Share "• 當按鍵被壓下 BASIC Stamp 能察覺Vdd 與P3 相連接。在BASIC Stamp "

Copied!
10
0
0

加載中.... (立即查看全文)

全文

(1)

行李機器人

指導教授:黃慶祥教授 執行單位:世界科技公司 組員: 甘志安 4960E020

曾家昱 4960E023 吳俊輝 4960E037 陳盈任 4960E038

(2)

• 繼上次LED測試後,這次用按鍵接收與傳輸 HIGH/LOW訊號會使用

BASIC Stamp

• 的I/O 點作為輸入端。當I/O 點作為輸入端時,只會接收HIGH/LOW訊 號而不是輸出它們;學會使用按鍵電路傳送指令到BASIC Stamp,並且 編寫程式去辨別按鍵是否被壓下。當按鍵被壓下與否 BASIC Stamp 所 看到的內容。這物使用元件有常開按鍵 *1、電阻220 Ω*1、10k *1Ω、

麵包板一塊

• 當按鍵被壓下 BASIC Stamp 能察覺Vdd 與P3 相連接。在BASIC Stamp

中會將此時I/O 點-P3 的訊息以數字1 的型態儲存至記憶體中。當按鍵

未被壓下時,BASIC Stamp 無法感應到Vdd,但它能介由10kΩ 和220Ω

感應到Vss,並將此時I/O 點-P3 的訊息以數字0 的型態儲存至相同記憶

體中。以下為簡單示意圖

(3)
(4)

BASIC Stamp 將在I/O 點-P3 感應到的1 或0,

儲存在記憶體中IN3 的位置。然運行Debug,會出現該圖示:

在確認當按鍵未被壓下時,除錯視窗會顯示出數字0。在確認當按鍵被壓下時,

除錯視窗會顯示出數字1並在除錯視窗裡面顯示按鍵狀態INT=0、INT=0、

INT=1、INT=1、INT=0…….以下為該程式 ' What's a Microcontroller – test1.bs2

' Check and send pushbutton state to Debug Terminal every 1/4 second.

' {$STAMP BS2}

' {$PBASIC 2.5}

DO

DEBUG ? IN3 PAUSE 250 LOOP

(5)

再來我在測試按鍵與LED,該有材料為常開按鍵 *1、電阻220 Ω*1、10k *1Ω

、470Ω、麵包板一塊、LED一顆、跳線。並按照以下電路圖接線並測試:

(6)

使用IF…THEN…ELSE 讓BASIC Stamp 做判斷,當按下按鍵時將使 LED 閃爍。

所以每次執行Do…LOOP,IF…THEN…ELSE 敘述就會確認按鍵的狀 態並判斷

是否閃爍LED。以下為測試電路的程式:

• ' What's a Microcontroller – test1.bs2

• ' Check pushbutton state 10 times per second and blink LED when pressed.

• ' {$STAMP BS2}

• ' {$PBASIC 2.5}

• DO

• DEBUG ? IN3

• IF (IN3 = 1) THEN

• HIGH 14

• PAUSE 50

• LOW 14

• PAUSE 50

• ELSE

• PAUSE 100

• ENDIF

• LOOP

測試結果: 當按鍵被壓下時,

確認LED 開始閃爍。當按鍵

未被壓下,確認LED 停止閃

(7)

接下來測試加快與減慢所用材料為:常開按鍵 *2、電阻220 Ω*2、10k *2Ω、

470Ω*2、麵包板一塊、LED2顆。要增加另一顆案件與LED並須修改修正TEST1.bs2 讓它讀取IN4而不是讀取IN3,然後測試第二個按鍵迴路。按照以下電路圖接線並

測試:

(8)

輸入測試程式:

' What's a Microcontroller – TEST2.bs2

' Blink P14 LED if P3 pushbutton is pressed, and blink P15 LED if

' P4 pushbutton is pressed.

' {$STAMP BS2}

' {$PBASIC 2.5}

DO

DEBUG HOME” 每次經過DO…LOOP時,傳送游標到除錯視窗中左上方指令”

DEBUG ? IN4” 每次都將IN4和IN3展現到除錯視窗的相同地方”

DEBUG ? IN3

IF (IN3 = 1) THEN”在IN3是1的情況,將連接到P14的LED發光”

HIGH 14

PAUSE 50

ELSEIF (IN4 = 1) THEN”在IN3不是1而IN4是1的情況,將連接到P15的LED發光而非連

HIGH 15 連接到P14的LED發光”

PAUSE 50

ELSE ”若兩敘述皆不成立時,在不改變LED電路的狀態下,利用PAUSE指令

PAUSE 50持續50m”

ENDIF

LOW 14

LOW 15

PAUSE 50

LOOP

(9)

在確認當連接到P3的按鍵被壓下時,連接到P14的LED會閃爍,在確認當連接 到P4的按鍵被壓下時,連接到P15的LED會閃爍。

• 但此程式在2顆按鍵同時按下去只會一顆會亮,會顯示出一顆!因為

IF…THEN…ELSE敘述中只有一組程code block(程式區塊)被執行,所以只有一個 LED會閃爍。所以將程式修改成:

• IF (IN3 = 1) AND (IN4 = 1) THEN

• HIGH 14

• HIGH 15

• PAUSE 50

• ELSEIF (IN3 = 1) THEN

• HIGH 14

• PAUSE 50

• 透過and來敘述時,必須所有的條件都成立時IF敘述才成立!這樣就不會有2顆

按鍵同時按但會有一顆LED發亮

(10)

謝謝指教

參考文獻

相關文件

為避免雜訊的干擾,一般在按鍵輸入時,會接一個電阻來將輸入端的電壓提高到高電位 (VDD),這個電阻就稱為提昇電阻。如圖中的 R(10KΩ)。常用的提昇電阻大約為 1K~100K Ω之間。在 PIC16F877 中

手機會使用 eclipse 開發一套 Android 系統配合 arduino 三軸的 APP,其功能會 有連接 arduino 藍芽模組的按鈕,按下按鈕,將可與 arduino

下列哪一種記憶體屬於非揮發性記憶體, 不會因電源關閉而使其中的資料消 失, 但是可以透過電壓的方式重複抹除資料, 可用於基本輸入/ 輸出系統 (Basic Input / Output System,BIOS)

功能設定含有蓋章壓力、安全裝置診 斷功能、按鍵式、腳踏式及連續式按 鍵、關防章方向不須拆卸可 360 度隨

「先按住 CTRL

也可以使用鍵盤直接在文檔中輸入域。按 Ctrl+F9 組合鍵,插入點位置將出現一個 帶底紋的域標志符號“{}",按一下左鍵,將插入點置於“{

按一下力檢測器的歸零鍵[Tare],再以3伏特的電壓驅動馬達。待轉台有 穩定轉速後,用滑鼠按一下 鍵開始讀取數據,並拖曳 鍵到 反白處放掉以顯示不同時間下之轉速測量值的.

李焯芬,地質及水利工程專家,曾任 香港大學副校長、香港大學專業進修