Paso 9: Funcionamiento invertido Robot monitor Serial
Ahora tienes un invertido equilibrio del robot. Entonces vamos a controlarlo por el monitor serie. Usted podría hacer que gire a la derecha/izquierda y adelante/atrás.
- Actualización el programa de ejemplo modificado obtenido en el paso 8 según los datos a continuación
- Subir un actualizado a usar el IDE de Arduino
- Después del final de la subida, a partir de monitor serial IDE
- Seleccione "Nueva línea" y "115.200 baudios" en la parte inferior derecha del monitor serial
- Hacer robot invertida sí mismo equilibrio según paso 6 (sin un soporte de dedo en las líneas 6 a 8)
- Valores numéricos de entrada en la ventana superior izquierda del monitor serie y Pulse la tecla [Enter]
- Ver acción o cambio de la acción de tu robot
:
[Tutorial para paso 9]
:
[Nota 8]
Usted puede controlar su robot dinámicamente por serial monitor de PC mediante cable USB. Por ejemplo que "00" en la ventana de serial monitor de entrada y pulse [Enter] clave, a continuación, robot recibe '0' y '0' por separado. Por lo tanto, resulta en un ángulo regular por debajo de dos veces sin parar.
- Un '0' envió hace robot gire a la derecha en un ángulo de regular sobre el terreno
- Un '1' envió hace robot gire a la izquierda en un ángulo de regular sobre el terreno
- Un número (n) de '2' enviado hacer robot acelerar adelante en proporción con el número (n)
- Un número (n) de '3' enviado hacer robot acelerar hacia atrás en forma proporcional el número (n)
:
[Actualización en el bosquejo de la muestra (para 4 lugares)]
(1) copiar las siguientes 5 líneas y pégalos entre líneas 17 y 18 en el bosquejo modificado obtenido en el paso 8.
drct int = 0;
Boolean correcto = false;
izquierda boolean = false;
int fwdBck = 0;
Copyright (C) 2014 ArduinoDeXXX todos los derechos reservados.
(2) copiar las siguientes 26 líneas y pegar sobre la línea 32 en el bosquejo modificado obtenido en el paso 8, es decir sustituir estas líneas para "si (potencia > 0) {".
Si (Serial.available()) {}
drct = Serial.read();
Serial.println(drct);
}
Si (drct == 48) {derecha = true;}
else if (drct == 49) {izquierda = true;}
else if (drct == 50) {fwdBck ++; drct = 0;}
else if (drct == 51) {fwdBck--; drct = 0;}
Si (derecha == true) {}
analogWrite (6, 140);
digitalWrite (4, alto);
digitalWrite (5, bajo);
analogWrite (9, 140);
digitalWrite (7, bajo);
digitalWrite (8, HIGH);
Delay(40);
} else if (izquierda == true) {}
analogWrite (6, 140);
digitalWrite (4, bajo);
digitalWrite (5, alto);
analogWrite (9, 140);
digitalWrite (7, alto);
digitalWrite (8, bajo);
Delay(40);
} else if (potencia > 0) {}
Copyright (C) 2014 ArduinoDeXXX todos los derechos reservados.
(3) las siguientes 4 líneas de copia y pégalos entre líneas 55 y DL26 en el bosquejo modificado obtenido en el paso 8.
drct = 0;
derecha = false;
izquierda = false;
Copyright (C) 2014 ArduinoDeXXX todos los derechos reservados.
(4) copiar las siguientes 2 líneas y pegarlos sobre línea 74 en el bosquejo modificado obtenido en el paso 8, es decir sustituir estas líneas para "sumPower sumPower = poder;".
sumPower = sumPower + potencia + fwdBck * 4; 74A
Copyright (C) 2014 ArduinoDeXXX todos los derechos reservados.