SlideShare a Scribd company logo
1 of 13
組別:第一組
組員:柯竣龍 王順億 吳仁豪
 首先等待兩位玩家手機連線,利用手機進行對打
 隨機出現特殊道具,以球經過之感測器位置決定使用權
 比賽中PXA270 的LED會顯示使用者持有之特殊道具
 比賽中PXA270 的7段顯示器會顯示比分,玩家取得5分即結束
 比賽結束在PXA270 的LCD秀出獲勝玩家字樣
 Timer 計數時間到(2分鐘)如還沒有結果(到達5分)則分數大的玩家勝利
2
3
1
2
3
4
Cellphone
Power PXA–270 Board
Game Box
Internet
DC MotorPhoto
-resistance
8 V
8 V
Hardware
4
系統架構
PWM
Voltage Signal
Step Motor
Cellphone
5
光敏電阻:感測求取得道具
DC馬達:控制球棒擊球
光敏電阻:感測是否進球
步進馬達:調控平台高度
6
開始
Socket_tid0( ):
Android connection
Get command
Socket_tid1( ):
Android connection
Get command
Step_motor( ):
Set flatmotor
結束
User1
pthread_create ( )
Item_thread( ):
Get random item
Item_read( ):
Read each GPIO
Use LED to show who take the
item and what the item is.
User2
使用者連線?
是
桌台
傾斜
pthread_create ( )
產生
特殊道具
取得
特殊道具
否
User==2?
否
Score==5?
是
是
否
控制桌
台傾斜
User1
Stick_motor( ):
Have 4 thread to control
each stick DC motor
打擊馬達
Score_thread( ):
Use 7_segment to show
the point of each player
紀錄得
分狀態
Item_countdown( ):
Set the item time for
different effects.
特殊道具
時間
Score==5?
是
否
Pthread_exit(NULL)
Score==5?
是
否
Pthread_exit(NULL)
Score==5?
是
否
Pthread_exit(NULL)
Score==5?
Score==5?
Pthread_exit(NULL)
Pthread_exit(NULL)
否 否
是
是
Join Socket thread
Show the result on LCD
pthread_create ( )
pthread_create ( )
 void *Step_motor(void *parm)
 void *Stick1_motor(void *parm) //1~4
 void *item_thread(void *parm)
 void *item_user1_countdown(void *parm)
 void *item_read(void *parm)
 void *Socket(void *parm)
 void *score_thread(void *parm)
 void *Step_motor(void *parm)
 控制步進馬達目前狀態,會隨著道具狀態而改變
 void *item_thread(void *parm)
 每6~10秒隨機產生道具
 void *item_read(void *parm)
 當有道具產生,不斷掃描GPIO,看哪位玩家獲得道具,並創造item_user_countdown的
thread計算剩餘時間,如果獲得同樣道具時,改為延長道具持續時間
 void *score_thread(void *parm)
 計算分數,當有一方玩家獲得5分時結束遊戲,並且斷開所有連線並結束所有THREADS後,
重新等待玩家連線並且初始化所有參數
 void *item_user1_countdown(void *parm) //1~2
 由item_read所創造的thread,用於倒數剩餘道具時間
 void *Socket(void *parm)
 當玩家連線時所創造的thread,等待玩家按下按鈕,並確認指令後,改變motor旗標狀態
 void *Stick1_motor(void *parm) //1~4
 四個馬達應為獨立事件,因此個別使用4個Threads控制橫桿狀態,當Socket收到指令並且改
變motor旗標後,會立即改變橫桿狀態
 作業系統功能
 Socket
 Multithreads
 Mutex protect
 Signal:Timer
 GPIO Driver:Read / Write
 硬體周邊
 LCD
 LED
 7-Segment
10
 使用者以手機進行對戰=>無線傳輸
 LED顯示特殊道具位置
 利用光敏電阻感測球經過=>使用者取得特殊道具
 平台傾斜
 凍結對手
 力道增強
 點擊按鈕搶取道具使用權
 使用步進馬達調整平台高度=>平台傾斜
 採用紅外線收發器感測進球=>計分
