Draadloze NES controller met weergave van gegevens over (5 / 5 stap)

Stap 5: CODE en gaan!!


En hier is wat code te krijgen ga je!  Wees voorzichtig, zijn niet opgeruimd :)

1) Zorg ervoor dat u hebt SoftwareSerial.h.  Dit laat ons toe om twee seriële exemplaren tegelijk uitvoeren!
2) uploaden van de code je arduino
3) start knoppen in te drukken voor feedback
4) u wilt wijzigen de xbee-ID.  Deze waarden worden geschreven everytime die de arduino is ingeschakeld.
5) Ga vinden iets te controle!

Arduino pro 5v code met newhaven-besturingsprotocol:

#include

SoftwareSerial xbeeSerial (12, 13); RX, TX
variabelen
int i = 0;
int j = 0;
int m = 0;
int dChange = 0;
int sChange = 0;
int stChange = 0;
int ret = 0;
int uitvoeren = 0;
int inByte = 0;

int omhoog = 3;
int omlaag = 4;
int links = 5;
int rechts = 6;
int Selecteer = 7;
int begin = 8;

int opdrachten [100]; //for-util
int input [6] = {omhoog, omlaag, links, rechts, selecteer, start};
int buttonState [6];
char * richtingen [] = {"Vooruit", "Omgekeerde", "Links", "Rechts", "SELECT", "START"};
char * dlist [] = {"F", "R", "<", ">", "sel", "sta"};
byte xbeeSend [4] = {0x31, 0x32, 0x33, 0x34};

char [roverData] = "";

Newhaven NHD-0220D3Z-NSW-BBW-V3 opdrachten
byte programma = 0xFE;
byte displayOn = 0x41;
byte displayOff = 0x42;
byte cursorPos = 0x45; Set van 1 byte
byte cursorHome = 0x46;
byte underlineOn = 0x47;
byte underlineOff = 0x48;
byte cursorLeft = 0x49;
byte cursorRight = 0x4A;
byte blinkingOn = 0x4B;
byte blinkingOff = 0x4C;
byte backspace = 0xFE;
byte clearScreen = 0x51;
byte setContrast = 0x52; //1 byte set
byte setBrightness = 0x53; set van 1 byte
byte aangepaste = 0x54;
byte displayLeft = 0x55;
byte displayRight = 0x56;
byte firmware = 0x70;
/*
0xFE 0x61 1 byte verandering RS‐232 BAUDrate 3mS
0xFE 0x62 1 byte verandering I2C adres 3mS
0xFE 0x70 geen weergave firmware versie nummer 4mS
0xFE 0x71 geen weergeven RS‐232 BAUDrate 10mS
0xFE 0x72 geen Display I2C adres 4mS
*/

VOID Setup
{
Open seriële com en definiëren van ingangen
Serial.begin(9600);
xbeeSerial.begin(9600);

voor (ik = 3; ik < 9; i ++) {}
pinMode (i, ingang);
}

lcdCommand(program,clearScreen);
delay(500);
//

Zet de radio in de command stand:
xbeeSerial.print("+++");
wachten op de radio om te reageren met "OK\r"
char thisByte = 0;
terwijl (thisByte! = '\r') {}
Als (xbeeSerial.available() > 0) {}
thisByte = xbeeSerial.read();
//   }
// }
het doeladres met 16-bits adressering instellen Deze radio's
bestemming moet dat de andere radio is mijn adres en omgekeerd:
xbeeSerial.print ("ATDH0, DL1234\r");
xbeeSerial.print("ATMY5678\r");   mijn adres (16-bits adressering) instellen
instellen van de PAN-ID. Als je in een plaats waar veel mensen
zijn via XBees, het kiezen van een unieke ID van de PAN
xbeeSerial.print("ATID1111\r");
xbeeSerial.print("ATCN\r");
xbeeListen();

}

ongeldig xbeeListen() {}
char thisByte = 0;
Als (Serial.available() > 0) {}
thisByte = Serial.read();
}
}

