Mais uma vez fiz uns pequenos progressos na área da robótica, mas propriamente no controlo do meu RobóticTank através do teclado do computador.
Para fazer isto recorri ao seguinte código:
int n;
int motorPin1 = 5;
int motorPin2 = 6;
int motorPin3 = 10;
int motorPin4 = 11;void setup()
{
Serial.begin(9600);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);}
void loop()
{if (Serial.available() > 0)
{
n = Serial.read();Serial.print(“Voce Digitou: “);
Serial.println(n, BYTE);if (n == 119)
{
//AvançardigitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}if ( n == 115)
{
//RecuardigitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}if ( n == 100)
{
//Direita
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}if ( n == 97)
{
//Esquerda
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}if (n == 113)
{
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
}
Utilizando este código no Arduino e recorrendo ao SerialMonitor é possível controlar os movimentos do RobóticTank, ainda que com algumas limitações e sendo necessário ter o cabo sempre conectado ao Arduino.
Desta forma consegui alguns progressos e brevemente irei explorar as técnicas de “processing” que são mais indicadas para estas acções.
Aqui fica um pequeno vídeo com a demonstração dos resultados obtidos: