Πίνακας περιεχομένων:

Αυτόματη παρακολούθηση πηγής φωτός: 5 βήματα
Αυτόματη παρακολούθηση πηγής φωτός: 5 βήματα

Βίντεο: Αυτόματη παρακολούθηση πηγής φωτός: 5 βήματα

Βίντεο: Αυτόματη παρακολούθηση πηγής φωτός: 5 βήματα
Βίντεο: Ἀνασκόπηση τῆς ἱστορίας ἀπὸ τὰ μνημόνια μέχρι σήμερα. Κυριακὴ 7 Ἰανουαρίου 2024 9:00 μ.μ. 2024, Νοέμβριος
Anonim
Αυτόματη παρακολούθηση πηγής φωτός
Αυτόματη παρακολούθηση πηγής φωτός

Σε αυτό το μάθημα, θα χρησιμοποιήσουμε έναν σερβοκινητήρα, μια φωτοαντίσταση και μια αντίσταση πτώσης για να συναρμολογήσουμε ένα σύστημα αυτόματης παρακολούθησης πηγής φωτός.

Βήμα 1: Συστατικά:

- Πίνακας Arduino Uno * 1

- Καλώδιο USB * 1

Σερβοκινητήρας * 1

- φωτοαντίσταση * 1

- Αντίσταση (10k) * 1

- Breadboard * 1

- Καλώδια βραχυκυκλωτήρων

Βήμα 2: Αρχή

Ο σερβοκινητήρας και η φωτοαντίσταση σαρώνουν και αναζητούν πηγή φωτός σε 180 μοίρες και καταγράφουν τη θέση της πηγής φωτός. Μετά την ολοκλήρωση της σάρωσης, ο σερβοκινητήρας και ο φωτοαντιστάτης σταματούν προς την κατεύθυνση της πηγής φωτός.

Βήμα 3: Διαδικασίες:

Διαδικασίες
Διαδικασίες
Διαδικασίες
Διαδικασίες
Διαδικασίες
Διαδικασίες

Βήμα 1:

Δημιουργήστε το κύκλωμα.

Βήμα 2:

Κατεβάστε τον κώδικα από τη διεύθυνση

Βήμα 3:

Ανεβάστε το σκίτσο στον πίνακα Arduino Uno

Κάντε κλικ στο εικονίδιο Μεταφόρτωση για να ανεβάσετε τον κωδικό στον πίνακα ελέγχου.

Εάν η ένδειξη "Done uploading" εμφανίζεται στο κάτω μέρος του παραθύρου, σημαίνει ότι το σκίτσο έχει μεταφορτωθεί επιτυχώς.

Τώρα, αν χρησιμοποιήσετε φακό για να λάμψετε τη φωτοαντίσταση, θα δείτε τον σερβοκινητήρα και τη φωτοαντίσταση να περιστρέφονται και τελικά να σταματούν προς την κατεύθυνση της πηγής φωτός.

Βήμα 4: Σχηματικό διάγραμμα

Σχηματικό διάγραμμα
Σχηματικό διάγραμμα

Βήμα 5: Κωδικός

Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας
Κώδικας

/********************************************************************

* όνομα:

Αυτόματη παρακολούθηση πηγής φωτός

* λειτουργία

: εάν χρησιμοποιείτε φακό για να λάμψετε τη φωτοαντίσταση, * θα δεις

ο σερβοκινητήρας και η φωτοαντίσταση περιστρέφονται, * και τελικά

σταματήσει προς την κατεύθυνση της πηγής φωτός.

***********************************************************************

/Email: [email protected]

// Ιστοσελίδα: www.primerobotics.in

#περιλαμβάνω

const int photocellPin = A0;

/************************************************/

Servo myservo; // δημιουργία servo αντικειμένου για τον έλεγχο ενός servo

int outputValue = 0;

int γωνία = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0;

int maxPos = 0;

/*************************************************/

void setup ()

{

Serial.begin (9600);

myservo.attach (9); // επισυνάπτει το σερβο στο pin 9 στο σερβο αντικείμενο

}

/*************************************************/

κενός βρόχος ()

{

για (int i = 0;

i <19; i ++)

{

myservo.write (γωνία ); // γράψτε τη γωνία σε σερβο

outputValue

= analogRead (photocellPin); // διαβάστε την τιμή του A0

Serial.println (outputValue); // εκτυπώστε το

if (outputValue> maxVal) // αν η τρέχουσα τιμή του A0 είναι μεγαλύτερη από την προηγούμενη

{

maxVal = outputValue; // γράψτε την τιμή

maxPos

= i; //

}

καθυστέρηση (200)?

}

myservo.write (γωνία [maxPos]); // γράψτε τη γωνία σερβο που η A0 έχει τη μεγαλύτερη τιμή

ενώ (1)?

}

Συνιστάται: