chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣用NES控制器作為燈的開(kāi)關(guān)

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-26 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:設(shè)備

1 x原始NES控制器 - 我從當(dāng)?shù)氐亩稚痰晏暨x了一個(gè)

1 x Arduino UNO - 我使用了DuinoTECH經(jīng)典(UNO)

5 - 7 x公 - 公跳線(xiàn) - 我建議使用各種顏色使故障排除更容易(我總是使用黑色表示GND,紅色表示+ 5V然后旋轉(zhuǎn)通過(guò)彩虹的顏色)

1 x LED(可選)

1 x 330歐姆電阻(可選)

1 x面包板(可選)

USB電纜

安裝了Arduino IDE的計(jì)算機(jī)

步驟2:連接

怎樣用NES控制器作為燈的開(kāi)關(guān)

黑線(xiàn)從Arduino上的 GND 到 Pin 1 NES控制器插頭

紅線(xiàn)從 + 5V 到 Pin 7

橙色線(xiàn)從 D5 到 Pin 2

黃線(xiàn)從 D6 到 Pin 3

綠線(xiàn)從 D7 到第4針

藍(lán)色電線(xiàn)從 D13 到LED 陽(yáng)極

330歐姆電阻來(lái)自LED 陰極到 GND (使用另一根黑線(xiàn)) - 我認(rèn)為大多數(shù)Arduino UNO板都有一個(gè)小型表面貼裝LED,它連接到D13,因此連接另一個(gè)LED是可選的。

第一張圖顯示了NES控制器插頭 - 點(diǎn)擊每個(gè)插座/引腳以找出每個(gè)功能。男性 - 男性跳線(xiàn)完美地插入插座。

第3步:按鈕狀態(tài)和去抖動(dòng)

如果你打算使用兩個(gè)這個(gè)NES控制器燈開(kāi)關(guān)的按鈕(例如開(kāi)始用于開(kāi)啟和選擇用于關(guān)閉)這將非常容易從我之前的教練那里調(diào)整NES控制器鋼琴素描很容易:

標(biāo)簽D13為 led

刪除 nes = 255 行

刪除其他按鈕功能

更改 bitRead( nes,4)== 0 對(duì) digitalWrite(led,HIGH)的音調(diào)命令

更改 bitRead(nes,5) == 0音調(diào)命令到 digitalWrite(led,LOW)

#define nesClock 5 // label pinout

#define nesLatch 6

#define nesData 7

#define led 13

byte nes = 0; // global variable

void setup() {

// put your setup code here, to run once:

Serial.begin (9600); // serial terminal speed

pinMode (nesData, INPUT); // set up pins

pinMode (nesClock, OUTPUT);

pinMode (nesLatch, OUTPUT);

pinMode (led, OUTPUT);

digitalWrite (led, LOW);

}

void loop() {

// put your main code here, to run repeatedly:

nes = nesRead ();

if (bitRead (nes, 4) == 0){

digitalWrite (led, HIGH);

}

if (bitRead (nes, 5) == 0){

digitalWrite (led, LOW);

}

delay (180);

}

byte nesRead (){ // “bit banging”

byte value = 0;

digitalWrite (nesLatch, HIGH);

delayMicroseconds(5);

digitalWrite (nesLatch, LOW);

for (int i=0; i《8; i++) {

digitalWrite (nesClock, LOW);

value |= digitalRead (nesData) 《《 (7 - i);

digitalWrite (nesClock, HIGH);

}

return (value);

}

