![]() |
|
Ciao a tutti, con questo tutorial voglio chiarire un aspetto che molto spesso è ignorato dagli appassionati. Molto spesso per chi sperimenta verso la robotica e il modellismo potrebbe essere utile poter leggere e computare un impulso servo. Un esempio: tutti i giroscopi per elicotteri e aerei rc, sono dotati di uscita servo, che controlla direttamente il o i servomotori necessari all'auto-stabilizzazione, con questo tutorial vi spieghero' come acquisire questi segnali e trasformarli in modo da poter essere computati da arduino.
La funzione pulseIn()
Legge una pulsazione di un pin (o se è HIGH o LOW). Per esempio, se value è HIGH, pulseIn() smetterà di contare solo quando il pin tornerà LOW. Il valore risultante è la durata della pulsazione in microsecondi, se non c'è stata pulsazione il valore sarà 0. Il range di utilizzo di questa funzione è di pulsazioni da 10 microsecondi a 3 minuti.
Codice esempio
int pin = 7;
unsigned long duration;
void setup() {
pinMode(pin, INPUT);
Serial.begin(9600);
}
void loop() {
duration = pulseIn(pin, HIGH);
Serial.println(duration);
}
