Κυριακή 14 Φεβρουαρίου 2021

Έλεγχος σερβοκινητήρα με αισθητήρα κάμψης

 Περιγραφή

Ένας αισθητήρας κάμψης (flex sensor) ελέγχει τη γωνία ενός σερβοκινητήρα. 
 

 Εξαρτήματα και συνδέσεις


  • Arduino Uno
  • αισθητήρας κάμψης
  • σερβοκινητήρας
  • 1 x 10ΚΩ
Ο αισθητήρας συνδέεται ως διαιρέτης τάσης στην αναλογική είσοδο A0 με χρήση της αντίστασης 10ΚΩ. Το σήμα για το έλεγχο της γωνίας του σερβοκινητήρα δίνεται από την  ~11 ( ακίδα PWM). 
Για το έργο και την προσομοίωση στο tinkercad πατήστε στην εικόνα

Κώδικας

Ο αισθητήρας δεν δίνει εύρος 0-1023 όπως για παράδειγμα ένα ποτενσιόμετρο, έτσι χρειάζεται να βρούμε το εύρος και να το αντιστοιχίσουμε στις 0 έως 180ο του σερβοκινητήρα. Στην σειριακή οθόνη τυπώνουμε την Α0 για 0 μοίρες και για 180 μοίρες (πλήρης κάμψη του αισθητήρα). Οι τιμές είναι 539 και 810 αντίστοιχα. Αυτό το εύρος τιμών σημειώνεται στην συνάρτηση map. 
#include <Servo.h>

Servo servo_11;

void setup()
{
  pinMode(A0, INPUT);
  servo_11.attach(11, 500, 2500);
  Serial.begin(9600);

}

void loop()
{
  servo_11.write(map(analogRead(A0), 539, 810, 0, 180));
  Serial.println(analogRead(A0));
  delay(10); 
}

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου