Αναλογικός ανιχνευτής μαγνητικού πεδίου με Arduino

Υλικό

  • Arduino
  • Καλώδιο USB
  • Breadboard
  • Μονάδα αναλογικού αισθητήρα Hall
  • Μοτέρ σέρβο SG90

Προετοιμασία

  • Ανοίξτε το περιβάλλον Arduino web editor και συνδεθείτε
  • Επιβεβαιώστε ότι στον Η/Υ σας λειτουργεί το Arduino agent και ότι το Arduino web editor εντοπίζει τη συσκευή σας σε μία θύρα USB

Φάση 1

  • Αναγνωρίστε τις συνδέσεις του ανιχνευτή
  • Συνδέστε τον ανιχνευτή με το Arduino, συνδέοντας την αναλογική έξοδο στην είσοδο A0 του Arduino
  • Χρησιμοποιήστε τον παρακάτω κώδικα και δείτε τα αποτελέσματα στο Monitor του Arduino web editor
int sensorValue;

void setup() {
  pinMode(A0, INPUT);
  Serial.begin(9600);
}

void loop() {
  sensorValue = analogRead(A0) / 4;
  Serial.println(sensorValue, DEC);
  delay(100);
}

Φάση 2

  • Συνδέστε το μοτέρ σέρβο σε μια έξοδο του Arduino με δυνατότητες PWM (σύμβολο ~).
  • Μετατρέψτε τον παραπάνω κώδικα ώστε να το μοτέρ να περιστρέφεται ανάλογα με την τιμή του μαγνητικού πεδίου που διαβάζει ο αισθητήρας.

Για να λειτουργήσει το μοτέρ θα πρέπει να προσθέσουμε τις παρακάτω δηλώσεις στην αρχή του προγράμματος:

#include <Servo.h>
Servo servo

Στην ενότητα setup() του παραπάνω προγράμματος θα πρέπει να δηλώσετε ότι ένας ακροδέκτης του Arduino (πχ ο ακροδέκτης 9) θα χρησιμοποιείται ως οδηγός του σερβοκινητήρα:

servo.attach(9);

Η εντολή που περιστρέφει τον σερβοκινητήρα σε μια συγκεκριμένη γωνία είναι:

servo.write(γωνία);

Συνδεσμολογία σερβοκινητήρα: https://components101.com/motors/servo-motor-basics-pinout-datasheet

Πηγή κώδικα: https://create.arduino.cc/projecthub/arcaegecengiz/how-to-use-servo-motors-with-arduino-b02bed