Εμφάνιση αναρτήσεων με ετικέτα flex. Εμφάνιση όλων των αναρτήσεων
Εμφάνιση αναρτήσεων με ετικέτα flex. Εμφάνιση όλων των αναρτήσεων

Κυριακή 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); 
}