Ecco un esempio di codice Arduino per utilizzare un sensore di flessione e un servo motore:
#include <Servo.h>
const int flexPin = A0; // Pin analogico per il sensore di flessione
const int servoPin = 9; // Pin digitale per il servo motore
Servo servo; // Oggetto servo
void setup() {
pinMode(flexPin, INPUT); // Imposta il pin del sensore di flessione come input
servo.attach(servoPin); // Collega il pin del servo motore
}
void loop() {
int flexValue = analogRead(flexPin); // Leggi il valore del sensore di flessione
// Mappa il valore del sensore nella gamma di angoli del servo motore (0-180)
int angle = map(flexValue, 0, 1023, 0, 180);
// Limita l'angolo tra 0 e 180 (opzionale, a seconda del tuo servo)
angle = constrain(angle, 0, 180);
servo.write(angle); // Muovi il servo nella posizione desiderata
delay(10); // Breve ritardo per stabilizzare il servo
}
In questo esempio, il sensore di flessione è collegato al pin analogico A0 di Arduino, mentre il servo motore è collegato al pin digitale 9. Nel setup, il pin del sensore di flessione viene impostato come input e il pin del servo motore viene collegato all’oggetto ‘servo
‘. Nel loop, viene letto il valore del sensore di flessione utilizzando ‘analogRead()
‘, quindi il valore viene mappato nella gamma di angoli del servo motore utilizzando ‘map()
‘. Il valore mappato viene quindi limitato tra 0 e 180 utilizzando ‘constrain()
‘ per evitare movimenti non validi del servo. Infine, il servo viene posizionato nell’angolo desiderato utilizzando ‘servo.write()
‘ e viene introdotto un breve ritardo per stabilizzare il servo.