No.02 volante coche R/C coche con Arduino, Webcam y red. USB etc. (5 / 7 paso)

Paso 5: código

-Arduino código es igual que el paso 2.

-Descargue Jmyron y proCONTROLL e instalarlos.

-El siguiente es el código de procesamiento.
Ajustar el valor de servoneutral y COM no.
Ajuste xa calcular fórmula en vacío serialEvent() y keyPressed() vacío. (Ajustar 33 y 99. 33 es dirección a derecha max y 99 es que a la izquierda.)

XA = (33-99) /(camWidth_*k_) * x + 99; 0--> 99, camWidth_/2 * k--> 66, camWidth_ * k--> 33
(camWidth_/2 * k = 352/2 * 2 = 352, camWidth_ * k = 352 * 2 = 704, estas 0, 353, 704 son coordenadas en la pantalla x.)

Código de procesamiento

/*
* Coche No.02
* Servo, variador, motor Force GT y Webcam
* Procesamiento---CARNO02
* Arduino Duemilanove---SVSC_A
*/

Import processing.serial.*;
Import procontroll.*;
Import net.java.games.input.*;
Import JMyron.*;

Port01 serial;

Control de ControllIO;
Dispositivo de ControllDevice;
ControllSlider slider0;
ControllSlider slider2;
Slider3 de ControllSlider;
ControllButton button1;
ControllButton button13;
ControllButton button14;

JMyron cam;

Microsoft LifeCam Show RLA-00007
Float camWidth_ = 352;
Float camHeight_ = 288;
int camWidth = int(camWidth_);
int camHeight = int(camHeight_);

flotador de k_ = 2;
int k = int(k_);
flotador de k1 = camWidth_/127 * k;
flotador de k2 = camHeight_/127 * k;
Float x;
Float y;
xa de flotador;
flotador de ya;
int adelante = 0;
int servoneutral = 66; Servoneutral valor varía por cada servo.
int speedcontrollerneutral = 63;
steval int = servoneutral;
int velval = speedcontrollerneutral;
reversea int = 'F';
Boolean reverseb = false;

void setup() {}
Size(camWidth*k,camHeight*k);
Stroke(128);
port01 = nuevo Serial(this,"COM43",115200); COM no. varía por cada PC.
port01.Clear();

control = ControllIO.getInstance(this);
dispositivo = controll.getDevice ("Logitech Driving Force GT USB"); Consulte al administrador de dispositivos. Logitech puede Logicool.
device.printSliders();
device.printButtons();
device.setTolerance(0.05f);

slider0 = device.getSlider(0); Rueda de manejo
slider2 = device.getSlider(2); Pedal de descanso
slider3 = device.getSlider(3); Pedal del acelerador
button1 = device.getButton(1); Cruz de botón
button13 = device.getButton(13); Engranaje cambio palanca extracción
button14 = device.getButton(14); Engranaje cambio palanca Push

Fill(0);
rectMode(CENTER);

Cam = new JMyron();
Cam.Start(camWidth,camHeight);
cam.findGlobs(0);
}

void draw() {}
Cam.Update();
int [] camPixels = cam.image();
loadPixels();
para (int i2 = 0; i2 < altura; i2 ++) {}
para (int i1 = 0; i1 < ancho; i1 ++) {}
pixeles [i2 * ancho + i1] = camPixels [floor ((altura-1-i2) / k) * camWidth + floor((width-1-i1)/k)];
}
}
updatePixels();

x = (constrain((1+slider0.getValue())*width/2,0,width));

if(Button1.pressed()) {adelante = 0; y = altura/2; reversea = 'F'; reverseb = true;}
if(button13.pressed()) {adelante = 1; y = altura/2; reversea = 'F'; reverseb = true;}
if(button14.pressed()) {adelante = -1; y = altura/2; reversea = 'R'; reverseb = false;}

if(Forward ==1) {}
if(slider2.GetValue() < 0) {y = limitar (y + slider2.getValue()*8*k,height/2,height);}
if(slider3.GetValue() < 0) {y = limitar (y - slider3.getValue()*4*k,height/2,height);}
if(slider2.GetValue() > 0 & & slider3.getValue() > 0 & & y < altura * 2/3) {}
y = (limitar (y + slider2.getValue()*0.6*k,height/2,height*2/3));
} else if(slider2.getValue() > 0 & & slider3.getValue() > 0 & & y > altura * 2/3) {}
y = (limitar (y - slider3.getValue()*0.3*k,height*2/3,height));
}
}

Si (adelante == -1) {}
if(slider2.GetValue() < 0) {y = limitar (y - slider2.getValue()*8*k,0,height/2);}
if(slider3.GetValue() < 0) {y = limitar (y + slider3.getValue()*4*k,0,height/2);}

Si (y < = altura * 5/12 & & reverseb == false) {y = altura/2; reverseb = true;}

if(slider2.GetValue() > 0 & & slider3.getValue() > 0 & & y > altura * 1/3) {}
y = (limitar (y - slider2.getValue()*0.6*k,height*1/3,height/2));
} else if(slider2.getValue() > 0 & & slider3.getValue() > 0 & & y < altura * 1/3) {}
y = (limitar (y + slider3.getValue()*0.3*k,0,height*1/3));
}
}

línea (x, 0 x, altura);
línea (0, y de altura, anchura, y altura);
}

void serialEvent(Serial p) {}
XA = (33-99) /(camWidth_*k_) * x + 99; 0--> 99, 352/2 * k--> 66, 352 * k--> 33
steval = int(xa);
velval = int(y/k2);