11
 使用者以手機進行對戰=>無線傳輸
 利用光敏電阻感測球經過=>使用者取得特殊道具
 平台傾斜
 凍結對手
 反轉對手
 使用步進馬達調整平台高度=>平台傾斜
 採用光敏電阻感測進球=>計分
 PXA-270開發版上的LED顯示使用者持有之特殊道具
 PXA-270開發版上的7-Segment顯示比分
 PXA-270開發版上的LCD顯示獲勝玩家與遊戲時間
12
EOS_2016_Spring Team1 - Pinball battle

More Related Content

Viewers also liked

EOS_2015_Fall Team8 - 摩斯burger
EOS_2015_Fall  Team8 - 摩斯burgerEOS_2015_Fall  Team8 - 摩斯burger
EOS_2015_Fall Team8 - 摩斯burgernctusee
 
EOS_2015_Fall Team7 - 籃球電子計分板
EOS_2015_Fall  Team7 -  籃球電子計分板EOS_2015_Fall  Team7 -  籃球電子計分板
EOS_2015_Fall Team7 - 籃球電子計分板nctusee
 
EOS_2016_Spring Team6 - Px car
EOS_2016_Spring Team6 - Px carEOS_2016_Spring Team6 - Px car
EOS_2016_Spring Team6 - Px carnctusee
 
EOS_2016_Spring Team5 - Voiceprint recognition system
EOS_2016_Spring Team5 - Voiceprint recognition systemEOS_2016_Spring Team5 - Voiceprint recognition system
EOS_2016_Spring Team5 - Voiceprint recognition systemnctusee
 
EOS_2016_Spring Team3 - 連線鬧鐘
EOS_2016_Spring Team3 - 連線鬧鐘EOS_2016_Spring Team3 - 連線鬧鐘
EOS_2016_Spring Team3 - 連線鬧鐘nctusee
 
EOS_2016_Spring Team4 - 自製示波器和波形產生器
EOS_2016_Spring Team4 - 自製示波器和波形產生器EOS_2016_Spring Team4 - 自製示波器和波形產生器
EOS_2016_Spring Team4 - 自製示波器和波形產生器nctusee
 
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
EOS_2015_Fall  Team6 - One to Ten App Design ToolkitEOS_2015_Fall  Team6 - One to Ten App Design Toolkit
EOS_2015_Fall Team6 - One to Ten App Design Toolkitnctusee
 
EOS_2016_Spring Team8 - 團購趣
EOS_2016_Spring Team8 - 團購趣EOS_2016_Spring Team8 - 團購趣
EOS_2016_Spring Team8 - 團購趣nctusee
 
EOS_2016_Spring Team9 - 百萬大富翁
EOS_2016_Spring Team9 - 百萬大富翁EOS_2016_Spring Team9 - 百萬大富翁
EOS_2016_Spring Team9 - 百萬大富翁nctusee
 
EOS_2016_Spring Team2 - Taiko drum master
EOS_2016_Spring Team2 - Taiko drum masterEOS_2016_Spring Team2 - Taiko drum master
EOS_2016_Spring Team2 - Taiko drum masternctusee
 
王薪迪 & 蔡培煜(飛行蹺蹺板)
王薪迪 & 蔡培煜(飛行蹺蹺板)王薪迪 & 蔡培煜(飛行蹺蹺板)
王薪迪 & 蔡培煜(飛行蹺蹺板)nctusee
 
EOS_2015_Fall Team9 - 大富翁
EOS_2015_Fall  Team9 - 大富翁EOS_2015_Fall  Team9 - 大富翁
EOS_2015_Fall Team9 - 大富翁nctusee
 
EOS_2015_Fall Team3 - 富饒之城
EOS_2015_Fall  Team3 - 富饒之城EOS_2015_Fall  Team3 - 富饒之城
EOS_2015_Fall Team3 - 富饒之城nctusee
 
EOS_2015_Fall Team5 - 數學天才打地鼠
EOS_2015_Fall  Team5 - 數學天才打地鼠EOS_2015_Fall  Team5 - 數學天才打地鼠
EOS_2015_Fall Team5 - 數學天才打地鼠nctusee
 
EOS_2015_Fall Team2 - 平交道智慧監控站
EOS_2015_Fall  Team2 - 平交道智慧監控站 EOS_2015_Fall  Team2 - 平交道智慧監控站
EOS_2015_Fall Team2 - 平交道智慧監控站 nctusee
 
