hola gente aqui les traigo mi segundo logro con arduino y xsim.
es un mini simulador de movimiento basado en el post de jamesdio http://www.x-simulator.de/forum/2dof-arduino-miniature-motion-platform-w-2-servos-t3469.html?hilit=arduino :thbup: el cual me a inspirado para entrar en arduino.
tambien un agradecimiento nuevamente para astro :cheers: del foro de x-simulator.de quien me ha ayudado evacuando dudas... detalles que no veia por mi mismo :cheers:
el video: es un poco improlijo al igual que el modelo.. disculpen uds , lo hice con lo que tenia a mano.
arduino mini sim - YouTube
el codigo. como dije basado en el de jamesdio con unas pequeñas modificaciones. detalles. mas adelante lo ire depurando a mi gusto. todos los reconocimientos a jamesdio
#include <Servo.h>
Servo myservo1;
Servo myservo2;
int Degree;
int Gforce = 0;
int Gforce1 = 0;
int Gforce10 = 0;
int Gforce100 = 0;
char kind_of_data;
void setup() {
myservo1.attach(2);
myservo2.attach(3);
myservo1.write(90);
myservo2.write(90);
Serial.begin(9600);
}
void loop() {
while(Serial.available() > 0) {
kind_of_data = Serial.read(); //para USO X~a01~ Y~a02~
if(kind_of_data == 'X') {
Read_Pos(kind_of_data);
}
if(kind_of_data == 'Y') {
Read_Pos(kind_of_data);
}
}
}
void Read_Pos(char which_servo){
delay(2);
int Gforce100 = Serial.read()- '0';
delay(2);
int Gforce10 = Serial.read()- '0';
delay(2);
int Gforce1 = Serial.read()- '0';
if (Gforce1 < 0) { Gforce = Gforce10 + 10*Gforce100; }
if (Gforce1 < 0 && Gforce10 < 0) { Gforce = Gforce100; }
if (Gforce100 < 0) { Gforce = 127; }
if (Gforce1 >=0 && Gforce10 >= 0 && Gforce100 >= 0) { Gforce = 100 * Gforce100 + 10 * Gforce10 + Gforce1; }
if (which_servo == 'X') {
Degree = map(Gforce, 0, 255, 175, 5);
}
if (which_servo == 'Y') {
Degree = map(Gforce, 0, 255, 5, 175);
}
if (which_servo == 'X') {
myservo1.write(Degree);
delay(10);
}
if (which_servo == 'Y' ){
myservo2.write(Degree);
delay(5);
}
}
espero les guste y tal vez sirva a algun novato como yo que quiera empezar.
se que es un juguete al lado de uno de verdad. pero me podria ir sirviendo para empezar a comprender como funciona. como tambien depurar movimientos. configuraciones etc. es una escala D:
saludos.