伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino掃雷游戲開源分享

Arduino掃雷游戲開源分享

2022-11-10 | zip | 0.08 MB | 次下載 | 免費

資料介紹

描述

我們都喜歡那種懷念童年和青春期玩過的游戲的感覺。幾個游戲機和電腦游戲標志著這個時代。偉大的游戲之一是 Windows 操作系統的掃雷,如圖 1 所示。

在這個游戲中,我們的目標是選擇一個沒有炸彈的位置。否則,我們輸掉了比賽。

因此,我們在考慮這款游戲的概念時,我們創建了這個項目,目的是帶回一款眾所周知的游戲:雷區。

poYBAGNsWT-AZeMkAABus0_cjl0079.jpg
圖 1 - Windows 操作系統的掃雷。
?

我們的項目包括一個簡單的游戲,具有出色的動態,可以選擇由兩個人玩。

你的主要目標是選擇一個沒有炸彈的空方格。如果有炸彈,游戲就結束了。否則,游戲繼續。基于此,每個位置將由連接到 Arduino 的按鈕表示。

因此,在本文中,您將學習以下概念:

1. 為Arduino開發雷區游戲;

2.學習使用random和randomseed函數。

所以,接下來,我們將開始與Arduino一起開發雷區游戲,讓您與朋友一起玩得開心。

使用 Arduino 開發掃雷游戲

基于此工作原理,開發了圖 1 中的以下電路。

pYYBAGNsWUeAKCR9AARyP2jRT9Q610.jpg
圖 2 - 面包板中的電子原理圖。
?

如我們所見,該電路由負責處理游戲邏輯的 Arduino UNO、模擬位置的按鈕以及 LED 和蜂鳴器組成,通過燈光和聲音信號指示游戲中的勝負.

從現在開始,我們將介紹電路的操作和電路中實現的邏輯。

Arduino掃雷

游戲的主要目標是找到一個沒有炸彈的空地。否則,如果用戶按下泵所在的按鈕,系統將產生用戶輸掉游戲的警報信號。

為此,我們將使用按鈕來模擬每個正方形。我們將使用編程邏輯來繪制其中一個按鈕的數字引腳號。抽獎后,地雷將分配給相應的按鈕。

這樣,我們現在將展示開發項目的代碼。

代碼如下所示。

int numero;
int estado;
int buzzer = 2;

void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
randomSeed(analogRead(A0));
numero = random(8,14);
}

void loop()
{
digitalWrite(3, HIGH);
estado = digitalRead(numero);
while(estado == 1)
{
digitalWrite(4, HIGH);
tone(buzzer,1500);
delay(100);
digitalWrite(3, LOW);
noTone(buzzer);
digitalWrite(4, LOW);
tone(buzzer,1500);
delay(100);
digitalWrite(3, HIGH);
noTone(buzzer);
delay(100);
while(estado == 0)
{
estado = 1;
}
}
}

如您所見,首先為連接到按鈕的數字引腳聲明了一個變量。此外,我們將創建一個變量來檢查這些按鈕的狀態,即它們是處于高邏輯狀態還是低邏輯狀態。

最后,我們為蜂鳴器聲明一個變量,并為該變量分配一個數字端口。

int numero; // Variável referente aos pinos digitais conectados aos bot?es //
int estado; // Variável para verificar o estado dos bot?es, se est?o em nivel lógico alto ou baixo. //
int buzzer = 2; // Váriavel atribuida ao pino digital 7, referente ao buzzer.//

接下來,我們有設置功能。在此函數中,我們將用于連接按鈕的 I/O 引腳配置為輸入,將 LED 和蜂鳴器引腳配置為輸出。

此外,我們使用 randomSeed 函數。此函數使用在斷開的模擬輸入上讀取的值作為參數來生成種子值。因為眾所周知,斷開的模擬引腳會生成隨機值,因此,我們對代碼中生成的值產生了真正的隨機影響。

除了 randomseed 函數,我們還使用 random 函數。此函數從內部 Arduino 預先建立的列表中返回數字。這是一個巨大的亂碼列表,并且總是相同的數字序列,實際上它不是隨機數。

當我們重新啟動 Arduino 時,它會再次啟動此序列。

對于這個項目,我們抽獎了一個 8-14 范圍內的數字。選擇這些值是因為它們是連接到 Arduino 上的按鈕的數字引腳的值。

void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(buzzer,OUTPUT);
pinMode(8, INPUT);
pinMode(9, INPUT);
pinMode(10, INPUT);
pinMode(11, INPUT);
pinMode(12, INPUT);
pinMode(13, INPUT);
randomSeed(analogRead(A0));
numero = random(8,14);
}

最后,我們有循環功能。開始時,綠色 LED 被激活,表示游戲已經開始,玩家可以開始游戲。然后,用戶必須選擇一個按鍵,如下面的電路所示。

pYYBAGNsWUqAMOV1AAI1yAvUnlM372.jpg
圖 3 - 開始掃雷游戲。
?

