Mit Unity einen Servo ansteuern
hey-ho,
ich sitze schon seid vielen stunden daran: von unity aus daten arduino zu schicken. arduino erkennt auch, dass da kommt, kann die zeichen aber nicht unterscheiden.
board: esp32
unity:
arduino:
hat jemand eine idee, wie das funktionieren könnte?
ich sitze schon seid vielen stunden daran: von unity aus daten arduino zu schicken. arduino erkennt auch, dass da kommt, kann die zeichen aber nicht unterscheiden.
board: esp32
unity:
code: [select]
using system.collections;
using system.collections.generic;
using unityengine;
using system.io.ports;
public class controller : monobehaviour {
bool b = true;
public static serialport sp = new serialport("com4", 9600);
void start() {
openconnection();
}
private void update() {
vector3 pos = this.transform.position;
print(pos);
if(pos.x>0.8 && pos.x < 1.3) {
print("1");
sp.write("1");
}
else {
print("2");
sp.write("2");
}
}
public steamvr_controller.device controller
{
get
{
return steamvr_controller.input((int)getcomponent<steamvr_trackedobject>().index);
}
}
public void openconnection() {
if (sp != null) {
if (sp.isopen) {
sp.close();
print("com-port schliessen, weil er bereits geoeffnet war!");
} else {
sp.open(); // com-port verbindung öffnen
sp.readtimeout = 1;
print("com-port geoeffnet!");
}
} else {
if (sp.isopen)
print("com-port ist bereits geoeffnet!");
else
print("port == null");
}
}
}
arduino:
code: [select]
#include <esp32_servo.h>
int fromunity = 0;
static const int servopin = 23;
servo myservo;
void setup() {
serial.begin(9600);
myservo.attach(servopin);
}
void loop() {
fromunity = serial.read();
if (serial.available() > 0){
switch (fromunity){
case 1:
myservo.write(180);
delay(500);
break;
case 2:
myservo.write(10);
delay(500);
break;
}
}
}
hat jemand eine idee, wie das funktionieren könnte?
hey-ho,
ich sitze schon seid stunden dran: unity mit arduino zu verbinden. arduino empfängt zwar daten, kann aber nicht erkennen ob es eine "a" oder ein "b" ist.
arduino:
unity:
hat jemand irgendeine idee, woran das liegen könnte?
ich sitze schon seid stunden dran: unity mit arduino zu verbinden. arduino empfängt zwar daten, kann aber nicht erkennen ob es eine "a" oder ein "b" ist.
arduino:
code: [select]
#include <esp32_servo.h>
int fromunity = 0;
static const int servopin = 23;
servo myservo;
void setup() {
serial.begin(9600);
myservo.attach(servopin);
}
void loop() {
fromunity = serial.read();
if (serial.available() > 0){
switch (fromunity){
case 1:
myservo.write(180);
delay(500);
break;
case 2:
myservo.write(10);
delay(500);
break;
}
}
}
unity:
code: [select]
using system.collections;
using system.collections.generic;
using unityengine;
using system.io.ports;
public class controller : monobehaviour {
bool b = true;
public static serialport sp = new serialport("com4", 9600);
void start() {
openconnection();
}
private void update() {
vector3 pos = this.transform.position;
print(pos);
if(pos.x>0.8 && pos.x < 1.3) {
print("1");
sp.write("1");
}
else {
print("2");
sp.write("2");
}
}
public steamvr_controller.device controller
{
get
{
return steamvr_controller.input((int)getcomponent<steamvr_trackedobject>().index);
}
}
public void openconnection() {
if (sp != null) {
if (sp.isopen) {
sp.close();
print("com-port schliessen, weil er bereits geoeffnet war!");
} else {
sp.open(); // com-port verbindung öffnen
sp.readtimeout = 1;
print("com-port geoeffnet!");
}
} else {
if (sp.isopen)
print("com-port ist bereits geoeffnet!");
else
print("port == null");
}
}
}
hat jemand irgendeine idee, woran das liegen könnte?
Arduino Forum > International > Deutsch (Moderator: uwefed) > Mit Unity einen Servo ansteuern
arduino
Comments
Post a Comment