You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

129 lines
2.7 KiB

#include <Wire.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>
#include <SPI.h>
const int MPU=0x68;
int16_t AcX,AcY,AcZ;
char ssid[] = "NETGEAR41";
char pass[] = "magicalbanana0";
WiFiUDP Udp;
const IPAddress outIp(192,168,0,29); // remote IP of receiver computer
const unsigned int outPort = 7000; // remote port to receive OSC
int fingerGround = 15;
int fingerSignal = 18;
int finger1 = 16;
int finger2 = 14;
int finger3 = 12;
int finger4 = 13;
void setup() {
Wire.begin();
Wire.beginTransmission(MPU);
Wire.write(0x6B);
Wire.write(0);
Wire.endTransmission(true);
Serial.begin(115200);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
pinMode(fingerSignal, OUTPUT);
pinMode(fingerGround, OUTPUT);
digitalWrite(fingerSignal, HIGH);
digitalWrite(fingerGround, LOW);
pinMode(finger1, INPUT);
pinMode(finger2, INPUT);
pinMode(finger3, INPUT);
pinMode(finger4, INPUT);
}
void loop() {
Wire.beginTransmission(MPU);
Wire.write(0x3B);
Wire.endTransmission(false);
Wire.requestFrom(MPU,14);
AcX=Wire.read()<<8|Wire.read();
AcY=Wire.read()<<8|Wire.read();
AcZ=Wire.read()<<8|Wire.read();
Serial.print(AcX);
Serial.print("\t");
Serial.print(AcY);
Serial.print("\t");
Serial.print(digitalRead(finger1));
Serial.print("\t");
Serial.print(digitalRead(finger2));
Serial.print("\t");
Serial.print(digitalRead(finger3));
Serial.print("\t");
Serial.print(digitalRead(finger4));
Serial.println("\t");
//Serial.println(AcZ);
OSCMessage msgRX("/movedulation/sliderRX");
msgRX.add(AcX);
Udp.beginPacket(outIp, outPort);
msgRX.send(Udp);
Udp.endPacket();
msgRX.empty();
OSCMessage msgRY("/movedulation/sliderRY");
msgRY.add(AcY);
Udp.beginPacket(outIp, outPort);
msgRY.send(Udp);
Udp.endPacket();
msgRY.empty();
OSCMessage msgR1("/movedulation/toggleR1");
msgR1.add(digitalRead(finger1));
Udp.beginPacket(outIp, outPort);
msgR1.send(Udp);
Udp.endPacket();
msgR1.empty();
OSCMessage msgR2("/movedulation/toggleR2");
msgR2.add(digitalRead(finger2));
Udp.beginPacket(outIp, outPort);
msgR2.send(Udp);
Udp.endPacket();
msgR2.empty();
OSCMessage msgR3("/movedulation/toggleR3");
msgR3.add(digitalRead(finger3));
Udp.beginPacket(outIp, outPort);
msgR3.send(Udp);
Udp.endPacket();
msgR3.empty();
OSCMessage msgR4("/movedulation/toggleR4");
msgR4.add(digitalRead(finger4));
Udp.beginPacket(outIp, outPort);
msgR4.send(Udp);
Udp.endPacket();
msgR4.empty();
delay(100);
}