Aiuto tesina con arduino non funziona

Il programma funziona ma la velocità del ciclo del programma è molto lento.

#include <Servo.h> 
#include <Narcoleptic.h>
/* 
Libreria che permette di mandare in standby il microcontrollore
nei momenti di inattività  (delay), risparmiando parecchia energia.
Si può eventualmente anche non utilizzare (in tal caso va sostituita
l'ultima istruzione Narcoleptic.delay(15) con delay(15).
*/
 
Servo myservo;
int Value;
int Center=90; 
/*
La variabile Center rappresenta il valore di centratatura
del servo a rotazione continua. Nel mio caso è 105, di solito è 90. 
Con questo valore il servo deve restare fermo.
*/

void setup() { 
  Serial.begin();
  myservo.attach(9); // Collega il servo al PIN 9
}

void loop() {
  int sensorValue = analogRead(A0);  // Legge il valore del sensore LDR di sinistra
  int sensorValue2 = analogRead(A1); // Legge il valore del sensore LDR di destra
  
  Value=(sensorValue-sensorValue2)/10;  
  /* 
  Calcola la differenza tra i due sensori e li divide per 10, 
  in questo modo una differenza di 10 equivale a 1, una differenza
  di 53 equivale a 5 e cosi via
  */
  
  if (Value==0) myservo.detach(); else myservo.attach(9); 
  /* 
  Se la differenza è uguale a 0 scollega il servo altrimenti lo 
  collega (serve per risparmiare energia)
  */
  
  if (Value>10) Value=100; 
  if (Value<-10) Value=-100 ;
  /* 
  Limita la differenza massima tra -10 e + 10
  (per evitare una velocità  eccessiva)
  */
  
  Serial.println(Value); // Debug - Visualizza il valore sulla seriale
  myservo.write(Center+Value); 
  /* 
  Se il valore di Value è positivo, sposta il Servo a DX, se è negativo a SX.
  La velocità  Ã¨ direttamente proporzionale al valore assoluto di Value
  */
  
   delay(15);
  /* 
  Invece che usare un semplice delay, usiamo questo, così risparmiamo energia.
  Si può eventualmente sostituire con delay(15).
  */
}

un pò di parentesi graffe agli if non fanno male

Il programma funziona ma la velocità del ciclo del programma è molto lento.

Senza un ciao, senza un buon Natale, senza mettere il codice negli appositi tag.... non so una descrizione di cosa vuoi fare, a cosa serve, niente ..... il programma va lento mettetemelo a posto!! manco grazie

... "DICAAAAAAA ...un attimo e sono sciubito da leiii!!!" :smiley: :smiley:

francescoprisco:
un pò di parentesi graffe agli if non fanno male

se usa una sola istruzione dopo l'if o dopo l'else può essere omesso l'uso delle graffe

ahahaha @pablos

@Mera94:
ti chiedo di rispettare il regolamento del forum

Serial.begin();

forse dovresti mettere

Serial.begin(9600);

Si lo so di metter un valore nel Serial.begin(9600); ma non funziona uguale
Scusate se non ho rispettato le regole del forum ma non ho molto tempo e ho postato tutto un po alla svelta :slight_smile:

é un inseguitore di luce il circuito è questo

Mera94:
la velocità del ciclo del programma è molto lento.

E' questo il problema?
Che cosa intendi per "molto lento"?

il servo va a scatti

Nessuno allora mi può dire il perché ?
XD

Prova a NON alimentare il servo da Arduino ma a dargli una alimentazione esterna. Di solito i servo rispondono meglio se gli dai 6Volt (verifica che il tuo servo li accetti, di solito accettano fino a 7,4volt)
Bastano 4 batterie AA da 1,5 (non di più). Ricorda di collegare insieme GDN del servo e del circuito.