EOS_2015_Fall Team1 - 拉亞計畫
EOS_2015_Fall  Team1 - 拉亞計畫EOS_2015_Fall  Team1 - 拉亞計畫
EOS_2015_Fall Team1 - 拉亞計畫nctusee
 
EOS_2015_Fall Team4 - Pine Line
EOS_2015_Fall  Team4 - Pine LineEOS_2015_Fall  Team4 - Pine Line
EOS_2015_Fall Team4 - Pine Linenctusee
 

Viewers also liked (17)

EOS_2015_Fall Team8 - 摩斯burger
EOS_2015_Fall  Team8 - 摩斯burgerEOS_2015_Fall  Team8 - 摩斯burger
EOS_2015_Fall Team8 - 摩斯burger
 
EOS_2015_Fall Team7 - 籃球電子計分板
EOS_2015_Fall  Team7 -  籃球電子計分板EOS_2015_Fall  Team7 -  籃球電子計分板
EOS_2015_Fall Team7 - 籃球電子計分板
 
EOS_2016_Spring Team6 - Px car
EOS_2016_Spring Team6 - Px carEOS_2016_Spring Team6 - Px car
EOS_2016_Spring Team6 - Px car
 
EOS_2016_Spring Team5 - Voiceprint recognition system
EOS_2016_Spring Team5 - Voiceprint recognition systemEOS_2016_Spring Team5 - Voiceprint recognition system
EOS_2016_Spring Team5 - Voiceprint recognition system
 
EOS_2016_Spring Team3 - 連線鬧鐘
EOS_2016_Spring Team3 - 連線鬧鐘EOS_2016_Spring Team3 - 連線鬧鐘
EOS_2016_Spring Team3 - 連線鬧鐘
 
EOS_2016_Spring Team4 - 自製示波器和波形產生器
EOS_2016_Spring Team4 - 自製示波器和波形產生器EOS_2016_Spring Team4 - 自製示波器和波形產生器
EOS_2016_Spring Team4 - 自製示波器和波形產生器
 
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
EOS_2015_Fall  Team6 - One to Ten App Design ToolkitEOS_2015_Fall  Team6 - One to Ten App Design Toolkit
EOS_2015_Fall Team6 - One to Ten App Design Toolkit
 
EOS_2016_Spring Team8 - 團購趣
EOS_2016_Spring Team8 - 團購趣EOS_2016_Spring Team8 - 團購趣
EOS_2016_Spring Team8 - 團購趣
 
EOS_2016_Spring Team9 - 百萬大富翁
EOS_2016_Spring Team9 - 百萬大富翁EOS_2016_Spring Team9 - 百萬大富翁
EOS_2016_Spring Team9 - 百萬大富翁
 
EOS_2016_Spring Team2 - Taiko drum master
EOS_2016_Spring Team2 - Taiko drum masterEOS_2016_Spring Team2 - Taiko drum master
EOS_2016_Spring Team2 - Taiko drum master
 
王薪迪 & 蔡培煜(飛行蹺蹺板)
王薪迪 & 蔡培煜(飛行蹺蹺板)王薪迪 & 蔡培煜(飛行蹺蹺板)
王薪迪 & 蔡培煜(飛行蹺蹺板)
 
EOS_2015_Fall Team9 - 大富翁
EOS_2015_Fall  Team9 - 大富翁EOS_2015_Fall  Team9 - 大富翁
EOS_2015_Fall Team9 - 大富翁
 
EOS_2015_Fall Team3 - 富饒之城
EOS_2015_Fall  Team3 - 富饒之城EOS_2015_Fall  Team3 - 富饒之城
EOS_2015_Fall Team3 - 富饒之城
 
EOS_2015_Fall Team5 - 數學天才打地鼠
EOS_2015_Fall  Team5 - 數學天才打地鼠EOS_2015_Fall  Team5 - 數學天才打地鼠
EOS_2015_Fall Team5 - 數學天才打地鼠
 
EOS_2015_Fall Team2 - 平交道智慧監控站
EOS_2015_Fall  Team2 - 平交道智慧監控站 EOS_2015_Fall  Team2 - 平交道智慧監控站
EOS_2015_Fall Team2 - 平交道智慧監控站
 
EOS_2015_Fall Team1 - 拉亞計畫
EOS_2015_Fall  Team1 - 拉亞計畫EOS_2015_Fall  Team1 - 拉亞計畫
EOS_2015_Fall Team1 - 拉亞計畫
 