if(p.Available() > 0) {}
port01.Write(steval+128);
port01.Write(velval);
port01.Write(reversea);
Print(steval);print(",");print(velval);print(",");println(Char(reversea));
}
}

{} void keyPressed()
{if(Key=='s')}
adelante = 0;
x = ancho/2;
y = altura/2;
XA = (33-99) /(camWidth_*k_) * x + 99;
steval = int(xa);
velval = int(y/k2);
port01.Write(steval+128);
port01.Write(velval);
port01.Write(reversea);
}
}

Artículos Relacionados

No.03 volante coche R/C coche con Arduino, Webcam y red. USB, etc. Pero se trata de la correa eslabonada y 4WS (4 wheel steering)

No.03 volante coche R/C coche con Arduino, Webcam y red. USB, etc. Pero se trata de la correa eslabonada y 4WS (4 wheel steering)

este coche No.03 utiliza un sistema similar como coche No.02, pero aplicación diferentes chasis sobre orugas CR-01, que cuenta con sistema opcional 2 servos y que hace conducción de cangrejo (4 ruedas misma dirección) o corto radio de giro de conducc
DIY Android Control remoto coche con Arduino

DIY Android Control remoto coche con Arduino

esta es una guía paso a paso sobre cómo construir un teléfono con Android o tablet controlada papel coche. Se puede modificar para construir cualquier otro tipo de vehículo que más te guste.Pasos incluyen a guía en:1. construcción de las piezas de au
LEGO Technic coche con Arduino + XBee Wireless Control

LEGO Technic coche con Arduino + XBee Wireless Control

yo fui leer Instructables un invierno bien el sábado, cuando mi 8 yo hijo llegó y miraban sobre mi hombro y vi esto: por sath02. Mi hijo es un gran fan de Lego de todas las cosas y ama a los robots y autos, y esto fue derecho hasta su callejón. Él in
Hackear un coche RC con Arduino y Android

Hackear un coche RC con Arduino y Android

(Si te gusta este Instructable, no olvide votar en ella (por encima de: bandera de la esquina a la derecha). está compitiendo en robótica y sensores concursos. ¡Muchas gracias! ;-)Cada vez que entra a una tienda de juguetes y ver coches de control re
Arduino RC coche con el transmisor personalizada y de largo alcance.

Arduino RC coche con el transmisor personalizada y de largo alcance.

¡ Hola! Este es mi primer instructable.En él te mostraré como hacer un coche RC y el módulo inalámbrico nrf24l01 + Arduino, o cómo actualizar un coche RC de 27 MHz.El viejo coche del RC, que desde el chasis y el heli controlador, recibí de un amigo m
Solucionar problemas de la batería de coche con ATtiny.

Solucionar problemas de la batería de coche con ATtiny.

El invierno pasado he experimentado algunos problemas con la batería de mi coche. Sabía que se trataba de la hora de cambiar asi de que fui a comprar uno nuevo. Este hecho me recordó a un viejo artículo sobre un coche carga de la batería/sistema kit
Guía de A-z en la limpieza Interior del coche con seguridad

Guía de A-z en la limpieza Interior del coche con seguridad

¿Está a punto de limpiar hasta el interior de su coche y no sé dónde empezar? Bueno, es una tarea elaborada y es natural que se confunda cuando es un primer temporizador. Pero no te preocupes aquí es una guía paso a paso en la limpieza del interior d
Conducir un coche con control de mano Menox

Conducir un coche con control de mano Menox

Elementos necesarios:Vehículo equipado con control de mano Menox (2014 Mini Cooper Paceman)Transmisión automáticaPerilla de Spinner (opcional)Botones de función auxiliar (opcional)Bloqueo del freno (opcional)Introducción:Existen controles de mano par
He hecho un coche con CD

He hecho un coche con CD

Video de cochesHola hice un coche con palos de helado y D C y bebidas puerta y marcador de puerta y pegamento
Procesamiento de controles R/C coche con módulos XBee

Procesamiento de controles R/C coche con módulos XBee

este instructable es una modificación de mi presentación a la comunidad de Chicago de procesamiento en el laboratorio de visualización electrónica (EVL), Universidad de Illinois en Chicago el 01 de octubre de 2012. En el tema de laSerie de la bibliot
Pinewood derby video del coche (con suspensión)

Pinewood derby video del coche (con suspensión)

este año mi hijos mayores Cub Scout pack tuvo una división abierta. Creo que los coches que la carrera de los niños debe ser su propia creación. Así que después de servir como un monitor de seguridad para la creación del coche verdadero. He creado un
Hackear cualquier coche con el reloj Pebble y 1Sheeld

Hackear cualquier coche con el reloj Pebble y 1Sheeld

La idea del proyecto fue poder controlar cualquier coche sin estar dentro del coche, o físicamente presionando botones/interruptores del tablero de instrumentos.Utilizando un usable (reloj de piedra) y 1Sheeld para Android (cortesía de 1Sheeld), teng
Que un coche de juguete mini con Arduino

Que un coche de juguete mini con Arduino

Cada muchacho tiene el sueño de hacer un coche. Hace días hice un escarabajo nunca caída, es muy divertido y mucha gente dijo como él. Aquí hará otro coche de juguete, que es mucho más pequeño y es programable.No voy a usar escudo Bot otra vez, corté
Arduino RC coche con cámara FPV

Arduino RC coche con cámara FPV

Este Instructable describe un coche de control remoto que he puesto juntos. El coche no tiene ningún propósito real - era sólo un desafío, para ver lo que podría hacerse con hardware comúnmente disponible. Tiene las siguientes características:-4 x 4