void loop / / LOOPY!
{

lcdCommand(program,cursorHome);
lcdCommand(program,blinkingOn);
lcdCommand(program,setContrast);
Serial.write(0x28);

readDpadInput();
readSelInput();

lcdCommand(program,cursorRight);

Serial.Print("Command:");
Serial.Print(j);
Serial.Print("?");
lcdCommand(program,cursorPos);
Serial.write(0x40);

while(dChange ==1) {}

directionFeedback();
delay(500);
opdrachten [j] = ret;
j ++;

lcdCommand(program,clearScreen);
dChange = 0;
}
delay(500);

}

seriële

instructieprotocol:
int lcdCommand (byte adres, int value) {}
Serial.write (adres); //CORRECT syntaxis voor LCD-opdrachten
Serial.write(Value);
}

Lees input
int readDpadInput() {}
voor (ik = 0; ik < 4; i ++) {}
buttonState[i]=digitalRead(input[i]);
dChange = buttonState [i] + dChange;
}
}
int readSelInput() {}

buttonState[4]=digitalRead(input[4]);
sChange = buttonState [4] + sChange;
}

int readStartInput() {}

buttonState[5]=digitalRead(input[5]);
stChange = buttonState [5] + stChange;
}

aanwijzingen
int directionFeedback() {}
voor (ik = 0; ik < 4; i ++) {}
switch(buttonState[i]) {}
geval van 0: lcdCommand(program,cursorHome);
breken;
Case 1:
lcdCommand(program,blinkingOff);
lcdCommand(program,cursorPos);
Serial.write(0xC);
Serial.Print(Directions[i]);
xbeeSerial.print(i+1);
handleSerial();
delay(1000);

xbeeSerial.write("\r");


RET = i;
breken;
}
}
}

int handleSerial() {}
xbeeSerial.print(56);
if(xbeeSerial.available() > 0) {}
inByte = xbeeSerial.read();
Serial.Print(inByte);
}
}

Gerelateerde Artikelen

Bluetooth Nintendo NES-controller met behulp van Wiimote!

Bluetooth Nintendo NES-controller met behulp van Wiimote!

Bereid om de retro-games spelen op mijn PC of Mac wilde ik gebruiken van de klassieke NES-pad!Ik weet Wiimote werkt goed met beide dus waarom opnieuw het wiel uitvinden.Het probleem is hoe een "grote" wiimote passen in een klassieke NES-controll
Maak een aangepaste 3D prothetische afdrukbare apparaat met behulp van gegevens uit een CT-scanner

Maak een aangepaste 3D prothetische afdrukbare apparaat met behulp van gegevens uit een CT-scanner

Dit Instructable illustreert hoe maak je een aangepaste 3D prothetische afdrukbare apparaat met behulp van gegevens uit een CT-scanner. In dit geval zal ik het proces voor het maken van een aangepaste luchtpijp stent illustreren. Dit Instructable bev
CPU Fan controller met behulp van PIC

CPU Fan controller met behulp van PIC

CPU Fan controller met behulp van PIC 16F877A4 pin CPU fancontroller met behulp van PIC16F877A micro-controller.25 khz PWM Generator, RPM Meter, Button schakelaar snelheid aanpassenlink: http://www.edaboard.com/thread295376.html#post1263236
NES controller met leds verlichting van het logo

NES controller met leds verlichting van het logo

All hail The Nes, niets kan worden gedaan om het te maken beter. Dus ik dacht, is dit zo cool! Ik heb alleen gekregen glimlacht wie heeft gezien. Mensen heb leds in zoals dit vóór maar niet uitzien en niet met een reguliere originele controller.Hierv
NES-controller met 8gb geheugen / leds verlichting van het logo

NES-controller met 8gb geheugen / leds verlichting van het logo

