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 msgLX("/movedulation/sliderLX");
|
|
msgLX.add(AcX);
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgLX.send(Udp);
|
|
Udp.endPacket();
|
|
msgLX.empty();
|
|
|
|
OSCMessage msgLY("/movedulation/sliderLY");
|
|
msgLY.add(AcY);
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgLY.send(Udp);
|
|
Udp.endPacket();
|
|
msgLY.empty();
|
|
|
|
OSCMessage msgL1("/movedulation/toggleL1");
|
|
msgL1.add(digitalRead(finger1));
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgL1.send(Udp);
|
|
Udp.endPacket();
|
|
msgL1.empty();
|
|
|
|
OSCMessage msgL2("/movedulation/toggleL2");
|
|
msgL2.add(digitalRead(finger2));
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgL2.send(Udp);
|
|
Udp.endPacket();
|
|
msgL2.empty();
|
|
|
|
OSCMessage msgL3("/movedulation/toggleL3");
|
|
msgL3.add(digitalRead(finger3));
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgL3.send(Udp);
|
|
Udp.endPacket();
|
|
msgL3.empty();
|
|
|
|
OSCMessage msgL4("/movedulation/toggleL4");
|
|
msgL4.add(digitalRead(finger4));
|
|
Udp.beginPacket(outIp, outPort);
|
|
msgL4.send(Udp);
|
|
Udp.endPacket();
|
|
msgL4.empty();
|
|
|
|
delay(100);
|
|
}
|