實務專題報告書 - Hsiuping University of Science and...

30
指 導 老 師:陳文豪 專題製作學生:四技電四甲 曾建維 曾建維 曾建維 曾建維 BD94023 四技電四甲 張家偉 張家偉 張家偉 張家偉 BD94031 四技電四甲 謝清淵 謝清淵 謝清淵 謝清淵 BD94033 中華民國 九十七 年 十二 月 七 日 DEPARTMENT OF ELECTRICAL ENGINEERING HSIU-PING INSTITUTE OF TECHNOLOGY

Transcript of 實務專題報告書 - Hsiuping University of Science and...

實實務務專專題題報報告告書書

九九 宮宮 格格 電電 子子 計計 分分 板板

指 導 老 師:陳文豪

專題製作學生:四技電四甲 曾建維曾建維曾建維曾建維 BD94023

四技電四甲 張家偉張家偉張家偉張家偉 BD94031

四技電四甲 謝清淵謝清淵謝清淵謝清淵 BD94033

中華民國 九十七 年 十二 月 七 日

修 平 技 術 學 院 電 機 工 程 系

DEPARTMENT OF ELECTRICAL ENGINEERING HSIU-PING INSTITUTE OF TECHNOLOGY

2

目錄目錄目錄目錄

一一一一.... 摘要摘要摘要摘要……………………………………………………………………………………………………………………………………………………………………………………2

1.研究動機…………………………………………3

2.研究目的…………………………………………3

3.動作流程…………………………………………3

二二二二.... 研究與實現過研究與實現過研究與實現過研究與實現過程程程程………………………………………………………………………………………………………………………………4

1.元件介紹…………………………………………4

2.甘特圖……………………………………………6

3.電路圖……………………………………………7

4.PLC 流程圖………………………………………9

5.PLC 程式…………………………………………10

6.PLC 指令表………………………………………12

6.VB 程式……………………………………………16

7.PC 顯示畫面………………………………………26

8.成品………………………………………………27

四四四四. . . . 結論結論結論結論……………………………………………………………………………………………………………………………………………………………………………………29

1.參考資料…………………………………………30

3

一一一一.... 摘要摘要摘要摘要

1.1.1.1.研究動機研究動機研究動機研究動機::::

台灣之光有王建民,為了培養下一個台灣之光所研究的專題,但是傳統上

的九宮格是採取人工排版,非常費時又耗人力因此得到了靈感,用布面來

設計九宮格,免去重新排板的麻煩,節省時間和人力。

2.2.2.2.研究目的研究目的研究目的研究目的::::

我們利用布面來設計九宮格,以球擊中布面來觸動後面的微動開關,以 RF

模組作為無線傳輸所擊中數字的訊號,訊號經由 PLC 最後到 PC ,以 PC呈

現擊中的數字,利用 PLC 來計算得分。最後用 Visual Basic 來做介面呈現。

3.3.3.3.動作流程動作流程動作流程動作流程::::

4

二二二二.... 研究與實現過程研究與實現過程研究與實現過程研究與實現過程

1.1.1.1.元件介紹元件介紹元件介紹元件介紹::::

PC817 功能簡介 :

光電耦合器是以光為媒介來傳播電信號的器件。通常是把發光器(發光二

極管 LED)和受光器(光敏晶體管)封裝在同一管殼內如圖 4.28。

當輸入端加電信號時,發光器發出光線,照射在受光器上,受光器接受光

線後導通,產生光電流從輸出端輸出,從而實現了“電-光-電”的轉換。

普通光電耦合器只能傳輸數字信號(開關信號),不適合傳輸模擬信號。線

性光電耦合器是一種新型的光電隔離器件,能夠傳輸連續變化的模擬電壓

或電流信號,這樣隨著輸入信號的強弱變化會產生相應的光信號,從而使

光敏晶體管的導通程度也不同,輸出的電壓或電流也隨之不同。

PC817 光電耦合器不但可以起到反饋作用還可以起到隔離作用。

5

圖 4.29 為 PC817 集電極發射極電壓 V 與發光二極管正向電流 If關係。

7406 特點 :

1.Output Drive Capability - 10 LSTTL Loads。

2.Outputs Directly Interface to CMOS, NMOS and TTL。

3.Large Operating Voltage Range。

4.Low Input Current。

5.High Noise Immunity。

6

2.2.2.2.甘特圖甘特圖甘特圖甘特圖::::

7

3.3.3.3.電路電路電路電路圖圖圖圖::::

主控板主控板主控板主控板::::

8

九宮格九宮格九宮格九宮格板板板板::::

9

4.4.4.4.PLCPLCPLCPLC 流程圖流程圖流程圖流程圖::::

10

5.5.5.5.PLCPLCPLCPLC 程式程式程式程式::::

步進階梯圖步進階梯圖步進階梯圖步進階梯圖::::

11

12

PLCPLCPLCPLC 指令表指令表指令表指令表::::

13

14

15

16

