Πίνακας περιεχομένων:
- Βήμα 1: Συστατικά
- Βήμα 2: Κατασκευή του Arduino
- Βήμα 3: Κωδικοποίηση Arduino
- Βήμα 4: Προαιρετικό: Οθόνη LCD
- Βήμα 5: Τυπωμένα μέρη
- Βήμα 6: Τοποθέτηση
Βίντεο: Ελαφρύς ελεγχόμενος βηματικός κινητήρας + βραχίονας τοίχου/βάση: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Αυτή η βάση χρησιμοποιείται για τη στέγαση ενός stepper μοτέρ ελεγχόμενου Arduino, που έχει σχεδιαστεί για να ελέγχει αυτόματα μια κουρτίνα ανάλογα με το επίπεδο φωτισμού στο δωμάτιο. Μπορείτε επίσης να προσθέσετε μια οθόνη LCD για να εκτυπώσετε το επίπεδο φωτισμού. Το τρισδιάστατο εργαλείο είναι μόνο για επίδειξη, ένα πραγματικό εργαλείο μπορεί να χρειαστεί για πρακτική εφαρμογή όπως η κουρτίνα αλλά και οποιαδήποτε άλλη εφαρμογή μπορείτε να σκεφτείτε.
Βήμα 1: Συστατικά
Για να ξεκινήσετε αυτό το έργο θα χρειαστείτε.
- 2 σετ τσιπ Arduino- Μια ασπίδα κινητήρα Arduino- Μια οθόνη Arduino LCD- 1 Breadboard- 1 διπολική Stepper Motor- 1 μπαταρία D- 1 Αντίσταση εξαρτώμενη από το φως- 1 10k Ω αντίσταση- 10 αρσενικά αρσενικά σύρματα- 6 αρσενικά- θηλυκά καλώδια- Πρόσβαση σε τρισδιάστατο εκτυπωτή
Βήμα 2: Κατασκευή του Arduino
Πρώτα ευθυγραμμίστε την ασπίδα κινητήρα με τις καρφίτσες Arduino και μόλις παραταχθούν, τοποθετήστε την σταθερά. Στη συνέχεια, συνδέστε τα καλώδια του βηματικού κινητήρα στις ακίδες 8, 9, 10 και 11 της θωράκισης του κινητήρα. Στη συνέχεια, συνδέστε την μπαταρία D στις υποδοχές όπως φαίνεται στο διάγραμμα. Στη συνέχεια, θα θέλετε να πάρετε τα 6 καλώδια (αρσενικό σε θηλυκό) για την οθόνη LCD και συνδέστε τα στην άλλη μονάδα Arduino όπως φαίνεται στο διάγραμμα κυκλώματος. Στη συνέχεια, ρυθμίστε το LDR όπως φαίνεται παραπάνω, με την αντίσταση να συνδέεται με την αρνητική σειρά. Όταν προσθέτετε το LDR, στο πλάι με την αντίσταση, προσθέστε τις συνδέσεις A0 και στην αντίθετη πλευρά, προσθέστε 1 είσοδο 5V για κάθε πλακέτα που χρησιμοποιείτε, οπότε αν χρησιμοποιείτε 2 πίνακες, θα θέλετε καθένα από αυτά να έχει έναν πείρο 5V και A0 που πηγαίνει στο LDR.
Συνδέστε όλα τα καλώδια έτσι ώστε να είναι το ίδιο με το διάγραμμα- 2 εισόδους στο LDR- 2 έξοδοι από το LDR και μια αντίσταση που συνδέεται με τη γείωση- 8 καλώδια στην οθόνη LCD, 1 5V, 1 γείωση και 6 εισόδους- 4 καλώδια που συνδέονται με το stepper- 2 συνδέσεις με την μπαταρία- Η γείωση του breadboard πρέπει να συνδεθεί
Βήμα 3: Κωδικοποίηση Arduino
Ακολουθεί δείγμα κώδικα για να αλλάξετε την κατάσταση του γραναζιού με βάση το LDR
Αυτός είναι ο κώδικας που θα επέτρεπε στο έργο να ελέγχει αυτόματα μια κουρτίνα. Η παραπάνω φωτογραφία εξηγεί τις διαφορετικές διαδρομές μέσα από τις ένθετες δηλώσεις IF όσον αφορά την άνοδο, την κάτω ή την παραμονή της κουρτίνας εκεί που είναι. (κάντε κλικ στην εικόνα για να την δείτε ολόκληρη καθώς υπάρχουν προβλήματα μορφοποίησης)
#defineLDRA0 // Ορίζει τη μεταβλητή "LDR" σε A0 pin#include
constintstepsPerRevolution = 200; // Όταν ο βηματικός κινητήρας είναι ενεργοποιημένος, η πλήρης περιστροφή του είναι ίση με 200 βήματα
SteppermyStepper (βήματαPerRevolution, 8, 9, 10, 11); // Ορίζει την είσοδο στο βήμα ως ακίδες 8, 9, 10, 11
voidsetup () {myStepper.setSpeed (60); // Ρυθμίζει πόσο γρήγορα ο κινητήρας κάνει ένα rotationpinMode (LDR, INPUT); // Ορίζει τη μεταβλητή "LDR" ως είσοδο Serial.begin (9600); // Ξεκινά μια σειριακή ανάγνωση }
voidloop () {intlightlevel = analogRead (LDR); // Ορίζει τη μεταβλητή "lightlevel" ως μια ενέργεια που διαβάζει την τιμή του "LDR" Serial.print ("Light Level:"); Serial.println (lightlevel); // Εκτυπώνει την τιμή του "lightlevel" με τη λεζάντα παραπάνω
/* Υπάρχει τώρα ένας βρόχος που ανιχνεύει το επίπεδο φωτισμού σε κάθε σημείο του τρόπου* 3 επιλογές είναι διαθέσιμες, ανεβείτε, κατεβείτε, μείνετε στην ίδια θέση* Έχει σχεδιαστεί έτσι ώστε εάν το επίπεδο φωτός παραμείνει το ίδιο, θα μείνετε ίδιοι, αν όχι θα αλλάξει * δηλαδή αν είναι 950, τότε πάει στο 952, τίποτα δεν θα συμβεί, ωστόσο αν πήγε από το 950 στο 600 θα σήκωνε την κουρτίνα και αντίστροφα * Κάθε βήμα υποδηλώνεται με ένα γράμμα μπροστά από το βήμα για να παρακολουθείτε πού βρίσκεται στον βρόχο μέσω της σειριακής οθόνης */
if (lightlevel> = 900) {Serial.println ("A"); // Ποιο βήμα βρίσκεται στο loopmyStepper.step (3*stepsPerRevolution); // Το stepper κάνει 3 περιστροφές προς τα εμπρός. Εάν είναι αρνητικό, πηγαίνει προς τα πίσω καθυστέρηση (30000); // Αφήνει εκεί για 5 λεπτά; // Εκτυπώνει το κείμενο μπροστά από τη μεταβλητή Serial.println (lightlevel) // Εκτυπώνει την τιμή του επιπέδου φωτισμού
if (lightlevel> = 900) {Serial.println ("B"); myStepper.step (0); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (ελαφρύ επίπεδο)?
if (lightlevel> = 900) {Serial.println ("C"); myStepper.step (3*-stepsPerRevolution); καθυστέρηση (500); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lightlevel);}
else {Serial.println ("D"); myStepper.step (3*-stepsPerRevolution); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel);}}
else {Serial.println ("E"); myStepper.step (3*-stepsPerRevolution); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel) ?
if (lightlevel> = 900) {Serial.println ("F"); myStepper.step (0); καθυστέρηση (500); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (ελαφρύ επίπεδο);}
else {Serial.println ("G"); myStepper.step (0); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lightlevel);}}
}
else {Serial.println ("H"); myStepper.step (0); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("I"); myStepper.step (3*stepsPerRevolution); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (ελαφρύ επίπεδο)?
if (lightlevel> = 900) {Serial.println ("J"); myStepper.step (3*-stepsPerRevolution); καθυστέρηση (500); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lightlevel);}
else {Serial.println ("K"); myStepper.step (3*-stepsPerRevolution); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Level:"); Serial.println (lightlevel) ?
}}
else {Serial.println ("L"); myStepper.step (0); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Level Level:"); Serial.println (lightlevel);
if (lightlevel> = 900) {Serial.println ("M"); myStepper.step (0); καθυστέρηση (500); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (ελαφρύ επίπεδο);}
else {Serial.println ("N"); myStepper.step (0); καθυστέρηση (10000); intlightlevel = analogRead (LDR); Serial.print ("Light Light:"); Serial.println (lightlevel);
}}
}
}
Βήμα 4: Προαιρετικό: Οθόνη LCD
Αυτό θα εκτυπώσει το επίπεδο φωτισμού που εντοπίστηκε από το LDR στην οθόνη LCD.
#περιλαμβάνω
-
// Προσθέτει τη βιβλιοθήκη υγρών κρυστάλλων με πρόσθετο κωδικό#define ldr A0 // Ορίζει τη μεταβλητή "ldr" στην ακίδα A0
LiquidCrystal LCD (8, 9, 4, 5, 6, 7); // προετοιμάστε τη βιβλιοθήκη με τους αριθμούς των ακίδων διεπαφής
voidsetup () {// κώδικας που εκτελείται μία φορά στο startlcd.begin (16, 2); // ρυθμίστε τον αριθμό των στηλών και των γραμμών της LCD αντίστοιχαpinMode (ldr, INPUT). // Ορίζει το ldr ως είσοδο pinSerial.begin (9600). // Αρχίζει την επικοινωνία με τη σειριακή οθόνη
}
voidloop () {// κώδικας που θα επαναλαμβάνεται συνεχώςSerial.println (analogRead (ldr)); // Εκτυπώνει την ένδειξη που λαμβάνει το ldr (αριθμός μεταξύ 0-1023) στο σειριακό monitorlcd.setCursor (6, 0). // ορίστε τον κέρσορα στη στήλη 6, γραμμή 0lcd.print (analogRead (ldr)); // Εκτυπώνει αυτήν την ένδειξη στην οθόνη οθόνης LCD (1000). // Καθυστερεί την επόμενη εντολή για ένα δευτερόλεπτο
}
Βήμα 5: Τυπωμένα μέρη
Χρησιμοποιήστε τα παρακάτω αρχεία για να εκτυπώσετε τη βάση και το γρανάζι. Μπορείτε να προσαρμόσετε το γρανάζι για τους δικούς σας σκοπούς και μπορείτε να χρησιμοποιήσετε το στήριγμα για να το τοποθετήσετε σε τοίχο ή ως οθόνη. Καθώς το τρισδιάστατο γρανάζι είναι αδύναμο, ένα πραγματικό γρανάζι μπορεί να χρησιμοποιηθεί ως υποκατάστατό του, εφόσον ταιριάζει με την κουρτίνα που θα ελέγχει.
Εάν πρόκειται να χρησιμοποιηθεί το γρανάζι με τρισδιάστατη εκτύπωση, ένα από τα δόντια του γραναζιού έχει αφαιρεθεί, έτσι ώστε μια σταθερή βίδα να μπορεί να το στερεώσει στον κινητήρα.
Τα μπροστινά 2 πόδια του βραχίονα τοίχου μπορούν επίσης να αφαιρεθούν εάν πρόκειται να τοποθετηθούν σε έναν τοίχο. Προστέθηκαν μόνο για να σταθεί όση ώρα δοκιμάζαμε με αυτό.
Βήμα 6: Τοποθέτηση
Τώρα που όλα τα μέρη είναι έτοιμα, ήρθε η ώρα να ξεκινήσουμε την τελική τοποθέτηση.
Πρώτον, τοποθετήστε το βηματικό μοτέρ στο παρεχόμενο κιβώτιο στη βάση και τοποθετήστε το γρανάζι στον άξοναΕπόμενο, μετακινήστε τα καλώδια έτσι ώστε να πηγαίνουν πίσω από τη βάση Τέλος, τοποθετήστε το arduino και την μπαταρία πίσω από τη βάση
Ο πίνακας σας θα πρέπει τώρα να μοιάζει με αυτόν που απεικονίζεται παραπάνω.
Συγχαρητήρια!
Το γρανάζι μπορεί να χρησιμοποιηθεί για αυτοματοποιημένες κουρτίνες ή οτιδήποτε άλλο θέλετε να ελέγχεται από το LDR.
Τελείωσες. Απολαύστε τη νέα σας δημιουργία.
Συνιστάται:
3D ρομποτικός βραχίονας με Stepper Motors ελεγχόμενα μέσω Bluetooth: 12 βήματα
Τρισδιάστατο ρομποτικό μπράτσο με ελεγχόμενα Bluetooth Stepper Motors: Σε αυτό το σεμινάριο θα δούμε πώς να φτιάξουμε έναν τρισδιάστατο ρομποτικό βραχίονα, με βηματικούς κινητήρες 28byj-48, σερβοκινητήρα και τρισδιάστατα τυπωμένα μέρη. Ο πίνακας τυπωμένου κυκλώματος, ο πηγαίος κώδικας, το ηλεκτρικό διάγραμμα, ο πηγαίος κώδικας και πολλές πληροφορίες περιλαμβάνονται στον ιστότοπό μου
Βραχίονας ρομπότ με περιστροφικό κωδικοποιητή: 6 βήματα
Ροταριακός κωδικοποιητής ελεγχόμενος βραχίονας ρομπότ: Επισκέφθηκα το howtomechatronics.com και είδα τον βραχίονα ρομπότ που ελέγχεται από bluetooth. Δεν μου αρέσει να χρησιμοποιώ bluetooth, καθώς είδα ότι μπορούμε να ελέγξουμε το σερβο με περιστροφικό κωδικοποιητή, οπότε το επανασχεδιάζω ότι μπορώ να ελέγξω το ρομπότ βραχίονα χρησιμοποιήστε περιστροφικό κωδικοποιητή και καταγράψτε τον
Ρομποτικός βραχίονας: 3 βήματα
Robotic Arm: Ciao a tutti! Vediamo come si può costruire un braccio robotico controllabile da remoto
Solder Station 3ος βραχίονας: 3 βήματα
Solder Station 3rd Arm: Αναβάθμιση ebay junk
Φτηνός ελεγχόμενος βραχίονας Smartphone (+ Επιλογή θέσης αποθήκευσης): 5 βήματα
Φτηνός ελεγχόμενος βραχίονας Smartphone (+ Option Saving Position): Το έργο Οδηγήστε ένα ρομποτικό βραχίονα που ελέγχεται από smartphone χρησιμοποιώντας συσκευή bluetooth. Μπόνους λειτουργίας: έχουμε ένα κουμπί που επιτρέπει στο arduino να θυμάται μια θέση. Όποτε θέλουμε, μπορούμε να μεταβούμε σε αυτήν την αποθηκευμένη θέση με ένα άλλο κουμπί. FRLE PROJET Command