Salve a tutti,
nel mio progetto stò cercando di far muovere diversi servo scrivendo dal computer dal pannello Serial dell'IDE di Arduino.
Lo scopo è quello di creare un'escavatore. Scrivendo delle lettere muovo i Servo che sono collegati al braccio.
Il problema è che quando scrivo la lettera H (e quindi aumento il valore che invio al Servo) funziona, quando invece scrivo la lettera J (e quindi diminuisco il valore che invio al Servo) non funziona.
Dove sbaglio?
#include <Stepper.h>
#include <Servo.h>
#define STEPS 100
Servo braccio1;
Servo braccio2;
Servo morsa;
Servo giroruota;
Stepper avanzamento(STEPS, 22,23,24,25);
char comunica;
int pos1;
int pos2;
int posmorsa;
int posruota;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
braccio1.attach(12);
braccio2.attach(11);
morsa.attach(10);
giroruota.attach(9);
braccio1.write(3);
braccio2.write(0);
morsa.write(0);
giroruota.write(0);
pos1 = 2;
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available())
{
comunica = Serial.read();
if (comunica == 'H')
{
pos1 = pos1 + 1;
braccio1.write(pos1);
}
if (comunica == 'J')
{
pos1 = pos1 - 5;
braccio2.write(pos1);
}
Serial.write(pos1);
}
delay(100);
}
Dove sbaglio?