Oculus kartong projektet: DIY virtuella verkligheten pistol med spårning med hjälp av Arduino och ESP8266 (6 / 7 steg)
Steg 6: Förbereda ESP8266 för programmering
Hämta Arduino IDE om du inte redan har det: https://www.arduino.cc/en/Main/Software
Nu måste du lägga till ESP8266 nod MCU 12naE som en valbar kretskortet till Arduino IDE.
Följ anvisningarna beskrivs här: http://www.whatimade.today/esp8266-easiest-way-to-...
Nu bör du ha alla ESP alternativ som kan väljas styrelser när du klickar på Verktyg -> styrelser i IDE
Kopiera och klistra in denna kod på Arduino IDE:
#include < ESP8266WiFi.h >
#include < WiFiUdp.h >
int buttonPin = 5; D1 på esp8266 nodemcu
int buttonPin2 = 4; D2
bool promenader = false;
bool sentWalking = false;
bool sentNotWalking = false;
bool bränning = false;
bool sentFiring = false;
bool sentNotFiring = false;
CONST char * ssid = "***"; WiFi-nätverksnamn
CONST char * lösenord = "***"; WiFi nätverkslösenord
IP-adress ipBroadCast (255, 255, 255, 255); IP datornätverk
IP-adress ipBroadCast (255, 255, 255, 255); IP i mobilnät
unsigned int udpRemotePort = 2000.
CONST int UDP_PACKET_SIZE = 28;
char udpBuffer [UDP_PACKET_SIZE];
WiFiUDP udp;
void setup() {
Serial.BEGIN(115200);
Delay(10);
Vi börjar med att ansluta till WiFi-nätverk
Serial.Print ("ansluter till");
Serial.println(SSID);
WiFi.begin (ssid, lösenord);
medan (WiFi.status()! = WL_CONNECTED) {
Delay(500);
Serial.Print(".");
}
Serial.println ("WiFi-anslutna");
Serial.println ("IP-adress:");
Serial.println(WiFi.localIP());
Serial.println ("Start UDP");
pinMode (buttonPin, INPUT_PULLUP);
pinMode (buttonPin2, INPUT_PULLUP);
Skicka anslutna meddelande
strcpy (udpBuffer, "ansluten");
Serial.println("Connected");
udp.beginPacket (ipBroadCast, udpRemotePort);
UDP.write (udpBuffer, sizeof(udpBuffer));
udp.endPacket();
}
void sendFIRE() {
strcpy (udpBuffer, "FIRE");
udp.beginPacket (ipBroadCast, udpRemotePort);
UDP.write (udpBuffer, sizeof(udpBuffer));
udp.endPacket();
}
void sendWALK() {
strcpy (udpBuffer, "Promenad");
udp.beginPacket (ipBroadCast, udpRemotePort);
UDP.write (udpBuffer, sizeof(udpBuffer));
udp.endPacket();
}
void sendSTOP() {
strcpy (udpBuffer, "Stopp");
udp.beginPacket (ipBroadCast, udpRemotePort);
UDP.write (udpBuffer, sizeof(udpBuffer));
udp.endPacket();
}
void sendDONT() {
strcpy (udpBuffer, "DONT");
udp.beginPacket (ipBroadCast, udpRemotePort);
UDP.write (udpBuffer, sizeof(udpBuffer));
udp.endPacket();
}
void loop() {
int buttonValue = digitalRead(buttonPin);
int buttonValue2 = digitalRead(buttonPin2);
om (buttonValue == låg) {
bränning = sant;
} annat {
sentFiring = false;
}
om (buttonValue == hög) {
bränning = false;
} annat {
sentNotFiring = false;
}
om (bränning == true & & sentFiring == false) {
Serial.println("Fire");
sendFIRE();
Delay(200);
sentFiring = sant;
}
om (bränning == false & & sentNotFiring == false) {
Serial.println("dont");
sendDONT();
Delay(200);
sentNotFiring = sant;
}
avsluta bränning
börja gå
om (buttonValue2 == låg) {
Walking = sant;
} annat {
sentWalking = false;
}
om (buttonValue2 == hög) {
Walking = false;
} annat {
sentNotWalking = false;
}
om (walking == true & & sentWalking == false) {
Serial.println("Walk");
sendWALK();
Delay(200);
sentWalking = sant;
}
om (walking == false & & sentNotWalking == false) {
Serial.println("stop");
sendSTOP();
Delay(200);
sentNotWalking = sant;
}
}