日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

怎樣制作基于SNES控制器的Arduino游戲

454398 ? 來源:wv ? 2019-10-12 08:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:所需的材料

所需的材料如下:

-1 Arduino

-1小面包板

- 1個您不介意拆除的舊SNES控制器

-10-15跳線(我使用11個)

-5個LEDs

-膠帶

第2步:連接Arduino的所有電線

將跳線插入arduino的2-9針中。參見下文,了解每個引腳的功能以及我推薦的配色方案。

引腳2:頻閃引腳。從控制器連接到橙色導線,所以我將跳線設置為粉紅色或橙色。

引腳3:時鐘引腳。從控制器連接到黃色電線,所以我建議使用黃色跳線。

引腳4:數(shù)據(jù)引腳??刂破魃嫌屑t色導線,所以最好使用紅色跳線。

引腳5:頂部LED的電源。引腳6:右側LED的電源。引腳7:底部LED的電源。

Pin 8:左側LED的電源。引腳5-8的跳線顏色應相同。我選擇“深綠色”。

Pin 9:指示燈電源。我使用了淺綠色。

5V:電源引腳,連接到控制器的白線,所以我用了白色的跳線。

GND:控制器的棕線,我用了黑色的跳線。

GND:用于將面包板的所有接地線重新連接到arduino,所有接地線都使用藍色。

步驟3:設置LED和面包板

將您的LED以菱形放置在面包板上。確保沒有2個LED引腳共享相同編號的行。將所有陰極(LED上的短引腳)連接到面包板上的接地線,然后將接地線連接到arduino的GND之一。將針腳5-8上的跳線連接到LED的陽極,與它們的位置相對應,如上一步中所述。

對于游戲指示器LED,只需將其與其他LED放開,將其陽極連接到Pin 9,其陰極連接到接地軌。

步驟4:連接控制器

到現(xiàn)在為止,您完全不必弄亂控制器?,F(xiàn)在,您必須從電線末端切下塑料外殼,以便可以進入電線內部。它們上應該有一些金屬小端(請參閱圖片),因此,將跨接導線鉤起來應該相當簡單,對嗎?

錯。

首先將控制器線由arduino綁在桌子上。如果任其發(fā)展,就很難建立良好的聯(lián)系。我的跳線直接從小金屬物品中滑出,所以我拿了一把小刀,將兩端撬開(見圖),這樣我就可以將跳線垂直地插入插座中。將5根線連接到控制器時,請確保它們彼此之間不接觸,并且確保正確匹配顏色。

步驟5:

在這一點上,您應該已正確連接好一切并準備就緒。下載鏈接的Arduino草圖,對其進行編譯,然后將其上傳到您的arduino。要播放,請等待游戲指示燈LED停止閃爍,然后將AXBY用作4個基本方向。在接下來的兩個步驟中,我將嘗試解釋代碼,但是如果您想要的只是一個運行中的游戲,則可以在此處停止。

Simon_Says_snes.ino

步驟6:代碼,第1部分

首先介紹了控制器如何發(fā)送數(shù)據(jù)的一些背景知識。為了從控制器接收數(shù)據(jù),您將選通引腳設置為高電平,然后讀取數(shù)據(jù)的第一位(最低有效位)。要獲得第二位,請切換時鐘引腳,然后從數(shù)據(jù)引腳讀取。您將繼續(xù)執(zhí)行16次??刂破鞯臓顟B(tài)是一個2字節(jié)數(shù)字,其中12個最低有效字節(jié)包含當前被按下的按鈕,而4個最高有效字節(jié)則無用。

所以前7行非常簡單,因為它們只是分配名稱

第8-20行聲明用于檢測按下控制器上哪個按鈕的十六進制數(shù)據(jù)。每個十六進制值都會在數(shù)據(jù)流中打開一個單獨的位,因此您可以使用移位來確定是否按下了某個按鈕,或者僅使用按位和。

變量“數(shù)組”只是一個數(shù)組長度為30 ints的整數(shù)。這將存儲游戲的按順序?!畃os’是位置變量。

timeForPress’是必須按下按鈕的時間。

接下來的是setup()方法。我們從播種隨機數(shù)生成器開始,然后為每個引腳2-9設置引腳模式。接下來,我們出于調試目的打開串行通信,并將按鈕順序設置為全“ 4”。我這樣做是因為b/c的LED編號系統(tǒng)最多只能增加3個,因此4個基本上只是一個占位符。現(xiàn)在我們將timeForPress設置為1000,并調用genSequence()方法,該方法將數(shù)組填充為0到3(含3)之間的隨機整數(shù)。接下來,將我們的位置設置為0,以表明它尚未開始游戲,然后閃爍游戲指示器以表明游戲即將開始。

步驟7:代碼,第2部分

在這一步中,我將快速介紹用于從控制器獲取數(shù)據(jù)的方法。我在上一步中告訴了您理論知識,但是現(xiàn)在我將列出實際的函數(shù)調用。

我認為我從這個可指導的代碼中獲得了一些代碼。但是,還不能完全確定。