EOS_2015_Fall Team4 - Pine Line
EOS_2015_Fall  Team4 - Pine LineEOS_2015_Fall  Team4 - Pine Line
EOS_2015_Fall Team4 - Pine Line
 

More from nctusee

Team9 - 嵌入式大富翁
Team9 - 嵌入式大富翁Team9 - 嵌入式大富翁
Team9 - 嵌入式大富翁nctusee
 
Team8 - Dit-Dah Chat Room
Team8 - Dit-Dah Chat RoomTeam8 - Dit-Dah Chat Room
Team8 - Dit-Dah Chat Roomnctusee
 
Team7 - 多功能電子計分板
Team7 - 多功能電子計分板Team7 - 多功能電子計分板
Team7 - 多功能電子計分板nctusee
 
Team6 - 穿戴式裝置開發工具
Team6 - 穿戴式裝置開發工具Team6 - 穿戴式裝置開發工具
Team6 - 穿戴式裝置開發工具nctusee
 
Team5 - 數字遊戲
Team5 - 數字遊戲Team5 - 數字遊戲
Team5 - 數字遊戲nctusee
 
Team4 - Pine Line
Team4 - Pine LineTeam4 - Pine Line
Team4 - Pine Linenctusee
 
Team3 - 富饒之城
Team3 - 富饒之城Team3 - 富饒之城
Team3 - 富饒之城nctusee
 
Team2 - 平交道安全感測
Team2 - 平交道安全感測Team2 - 平交道安全感測
Team2 - 平交道安全感測nctusee
 
Team1 - 拉亞計畫
Team1 - 拉亞計畫Team1 - 拉亞計畫
Team1 - 拉亞計畫nctusee
 
104-10.自平衡獨輪車
104-10.自平衡獨輪車104-10.自平衡獨輪車
104-10.自平衡獨輪車nctusee
 
104-09.迷你四驅車
104-09.迷你四驅車104-09.迷你四驅車
104-09.迷你四驅車nctusee
 
104-08.自動化撿料系統
104-08.自動化撿料系統104-08.自動化撿料系統
104-08.自動化撿料系統nctusee
 
104-07.自動清地板機
104-07.自動清地板機104-07.自動清地板機
104-07.自動清地板機nctusee
 
104-06.JDoor
104-06.JDoor104-06.JDoor
104-06.JDoornctusee
 

More from nctusee (14)

Team9 - 嵌入式大富翁
Team9 - 嵌入式大富翁Team9 - 嵌入式大富翁
Team9 - 嵌入式大富翁
 
Team8 - Dit-Dah Chat Room
Team8 - Dit-Dah Chat RoomTeam8 - Dit-Dah Chat Room
Team8 - Dit-Dah Chat Room
 
Team7 - 多功能電子計分板
Team7 - 多功能電子計分板Team7 - 多功能電子計分板
Team7 - 多功能電子計分板
 
Team6 - 穿戴式裝置開發工具
Team6 - 穿戴式裝置開發工具Team6 - 穿戴式裝置開發工具
Team6 - 穿戴式裝置開發工具
 
Team5 - 數字遊戲
Team5 - 數字遊戲Team5 - 數字遊戲
Team5 - 數字遊戲
 
Team4 - Pine Line
Team4 - Pine LineTeam4 - Pine Line
Team4 - Pine Line
 
Team3 - 富饒之城
Team3 - 富饒之城Team3 - 富饒之城
Team3 - 富饒之城
 
Team2 - 平交道安全感測
Team2 - 平交道安全感測Team2 - 平交道安全感測
Team2 - 平交道安全感測
 
Team1 - 拉亞計畫
Team1 - 拉亞計畫Team1 - 拉亞計畫
Team1 - 拉亞計畫
 
104-10.自平衡獨輪車
104-10.自平衡獨輪車104-10.自平衡獨輪車
104-10.自平衡獨輪車
 
104-09.迷你四驅車
104-09.迷你四驅車104-09.迷你四驅車
104-09.迷你四驅車
 
104-08.自動化撿料系統
104-08.自動化撿料系統104-08.自動化撿料系統
104-08.自動化撿料系統
 
104-07.自動清地板機
104-07.自動清地板機104-07.自動清地板機
104-07.自動清地板機
 