VBVBVBVB 程式程式程式程式::::

Dim M0CH%(7)

Dim flag As Integer

Private Sub Command1_Click()

'Timer1.Enabled = True

Label11.Caption = "投準遊戲玩法"

M0CH%(0) = 1

End Sub

Private Sub Command2_Click()

'Timer1.Enabled = False

Form1.Label1.BackColor = QBColor(8)

Form1.Label2.BackColor = QBColor(8)

17

Form1.Label4.BackColor = QBColor(8)

Form1.Label5.BackColor = QBColor(8)

Form1.Label6.BackColor = QBColor(8)

Form1.Label7.BackColor = QBColor(8)

Form1.Label8.BackColor = QBColor(8)

Form1.Label9.BackColor = QBColor(8)

Form1.Label10.BackColor = QBColor(8)

Label11.Caption = "投準遊戲玩法"

M0CH%(1) = 1

End Sub

Private Sub Command3_Click()

'Form2.Show

Label11.Caption = "數學遊戲玩法"

M0CH%(2) = 1

End Sub

Private Sub Command4_Click()

18

Label11.Caption = "賓果投準玩法"

Label12.Caption = "賓果分數"

M0CH%(3) = 1

End Sub

Private Sub display(disp_data$)

' Y0 接點顯示

If CInt(Mid$(disp_data$, 8, 1)) = 1 Then

If Form1.Label1.BackColor <> QBColor(12) Then

Form1.Label1.BackColor = QBColor(12)

Else

If Form1.Label1.BackColor <> QBColor(8) Then

Form1.Label1.BackColor = QBColor(8)

End If

' Y1 接點顯示

If CInt(Mid$(disp_data$, 7, 1)) = 1 Then

If Form1.Label2.BackColor <> QBColor(12) Then

Form1.Label2.BackColor = QBColor(12)

19

Else

If Form1.Label2.BackColor <> QBColor(8) Then

Form1.Label2.BackColor = QBColor(8)

End If

' Y2 接點顯示

If CInt(Mid$(disp_data$, 6, 1)) = 1 Then

If Form1.Label4.BackColor <> QBColor(12) Then

Form1.Label4.BackColor = QBColor(12)

Else

If Form1.Label4.BackColor <> QBColor(8) Then

Form1.Label4.BackColor = QBColor(8)

End If

' Y3 接點顯示

If CInt(Mid$(disp_data$, 5, 1)) = 1 Then

If Form1.Label5.BackColor <> QBColor(12) Then

Form1.Label5.BackColor = QBColor(12)

Else

If Form1.Label5.BackColor <> QBColor(8) Then

20

Form1.Label5.BackColor = QBColor(8)

End If

' Y4 接點顯示

If CInt(Mid$(disp_data$, 4, 1)) = 1 Then

If Form1.Label6.BackColor <> QBColor(12) Then

Form1.Label6.BackColor = QBColor(12)

Else

If Form1.Label6.BackColor <> QBColor(8) Then

Form1.Label6.BackColor = QBColor(8)

End If

' Y5 接點顯示

If CInt(Mid$(disp_data$, 3, 1)) = 1 Then

If Form1.Label7.BackColor <> QBColor(12) Then

Form1.Label7.BackColor = QBColor(12)

Else

If Form1.Label7.BackColor <> QBColor(8) Then

Form1.Label7.BackColor = QBColor(8)

End If

21

' Y6接點顯示

If CInt(Mid$(disp_data$, 2, 1)) = 1 Then

If Form1.Label8.BackColor <> QBColor(12) Then

Form1.Label8.BackColor = QBColor(12)

Else

If Form1.Label8.BackColor <> QBColor(8) Then

Form1.Label8.BackColor = QBColor(8)

End If

' Y7 接點顯示

If CInt(Mid$(disp_data$, 1, 1)) = 1 Then

If Form1.Label9.BackColor <> QBColor(12) Then

Form1.Label9.BackColor = QBColor(12)

Else

If Form1.Label9.BackColor <> QBColor(8) Then

Form1.Label9.BackColor = QBColor(8)

End If

Form1.Label10.BackColor = QBColor(8)

End Sub

22

Private Sub Form_Load()

Form1.Caption = "棒球監控"

'Command1.Caption = "九球制": Command2.Caption = "M1"

'Command3.Caption = "M2": Command4.Caption = "M3"

Option1.Caption = "開啟通訊埠"

Option2.Caption = "關閉通訊埠"

'Label1.Caption = "Y0": Label2.Caption = "Y1"

'Text1.Text = "讀取 Y0ch 之命令字串:"

'Text2.Text = "讀取 Y0ch 之回應字串:"

'Text3.Text = "寫入 M0ch 之命令字串:"

'Text4.Text = "寫入 M0ch 之回應字串:"

Timer1.Interval = 100

Timer1.Enabled = False

Option1.Value = False

flag% = 0

End Sub

23

Private Sub Option1_Click()

Call start_comm2

Timer1.Enabled = True

End Sub

