Come controllare un servomotore con il serial monitor

Ciao, sto imparando ancora ad usare Arduino, ho lo starter kit elego e mentre stavo provando ad usare i servomotori mi sono ricordato che avevo letto che si può usare il serial monitor per dare comandi ad Arduino, mi potreste aiutare?

Prova a leggere QUESTA discussione ed ad installare la relativa libreria ... :wink:

Tutti dettagli anche su GitHub

Guglielmo

Grazie :ok_hand:

Di nulla :slight_smile:

La cosa più semplice è che la installi (lo si fa dal Library Manager del IDE), ti leggi bene il readme che l'accompagna e ti guardi gli esempi :wink:

Guglielmo

Ciao, grazie per l'aiuto, ho provato a scrivere un codice tutto mio e funziona, ma non capisco perchè ogni tanto, dopo che metto il comando non succede niente.

Ho collegato il cavo arancione del servo con il pin ∼9, quello rosso al pin 5V e quello marrone al GND. allego il codice qua sotto.

#include <Servo.h>
char comando;

Servo myservo;

int pos = 0;   
int attivo =1;

void setup() {
  Serial.begin(9600);
  myservo.attach(9);
}

void loop() 
{
   comando = Serial.read();
   if (comando == 'a')
   {
    int pos = pos + 45;
   //for (pos = 0; pos <= 180; pos += 1) { 
     
     myservo.write(pos);             
     Serial.println("yep, i'm right");
   //  delay(10);           
   }
   comando = Serial.read();
   if (comando == 'b')
   {
     int pos = pos - 45;
   //for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
     myservo.write(pos);  
     Serial.println("yep, i'm left");         
   //  delay(10);                       
  }
}

Prova a mettere comando = Serial.read(); solo la prima volta.

provo subito...

Funziona, Grazie mille!

Usa un alimentatore separato per il servo e connetti assieme GND. Il regolatore lineare a bordo della scheda arduino non è pensato per erogare tanta corrente.

Ciao.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.