When a selected switch does not have the pump in place, the green LED will remain on and the red LED will remain off. 此外,蜂鳴器不會被觸發。這可以在下圖中看到。

pYYBAGNsWVGAYxyBAAJAvkg_vw8321.jpg
圖 4 - 開始掃雷游戲。
?

如果用戶選擇了一個位置并有一個泵,紅色 LED 將亮起,綠色 LED 將熄滅,蜂鳴器將繼續響起。這可以在下圖中看到。

poYBAGNsWVeAawu5AAJn08JgQ_8847.jpg
圖 5 - 放置炸彈。
?

最后,我們包括一個重置按鈕,用于在泵啟動時重新啟動游戲。按下按鈕后,游戲重新開始,紅色 LED 熄滅,綠色 LED 亮起。

然后繪制另一個隨機圖釘,您的樂趣將繼續。這可以在圖 5 中看到。

?
?
?
pYYBAGNsWVuAZVjpAAHlxG5sZ0g406.jpg
?
1 / 2 ?圖6 - 重新開始游戲。
?

接下來,我們將為您提供文件,以便在NEXTPCB 印刷電路板上安裝此項目您可以免費使用和購買。

印刷電路板 NEXTPCB - Arduino Minesweeper

對于這個項目,我們決定為 Arduino UNO 創建一個 Shield 在此板上,將連接 JST 以連接按鈕、LED 和蜂鳴器。

通過這種方式,我們為該項目開發了電子原理圖設計。示意圖如下圖所示。

pYYBAGNsWWCAYpSoAAD7wj9qgJ8943.png
圖 7 - 項目的電子原理圖。
?

下圖的原理圖是從電子原理圖中獲得的。如您所見,我們放置了 10 個 JST 連接器來連接項目的元素。

poYBAGNsWWOAbp0nAACTrZ6GEAc990.png
圖 8 - 2D PCB 設計。
?

您現在可以在 3D 視圖中看到印刷電路板項目的結果。

poYBAGNsWWaAAZoSAABdHIryKJc626.png
圖 9 - 3D PCB 設計。
?

使用您的NEXTPCB 盾牌 Arduino 掃雷器,您可以設置您的項目并與您的朋友一起玩樂。

結論

通過這個游戲的開發,我們學會了如何使用Arduino的幾個功能中的一個,以及如何創建一個互動項目,讓人們玩得開心。

這個項目很簡單,可以在家中與父母和孩子一起設置,也可以在學校設置。

為了讓您的樂趣更加完整,我們已經發布了所有文件,您可以通過此鏈接獲得您的 PCB 單元來設置此項目。

我們感謝低成本印刷電路板 - NEXTPCB 公司的支持,并關注我們的個人資料以接收新的有趣項目。


pcb Arduino
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1華潤微 CRTD280P06L2-GTO-252 P-MOSFET 規格書 佰祥電子
  2. 1.68 MB  |  1次下載  |  免費
  3. 2矽力杰 Silergy SY8512 降壓穩壓器 規格書 Datasheet 佰祥電子
  4. 1.26 MB  |  1次下載  |  免費
  5. 3矽力杰 Silergy SY8513 降壓穩壓器 規格書 Datasheet 佰祥電子
  6. 1.14 MB  |  1次下載  |  免費
  7. 4矽力杰 Silergy SQ27692 降壓穩壓器 規格書 Datasheet 佰祥電子
  8. 815.51 KB  |  次下載  |  免費
  9. 575寸立式豎屏戶外廣告機規格書
  10. 409.27 KB  |  次下載  |  免費
  11. 6普洛帝顆粒計數器在花粉粒徑檢測中的應用
  12. 937.67 KB  |  次下載  |  免費
  13. 7IS620P系列伺服用戶手冊
  14. 5.69 MB   |  次下載  |  1 積分
  15. 8PCB激光打碼機的功能以及配置要求
  16. 1.51 MB  |  次下載  |  免費

本月

  1. 1EMC PCB設計總結
  2. 0.33 MB   |  11次下載  |  免費
  3. 2PD取電芯片 ECP5702規格書
  4. 0.88 MB   |  4次下載  |  免費
  5. 3氮化鎵GaN FET/GaN HEMT 功率驅動電路選型表
  6. 0.10 MB   |  3次下載  |  免費
  7. 4SY50655 用于高輸入電壓應用的偽固定頻率SSR反激式穩壓器英文資料
  8. 1.01 MB   |  3次下載  |  免費
  9. 5九陽JYCP-21ZD-A主控板電路圖資料
  10. 2.33 MB   |  2次下載  |  10 積分
  11. 6PD取電芯片,可取5/9/12/15/20V電壓ECP5702數據手冊
  12. 0.88 MB   |  2次下載  |  免費
  13. 7SY52341 次級側同步整流英文手冊
  14. 0.94 MB   |  2次下載  |  免費
  15. 8華潤微 CRTE280P06L2-G -60V Trench P-MOSFET 技術參數與應用解析
  16. 1.83 MB  |  2次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191464次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81606次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73832次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分