有三種方法可用于檢查控制器輸入:

buttons()

頻閃()

shiftin()

buttons()方法首先設置了返回值變量和一個位置計數(shù)器。然后,它選通(使用strobe()),并進入for()循環(huán)。在for循環(huán)中,它使用shiftin()方法和按位運算符一次讀取并存儲一位數(shù)據(jù)。

strobe()方法非常簡單?;旧现皇菍⑦x通引腳設置為高電平,然后立即返回至低電平。很簡單的東西。這告訴控制器開始傳輸數(shù)據(jù)。

shiftin()方法實際上讀取數(shù)據(jù)。它從數(shù)據(jù)引腳獲取數(shù)據(jù),然后切換時鐘引腳,告訴控制器發(fā)送下一位。

僅使用這三種方法,您就可以讀取控制器的狀態(tài)。您永遠不必直接調用strobe()或shiftin()。最后一點,當檢查按鈕是否被按下時,必須使用2個按位運算符。 ?(波浪號)不是按位的,而是反轉數(shù)據(jù),然后&檢查狀態(tài)與您要按下的按鈕的關系。

步驟8:代碼,第3部分

這是關于代碼的最后一步。我只是要快速了解游戲循環(huán)的操作,因為對于新手程序員來說,這應該很容易理解。

loop()方法通過串行打印控制器的狀態(tài)開始。然后,它播放存儲在數(shù)組中的序列,然后使用readAndCheckInput方法檢查用戶輸入,該方法本質上只是一個帶有一些if語句的for循環(huán)。如果您弄錯了,它就會跳出循環(huán)并執(zhí)行閃爍的操作,然后結束。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17896

    瀏覽量

    195540
  • Arduino
    +關注

    關注

    190

    文章

    6529

    瀏覽量

    197564
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    探索 ATMega328 微控制器:嵌入式開發(fā)新選擇

    下載: A000048.pdf 1. ATMega328 基本介紹 ATMega328 采用 28 引腳 DIP 封裝,它是 Atmel 公司推出的 8 位處理。這款微控制器預裝了 Arduino
    的頭像 發(fā)表于 04-11 15:15 ?569次閱讀

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器 在電子設備的設計領域,一款性能卓越且功能豐富的微控制器對于產品的成功至關重要。今天,我們就來深入了解一下Atmel公司
    的頭像 發(fā)表于 04-06 09:05 ?309次閱讀

    CBM9001控制器

    控制器
    芯佰微電子
    發(fā)布于 :2026年01月13日 16:27:10

    探索 XENSIV? Game Controller:創(chuàng)新游戲控制器的技術剖析

    探索 XENSIV? Game Controller:創(chuàng)新游戲控制器的技術剖析 在游戲設備的世界里,一款優(yōu)秀的游戲控制器能極大提升玩家的
    的頭像 發(fā)表于 12-19 10:25 ?500次閱讀

    請問CW32微控制器的封裝類型和尺寸是怎樣的?

    CW32微控制器的封裝類型和尺寸是怎樣的?
    發(fā)表于 12-16 07:22

    #機井灌溉智能控制設備 #智能機井控制器 #無線遠傳超聲波水表 #智能機井灌溉刷卡控制器

    控制器
    平升電子-智慧水務解決方案
    發(fā)布于 :2025年11月22日 16:09:02

    codesys 3.5版本控制器聯(lián)機指導:如何進行RS232聯(lián)機?#codesys編程控制器 #控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年08月29日 09:07:25

    Codesys 3.5 版本控制器聯(lián)機指導:如何進行CAN聯(lián)機?#can總線 #codesys控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年08月21日 09:45:29

    基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器實例打包下載

    基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器實例打包,推薦下載!
    發(fā)表于 05-29 21:44

    車載整機控制器 工程機械主機控制器#碩博電子#國產控制器

    控制器
    長沙碩博電子科技股份有限公司
    發(fā)布于 :2025年05月26日 09:09:02

    基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器

    基于stm32和mpu9250的usb hid鍵盤、鼠標、游戲控制器 項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網(wǎng)絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發(fā)表于 05-23 20:53

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎知識

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡單易用的可編程控制器,但是由于開發(fā)平臺種類繁多,而且使用這些控制器基本上都需要對電子技術、數(shù)字邏輯、寄存等內容進行多方面
    發(fā)表于 05-13 09:28
    资源县| 唐山市| 广南县| 孟津县| 枣阳市| 辽阳县| 齐齐哈尔市| 赞皇县| 平和县| 古蔺县| 桃江县| 米林县| 克山县| 青川县| 资兴市| 塔河县| 乐平市| 布拖县| 冕宁县| 美姑县| 合作市| 哈巴河县| 太仆寺旗| 诏安县| 岳阳市| 平邑县| 林西县| 麻阳| 略阳县| 泾阳县| 安徽省| 香港 | 达尔| 北京市| 久治县| 洪江市| 屏边| 黑山县| 宜春市| 离岛区| 车致|