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
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);
|
|
}
|