Private Sub Option2_Click()

Call stop_comm2

Timer1.Enabled = False

End Sub

Private Sub Timer1_Timer()

Label3.Caption = "現在時間: " + Time$

If flag% = 1 Then ' 讀取程序

PLC_DATA$ = read_nch$("M0144", 8)

Y0_CH_DATA$ = Mid$(PLC_DATA$, 1, 2)

Y10_CH_DATA$ = Mid$(PLC_DATA$, 3, 2)

D0_LOW$ = Mid$(PLC_DATA$, 5, 2)

D0_HIGH$ = Mid$(PLC_DATA$, 7, 2)

Y0CH_bin$ = hex2_to_bin8(Y0_CH_DATA$)

Y10CH_bin$ = hex2_to_bin8(Y10_CH_DATA$)

24

Call display(Y0CH_bin$)

Call display_Y10H(Y10CH_bin$)

Label13.Caption = Str$(hex4_to_dec&(D0_HIGH$ + D0_LOW$)) + "分"

' Y0_CH$ = read_nch$("Y0", 1)

' Text1.Text = "讀取 Y0ch 之命令字串:" + SXD$

' Text2.Text = "讀取 Y0ch 之回應字串:" + RXD$

' Y0_bin$ = hex2_to_bin8$(Y0_CH$)

' Call display(Y0_bin$)

' Text5.Text = "Y0ch 接點狀態: " + Y0_bin$

Else ' 寫出程序

bin8$ = ""

For i% = 0 To 7

bin8$ = Right$(Str$(M0CH%(i%)), 1) + bin8$

Next i%

M0_bin$ = bin8$

M0_CH$ = bin8_to_hex2$(bin8$)

aaa$ = write_nch$("M0", M0_CH$)

' Text3.Text = "寫入 M0ch 之命令字串:" + SXD$

25

' Text4.Text = "寫入 M0ch 之回應字串:" + RXD$

' Text6.Text = "M0ch 接點狀態: " + M0_bin$

For i% = 0 To 7

M0CH%(i%) = 0

Next i%

End If

flag% = 1 - flag%

End Sub

Private Sub display_Y10H(disp_data$)

' Y0 接點顯示

If CInt(Mid$(disp_data$, 8, 1)) = 1 Then

If Form1.Label10.BackColor <> QBColor(12) Then

Form1.Label10.BackColor = QBColor(12)

Else

If Form1.Label1.BackColor <> QBColor(8) Then

Form1.Label10.BackColor = QBColor(8)

End If

End Sub

26

PC PC PC PC 顯示畫面顯示畫面顯示畫面顯示畫面::::

玩法說明玩法說明玩法說明玩法說明:::: 共有 3種玩法:

1.1.1.1.投準遊戲玩法:

3x3,共 9 格不同格子,每擊中計分板則在電腦上顯示出擊中哪幾格。

2.2.2.2.積分遊戲玩法:

9 格分別為不同分數,每擊中計分板則在電腦上顯示出擊中幾分,並總合積

分。

3.3.3.3.賓果遊戲玩法:

3x3,9格共 8 種連線方式,每連成 1 線計 1分,並總合積分。

27

成品成品成品成品::::

規格(約) 長 80x 寬 80x 高 120 cm

布長度(約) 最長 100 cm

每格(約) 長 20x 寬 20 cm

整體:

每格:

28

主控板主控板主控板主控板電路電路電路電路::::

計分板計分板計分板計分板電路電路電路電路::::

29

結論結論結論結論::::

關於這次專題製作,我們運用到 PLC、VB、單晶片、RF 無線傳輸模組來做

這次的專題,在這過程中遇到一些困難,剛開始用木條作框架但是發現重量

過輕,當球撞擊力道過大會使框架產生許多問題,後來改用鐵架增加重量,

使框架更加穩定。

我們的接觸面使用木板來測試接觸面,結果觸動效果不彰,後來又使用壓

克力板,結果接觸面的問題依然存在,最後經過一番的測試與努力,決定

採用布面來設計我們的九宮格接觸面。

但是,布面設計依然存在了一些困擾問題,傳統上的設計是一格一格的,

所以不會有互相牽連的問題,但是布面設計是一體性,所以會出現多重觸

發的動作,我們一開始用螺絲來固定布面各格數字的牽連,雖然有改善但

是問題還是存在。接下來我們用 PLC 的程式來加以互鎖,問題已排除八九

成。

最後在專題過程中學習到團隊合作有的問題一個人無法想出頭緒,但是透

過團隊討論,結合意見解決問題,讓先前上課內容應用到實作上,使硬體

和軟體作結合,以完成此專題。

30

參考資料參考資料參考資料參考資料::::

http://66.163.168.225/babelfish/translate_url_content?.intl=tw&lp=zh_zt&trurl=http%3A%2F

%2Fhi.baidu.com%2Fdiydz%2Fblog%2Fitem%2F79455606364b98790308814a.html

http://www.futurlec.com/IC7406.html