All hail The Nes, niets kan worden gedaan om het te maken beter. Dus ik dacht, is dit zo cool! Ik heb alleen gekregen glimlacht wie heeft gezien. Mensen heb leds in als dit voor, en usb memorys, maar niet zoals dit, en niet met een reguliere originel
Het instellen van een USB NES-controller met NESTOPIA op de PC

Het instellen van een USB NES-controller met NESTOPIA op de PC

spelen NESTOPIA is niet hetzelfde zonder een NES USB-controller. In deze tutorial leert u hoe knoppen op de kaart en het instellen van de USB-NES CONTROLLER.
Maak een eenvoudige draadloze RF robot met behulp van Arduino!

Maak een eenvoudige draadloze RF robot met behulp van Arduino!

UPDATE: IK HEB JOYSTICK-CONTROLE TOEGEVOEGD AAN DEZE ROBOT. GELIEVE TE VERWIJZEN NAAR DE STAP 7, ALS U WILT BEPALEN UW ROBOT VIA JOYSTICK.HalloDit is mijn eerste instructable en in deze tutorial, I 'm gonna Toon u hoe te bouwen van een eenvoudige dra
USB NES-controller met een arduino!

USB NES-controller met een arduino!

UPDATE 22-12-2014Instructables gebruiker mattpbooth heeft bijgewerkt de code en het is hosting op github:https://github.com/mattpbooth/ArduinoNESController...Matt bedankt!UPDATE 03-12-2011Een println vervangen met print (derp).UPDATE 01-12-2011Alle c
Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Arduino zelf evenwicht Controller met behulp van digitale IMU, eindelijk!

Wat is het?DIY Segway/balans controller met moderne digitale IMU sensor.Software voor een Arduino waarmee het standpunt om gegevens te lezen van een van de nieuwere digitale accelerometer/gyroscoop eenheden, processen, de gegevens met behulp van Kalm
Hoe aan te passen een kloon NES-controller met bluetooth

Hoe aan te passen een kloon NES-controller met bluetooth

ik kocht een draadloze Bluetooth-RS232 TTL Transceiver-Module van DX (SKU: 80711) en vraag me af wat ik ermee kan doen.Dus, ik ben echt nostalgisch en besloot om te bouwen van een NES kloon crontoller naar bluetooth-adapter, omdat door deze manier ik
Quiz Game Controller met behulp van de "Lichten en geluiden zoemers" en Arduino

Quiz Game Controller met behulp van de "Lichten en geluiden zoemers" en Arduino

gevaar stijl quiz spelen zijn favorieten voor het maken van opwinding en educatieve instructie op hetzelfde moment.  Leraren, zomer camp counselors, en zelfs industrie opvoeders vinden dit soort spel om te helpen bij het genereren van belangstelling
Goedkope draadloze muizenval alarm met behulp van een ATtiny85

Goedkope draadloze muizenval alarm met behulp van een ATtiny85

Een paar weken geleden maakte ik de jaarlijkse expeditie tot onze zolder te halen de Chrismas decoraties. Zoals ik was het passeren van de vakken naar mijn vrouw die realiseerde ik me hadden we sommige ongenode kostgangers, duidelijk door hun uitwerp
Setup van externe stuurprogramma op Smoothieware Sbase 1.2 Controller met behulp van E1 pinnen!

Setup van externe stuurprogramma op Smoothieware Sbase 1.2 Controller met behulp van E1 pinnen!

Inhoud van dit Instructable:ProloqueHeatsink stuurprogrammaproblemenTer ziele Y bestuurderSetup Smoothieware E1 gebruiken als onze Y-asY stuurprogramma - origineelY bestuurder - met behulp van E01Volledige stuurprogramma pin-out diagramSetup van exte
Bouwen van een Bluespec LED controller met behulp van Connectal Build

Bouwen van een Bluespec LED controller met behulp van Connectal Build

Deze tutorial wordt uitgelegd hoe u de dienst van het publiek Connectal te bouwen om te bouwen en simuleren van een toepassing met hardware en software componenten die zijn geschreven in BSV en C++ met behulp van het Connectal-kader.Wij gaan ervan ui