104-06.JDoor
104-06.JDoor104-06.JDoor
104-06.JDoor
 

EOS_2016_Spring Team1 - Pinball battle

  • 2.  首先等待兩位玩家手機連線,利用手機進行對打  隨機出現特殊道具,以球經過之感測器位置決定使用權  比賽中PXA270 的LED會顯示使用者持有之特殊道具  比賽中PXA270 的7段顯示器會顯示比分,玩家取得5分即結束  比賽結束在PXA270 的LCD秀出獲勝玩家字樣  Timer 計數時間到(2分鐘)如還沒有結果(到達5分)則分數大的玩家勝利 2
  • 4. Cellphone Power PXA–270 Board Game Box Internet DC MotorPhoto -resistance 8 V 8 V Hardware 4 系統架構 PWM Voltage Signal Step Motor Cellphone
  • 6. 6 開始 Socket_tid0( ): Android connection Get command Socket_tid1( ): Android connection Get command Step_motor( ): Set flatmotor 結束 User1 pthread_create ( ) Item_thread( ): Get random item Item_read( ): Read each GPIO Use LED to show who take the item and what the item is. User2 使用者連線? 是 桌台 傾斜 pthread_create ( ) 產生 特殊道具 取得 特殊道具 否 User==2? 否 Score==5? 是 是 否 控制桌 台傾斜 User1 Stick_motor( ): Have 4 thread to control each stick DC motor 打擊馬達 Score_thread( ): Use 7_segment to show the point of each player 紀錄得 分狀態 Item_countdown( ): Set the item time for different effects. 特殊道具 時間 Score==5? 是 否 Pthread_exit(NULL) Score==5? 是 否 Pthread_exit(NULL) Score==5? 是 否 Pthread_exit(NULL) Score==5? Score==5? Pthread_exit(NULL) Pthread_exit(NULL) 否 否 是 是 Join Socket thread Show the result on LCD pthread_create ( ) pthread_create ( )
  • 7.  void *Step_motor(void *parm)  void *Stick1_motor(void *parm) //1~4  void *item_thread(void *parm)  void *item_user1_countdown(void *parm)  void *item_read(void *parm)  void *Socket(void *parm)  void *score_thread(void *parm)
  • 8.  void *Step_motor(void *parm)  控制步進馬達目前狀態,會隨著道具狀態而改變  void *item_thread(void *parm)  每6~10秒隨機產生道具  void *item_read(void *parm)  當有道具產生,不斷掃描GPIO,看哪位玩家獲得道具,並創造item_user_countdown的 thread計算剩餘時間,如果獲得同樣道具時,改為延長道具持續時間  void *score_thread(void *parm)  計算分數,當有一方玩家獲得5分時結束遊戲,並且斷開所有連線並結束所有THREADS後, 重新等待玩家連線並且初始化所有參數
  • 9.  void *item_user1_countdown(void *parm) //1~2  由item_read所創造的thread,用於倒數剩餘道具時間  void *Socket(void *parm)  當玩家連線時所創造的thread,等待玩家按下按鈕,並確認指令後,改變motor旗標狀態  void *Stick1_motor(void *parm) //1~4  四個馬達應為獨立事件,因此個別使用4個Threads控制橫桿狀態,當Socket收到指令並且改 變motor旗標後,會立即改變橫桿狀態
  • 10.  作業系統功能  Socket  Multithreads  Mutex protect  Signal:Timer  GPIO Driver:Read / Write  硬體周邊  LCD  LED  7-Segment 10
  • 11.  使用者以手機進行對戰=>無線傳輸  LED顯示特殊道具位置  利用光敏電阻感測球經過=>使用者取得特殊道具  平台傾斜  凍結對手  力道增強  點擊按鈕搶取道具使用權  使用步進馬達調整平台高度=>平台傾斜  採用紅外線收發器感測進球=>計分 11
  • 12.  使用者以手機進行對戰=>無線傳輸  利用光敏電阻感測球經過=>使用者取得特殊道具  平台傾斜  凍結對手  反轉對手  使用步進馬達調整平台高度=>平台傾斜  採用光敏電阻感測進球=>計分  PXA-270開發版上的LED顯示使用者持有之特殊道具  PXA-270開發版上的7-Segment顯示比分  PXA-270開發版上的LCD顯示獲勝玩家與遊戲時間 12