然而,我花了一些時(shí)間來(lái)鍛煉如何僅使用START按鈕。我修改了Arduino.cc去抖動(dòng)教程中的代碼 - 去抖動(dòng)在這個(gè)草圖中是必不可少的(刪除 debounceDelay 和 lastDebounceTime 會(huì)產(chǎn)生非常不可預(yù)測(cè)的效果(有時(shí)LED會(huì)亮,有時(shí)候它是關(guān)閉的,有時(shí)它是FLASHING并且草圖的連續(xù)監(jiān)視器部分正在加班以跟上)。

int ledState = HIGH; // current state of LED pin

int buttonState; // see below in loop()

int lastButtonState = LOW; // last time START was pressed

long lastDebounceTime = 0; // for debouncing switch

long debounceDelay = 200; // for debouncing switch void loop() { // put your main code here, to run repeatedly:

buttonState = bitRead (nes, 4); // START pressed

nesRead ();

if (buttonState == 0 && lastButtonState == LOW && millis() - lastDebounceTime 》 debounceDelay){

if (ledState == HIGH){

ledState = LOW; // LED is OFF

//Serial.println (“OFF”);

}

else {

ledState = HIGH; // LED is ON

//Serial.println (“ON”);

}

lastDebounceTime = millis ();

}

digitalWrite (led, ledState );

lastButtonState = buttonState;

不幸的是我曾用過(guò)的代碼比特爆炸在我的NES控制器中,鋼琴草圖在這種情況下不起作用 - 參見(jiàn)步驟4.

步驟4:位綁定

當(dāng)按下按鈕時(shí),NES控制器使用4021移位寄存器來(lái)創(chuàng)建數(shù)據(jù)脈沖 - 單擊圖片中的按鈕可查看按下每個(gè)按鈕時(shí)創(chuàng)建的數(shù)據(jù),或嘗試從 bradsprojects.com-運(yùn)行此草圖,Arduino捕獲脈沖并通過(guò)查找每個(gè)脈沖中的0來(lái)解釋它們。/p》

我用來(lái)捕獲NES控制器數(shù)據(jù)的代碼與我的其他NES控制器Instructables中使用的代碼不同。我無(wú)法調(diào)整Gordon McComb的*方法來(lái)執(zhí)行此任務(wù)(使用單個(gè) NES按鈕來(lái)點(diǎn)亮 ON 和 OFF ) - LED像經(jīng)典的Blink sketch 一樣連續(xù)閃爍。我使用了一個(gè)與 Loop()函數(shù)分開(kāi)的函數(shù),我將其稱(chēng)為 nesRead() - 這個(gè)使用的位移方式略有不同 - 我先讀了一下它在 arduino.cc。

void nesRead (){ //function to read data from NES controller nes = 0;

digitalWrite (nesLatch, LOW);

digitalWrite (nesClock, LOW);

digitalWrite (nesLatch, HIGH);

delayMicroseconds (2);

digitalWrite (nesLatch, LOW);

nes = digitalRead (nesData);

for (int i = 1; i 《=7; i ++){

digitalWrite (nesClock, HIGH);

delayMicroseconds (2);

nes = nes 《《1; // bitshift

nes = nes + digitalRead (nesData);

delayMicroseconds (4);

digitalWrite (nesClock, LOW);

}

}

*由Gordon McComb McGraw Hill 2013撰寫(xiě)的“Arduino Robot Bonanza”中的Teachbot游戲手柄控制器草圖。

第5步:完整草圖

#define nesClock 5 // label pinout

#define nesLatch 6

#define nesData 7

#define led 13

int ledState = HIGH; // current state of LED pin

int buttonState; // see below in loop()

int lastButtonState = LOW; // last time START was pressed

long lastDebounceTime = 0; // for debouncing switch

long debounceDelay = 200; // for debouncing switch

byte nes = 0; // label 8 bit data from controller

/* Setup */

void setup() {

// put your setup code here, to run once:

delay (1000);

// Serial.begin (9600);

pinMode (nesLatch, OUTPUT); // set up pins

pinMode (nesClock, OUTPUT);

pinMode (nesData, INPUT);

pinMode (led, OUTPUT);

}

void nesRead (){ //function to read data from NES controller

nes = 0;

digitalWrite (nesLatch, LOW);

digitalWrite (nesClock, LOW);

digitalWrite (nesLatch, HIGH);

delayMicroseconds (2);

digitalWrite (nesLatch, LOW);

nes = digitalRead (nesData);

for (int i = 1; i 《=7; i ++){

digitalWrite (nesClock, HIGH);

delayMicroseconds (2);

nes = nes 《《1; // bitshift

nes = nes + digitalRead (nesData);

delayMicroseconds (4);

digitalWrite (nesClock, LOW);

}

}

void loop() {

// put your main code here, to run repeatedly:

buttonState = bitRead (nes, 4); // START pressed

nesRead ();

if (buttonState == 0 && lastButtonState == LOW && millis() - lastDebounceTime 》 debounceDelay){

if (ledState == HIGH){

ledState = LOW; // LED is OFF

//Serial.println (“OFF”);

}

else {

ledState = HIGH; // LED is ON

//Serial.println (“ON”);

}

lastDebounceTime = millis ();

}

digitalWrite (led, ledState );

lastButtonState = buttonState; // Current state (i.e. ON or OFF) of START is now lastButtonState

}

第6步:開(kāi)啟和關(guān)閉燈光

如果您有經(jīng)驗(yàn),請(qǐng)通過(guò)兼容Arduino的繼電器連接Nintendo主題燈。..。..

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)關(guān)
    +關(guān)注

    關(guān)注

    20

    文章

    3322

    瀏覽量

    98478
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17877

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    探索150W單輸出開(kāi)關(guān)電源NES - 150系列:特性與技術(shù)解析

    探索150W單輸出開(kāi)關(guān)電源NES - 150系列:特性與技術(shù)解析 在電子設(shè)備的設(shè)計(jì)中,電源是至關(guān)重要的組成部分,它的性能直接影響著整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。今天,我們就來(lái)深入了解一下150W單輸出
    的頭像 發(fā)表于 04-15 15:20 ?103次閱讀

    200W單輸出開(kāi)關(guān)電源NES - 200系列:性能與設(shè)計(jì)詳解

    200W單輸出開(kāi)關(guān)電源NES - 200系列:性能與設(shè)計(jì)詳解 在電子設(shè)備的設(shè)計(jì)中,電源模塊的選擇至關(guān)重要,它直接影響著整個(gè)系統(tǒng)的穩(wěn)定性和性能。今天,我們就來(lái)詳細(xì)探討一下200W單輸出開(kāi)關(guān)電源N
    的頭像 發(fā)表于 04-05 12:40 ?249次閱讀

    15W單輸出開(kāi)關(guān)電源NES - 15系列:設(shè)計(jì)與性能解析

    15W單輸出開(kāi)關(guān)電源NES - 15系列:設(shè)計(jì)與性能解析 在電子設(shè)備的設(shè)計(jì)中,電源模塊的選擇至關(guān)重要,它直接影響著設(shè)備的穩(wěn)定性和性能。今天我們就來(lái)詳細(xì)探討一下15W單輸出開(kāi)關(guān)電源NES
    的頭像 發(fā)表于 04-05 12:40 ?246次閱讀

    探索 NES - 100 系列 100W 單輸出開(kāi)關(guān)電源

    探索 NES - 100 系列 100W 單輸出開(kāi)關(guān)電源 在電子設(shè)備的設(shè)計(jì)與開(kāi)發(fā)中,電源是至關(guān)重要的一環(huán),它就像設(shè)備的“心臟”,為整個(gè)系統(tǒng)提供穩(wěn)定的動(dòng)力。今天,我們來(lái)深入了解一下 NES - 100
    的頭像 發(fā)表于 04-05 12:40 ?280次閱讀

    75W單輸出開(kāi)關(guān)電源NES - 75系列:設(shè)計(jì)與性能解析

    75W單輸出開(kāi)關(guān)電源NES - 75系列:設(shè)計(jì)與性能解析 在電子設(shè)備的設(shè)計(jì)中,電源模塊的選擇至關(guān)重要,它直接影響著整個(gè)系統(tǒng)的穩(wěn)定性和性能。今天,我們來(lái)深入探討一下75W單輸出開(kāi)關(guān)電源NES
    的頭像 發(fā)表于 04-05 10:40 ?266次閱讀

    350W單輸出開(kāi)關(guān)電源NES - 350系列:性能與設(shè)計(jì)全解析

    350W單輸出開(kāi)關(guān)電源NES - 350系列:性能與設(shè)計(jì)全解析 在電子設(shè)備的設(shè)計(jì)中,電源模塊是至關(guān)重要的一環(huán),它為整個(gè)系統(tǒng)提供穩(wěn)定的能量支持。今天,我們就來(lái)深入探討一下350W單輸出開(kāi)關(guān)電源N
    的頭像 發(fā)表于 04-05 10:40 ?309次閱讀

    探秘35W單輸出開(kāi)關(guān)電源NES - 35系列

    探秘35W單輸出開(kāi)關(guān)電源NES - 35系列 一、引言 在電子設(shè)備的設(shè)計(jì)中,開(kāi)關(guān)電源是至關(guān)重要的組件,它為設(shè)備穩(wěn)定運(yùn)行提供電力支持。今天為大家詳細(xì)介紹35W單輸出開(kāi)關(guān)電源
    的頭像 發(fā)表于 04-05 10:40 ?275次閱讀

    LTC3851A-1同步降壓開(kāi)關(guān)穩(wěn)壓控制器:設(shè)計(jì)與應(yīng)用全解析

    LTC3851A-1同步降壓開(kāi)關(guān)穩(wěn)壓控制器:設(shè)計(jì)與應(yīng)用全解析 作為電子工程師,在電源設(shè)計(jì)領(lǐng)域,我們常常在尋找性能卓越、功能強(qiáng)大的穩(wěn)壓
    的頭像 發(fā)表于 03-06 09:50 ?417次閱讀

    深入解析 UC1872/UC2872/UC3872 諧振鎮(zhèn)流器控制器

    和 UC3872 是一系列專(zhuān)門(mén)為驅(qū)動(dòng)冷陰極熒光、霓虹和其他氣體放電燈而優(yōu)化的諧振鎮(zhèn)流器控制器。它們具有零電壓開(kāi)關(guān)(ZVS)功能,能夠
    的頭像 發(fā)表于 02-27 15:10 ?271次閱讀

    睿澤物聯(lián)單控制器重新定義城市照明

    你是否想過(guò),城市中看似普通的路燈,正在悄然經(jīng)歷一場(chǎng)智慧革命?這一切的改變,都源于一個(gè)看似微小卻至關(guān)重要的設(shè)備——單控制器。作為智慧照明領(lǐng)域的深耕者,睿澤物聯(lián)正通過(guò)其先進(jìn)的單
    的頭像 發(fā)表于 09-23 11:41 ?941次閱讀

    1個(gè)APP控制千盞?拆解睿澤物聯(lián)單控制器的智能奧秘

    睿澤物聯(lián)的單控制器,不僅是一臺(tái)設(shè)備,更是城市照明的智能化入口。1個(gè)APP控制千盞,看似簡(jiǎn)單,背后卻是物聯(lián)網(wǎng)、大數(shù)據(jù)、節(jié)能技術(shù)的深度整合。如果你正在尋找高效、節(jié)能、智能的路燈管理方案
    的頭像 發(fā)表于 08-27 19:25 ?1457次閱讀
    1個(gè)APP<b class='flag-5'>控制</b>千盞<b class='flag-5'>燈</b>?拆解睿澤物聯(lián)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>的智能奧秘

    Analog Devices / Maxim Integrated MAX25603汽車(chē)4開(kāi)關(guān)LED控制器數(shù)據(jù)手冊(cè)

    Analog Devices MAX25603汽車(chē)4開(kāi)關(guān)降壓-升壓LED控制器設(shè)計(jì)用于多功能汽車(chē)組合前照。MAX25603可調(diào)節(jié)0V至60V范圍內(nèi)LED串電壓的LED電流。該汽車(chē)
    的頭像 發(fā)表于 06-24 11:02 ?1021次閱讀
    Analog Devices / Maxim Integrated MAX25603汽車(chē)4<b class='flag-5'>開(kāi)關(guān)</b>LED<b class='flag-5'>控制器</b>數(shù)據(jù)手冊(cè)

    智慧路燈核心大腦——路燈單控制器-無(wú)線(xiàn)單調(diào)光控制器

    智慧路燈核心大腦——路燈單控制器-無(wú)線(xiàn)單調(diào)光控制器
    的頭像 發(fā)表于 05-27 09:52 ?1326次閱讀
    智慧路燈核心大腦——路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>-無(wú)線(xiàn)單<b class='flag-5'>燈</b>調(diào)光<b class='flag-5'>控制器</b>

    NB-IoT單控制器:智慧照明的“神經(jīng)末梢”

    的精確控制與管理。 工作原理 NB - IoT 單控制器內(nèi)部集成了傳感、通信模塊以及控制芯片。每一個(gè)
    的頭像 發(fā)表于 04-27 16:33 ?815次閱讀

    電力載波單控制器:智能照明的關(guān)鍵技術(shù)

    電力載波單控制器:智能照明的關(guān)鍵技術(shù) 一、電力載波技術(shù)簡(jiǎn)介 電力載波(PLC, Power Line Communication)系一種運(yùn)用電力線(xiàn)進(jìn)行數(shù)據(jù)信號(hào)傳輸?shù)募夹g(shù)。其工作機(jī)制為在電力線(xiàn)上加載
    的頭像 發(fā)表于 04-27 16:31 ?893次閱讀