Πίνακας περιεχομένων:
- Βήμα 1: Δημιουργήστε το κύκλωμα για την τροφοδοσία των κινητήρων και του τηλεχειριστηρίου
- Βήμα 2: Δημιουργήστε βάση για τους δύο κινητήρες
- Βήμα 3: Προσθέστε το Servo στο κάτω μέρος των κινητήρων
- Βήμα 4: Κόψτε τρύπες στο μεγάλο δοχείο
- Βήμα 5: Ο σωλήνας
- Βήμα 6: The Hopper
- Βήμα 7: Τοποθέτηση Hopper, Pipe και Motors
- Βήμα 8: Το τελικό σερβίς
- Βήμα 9: Προσθέστε κώδικα για να δοκιμάσετε τα μέρη εργασίας
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Χρειαζονται ΥΛΙΚΑ
1 x Αισθητήρας RFID/ τηλεχειριστήριο
1 x Arduino uno
2 x DC κινητήρες
1 x 180 σερβο
1 x 360 σερβο
πολλαπλά καλώδια
Κουτί/δοχείο για κατασκευή έργου
σωλήνα για την τροφοδοσία της μπάλας
Βήμα 1: Δημιουργήστε το κύκλωμα για την τροφοδοσία των κινητήρων και του τηλεχειριστηρίου
Χτίζοντας το κύκλωμα
χτίστε το κύκλωμα παραπάνω και συνδεθείτε στις ίδιες ακίδες για να χρησιμοποιήσετε τον ίδιο ακριβώς κωδικό
Βήμα 2: Δημιουργήστε βάση για τους δύο κινητήρες
θα χρειαστεί να χρησιμοποιήσετε την σανίδα αφρού για να κόψετε ορθογώνια 4,5 ίντσες επί 2 ίντσες για τις πλευρές. στη συνέχεια κόψτε τετράγωνα 2, 5 επί 5 ίντσες για να τα χρησιμοποιήσετε ως επάνω και κάτω. Στη συνέχεια, οι κινητήρες θα χρειαστούν ένα μέρος για να καθίσουν, οπότε κόψτε 2 τρύπες που έχουν διάμετρο 23mm και 39mm μεταξύ τους για να δώσετε χώρο για την εκτόξευση της μπάλας. στη συνέχεια, κάντε ένα σημείο ή μερικές τρύπες στο κάτω τετράγωνο για να επιτρέψετε στα καλώδια από τους κινητήρες να συνδεθούν στο κύκλωμα.
Βήμα 3: Προσθέστε το Servo στο κάτω μέρος των κινητήρων
κολλήστε προσεκτικά το σερβο 180 ή 360 στο κάτω μέρος (στη μέση) του τετραγώνου. το κάνουμε αυτό για να αλλάξουμε κατεύθυνση χειροκίνητα με το τηλεχειριστήριο ή τυχαία, ώστε η μπάλα να σουτάρει προς διαφορετικές κατευθύνσεις
Βήμα 4: Κόψτε τρύπες στο μεγάλο δοχείο
πάρτε το μεγάλο δοχείο και κόψτε μια τρύπα μπροστά και πίσω, δεν χρειάζεται να είναι ακριβές, αλλά μπροστά θα πρέπει να είμαστε αρκετά μεγάλοι όπως φαίνεται στην εικόνα για να επιτρέπεται η μπάλα να πυροβολείται σε διαφορετικές κατευθύνσεις με το σερβο να κινείται. και το πίσω μέρος του δοχείου έκοψε μια μικρότερη τρύπα για να επιτρέψουν στα καλώδια να βγουν και να τοποθετήσουν τα μέρη του κυκλώματος ή να αλλάξουν το κύκλωμα εάν χρειαστεί. στο μπροστινό μέρος κολλήστε το σερβο στο καπάκι ενός από τα δοχεία και στη συνέχεια στη βάση του δοχείου για υποστήριξη, δείτε τη δεύτερη εικόνα για αναφορά
Βήμα 5: Ο σωλήνας
φτιάξτε ή αγοράστε έναν σωλήνα pvc μήκους 1 ποδιού, κατά προτίμηση με καμπύλη για να αφήσει την μπάλα να κυλήσει και μετά κόψτε ένα κομμάτι 1,5 για να μπει η μπάλα
Βήμα 6: The Hopper
έκοψε 4 ίσα τραπεζοειδή, μπορεί να είναι επιλογή, αλλά τα δικά μου είχαν ύψος 5 ίντσες και έγειραν λίγο όταν τοποθετήθηκαν στο σωλήνα, στη συνέχεια το κομμάτι αφρώδους σκάφους στο κάτω μέρος έκοψε μια τρύπα αρκετά μεγάλη για να περάσει μια μπάλα πινγκ πονγκ. Στη συνέχεια κολλήστε τα μαζί σχηματίζοντας μια χοάνη για να καθίσουν όλες οι μπάλες. αργότερα θα το κολλήσουμε στην κορυφή του σωλήνα όπου κόβεται η τρύπα
Βήμα 7: Τοποθέτηση Hopper, Pipe και Motors
θα θελήσετε να τοποθετήσετε το σωλήνα μέσα στο δοχείο που κάθεται ακριβώς στην άκρη του λευκού κουτιού που είναι φτιαγμένο για τους κινητήρες, έτσι ώστε η μπάλα να βγαίνει και να ωθείται από τους τροχούς. Τώρα μπορείτε να κολλήσετε στη χοάνη στην κορυφή του σωλήνα
Βήμα 8: Το τελικό σερβίς
αυτό το σερβο είναι κολλημένο στο κάτω μέρος της χοάνης/ όπου ο σωλήνας που έκοψα για να τον κολλήσει αρκετά εκεί που δεν θα πέσουν οι μπάλες ping μέχρι να πατηθεί το κουμπί και να μετακινηθεί το σερβο
Βήμα 9: Προσθέστε κώδικα για να δοκιμάσετε τα μέρη εργασίας
// Διορθωτής γάτας
// εισαγωγή βιβλιοθηκών για χρήση εντολών σε όλο τον κώδικα, για παράδειγμα, δήλωση καρφιτσών ως servos και ρύθμιση του τηλεχειριστηρίου IR #include #include
// ρύθμιση μεταβλητών για ρύθμιση στροφών για τους κινητήρες DC int onspeed = 255; int lowspeed = 100; int offspeed = 0;
// ρύθμιση του πείρου δέκτη infared και των δύο ακίδων κινητήρα int IR_Recv = 2; int motor1 = 10; int motor2 = 11;
// δηλώνοντας τις μεταβλητές ως servos ώστε το πρόγραμμα να γνωρίζει ότι είναι σερβο για τη χρήση συγκεκριμένων εντολών Servo flap. Servo angle;
// η δήλωση καρφίτσας IR για λήψη εισόδων από τηλεχειριστήρια // λαμβάνει τα αποτελέσματα από το απομακρυσμένο IRrecv irrecv (IR_Recv). decode_results αποτελέσματα?
void setup () {
Serial.begin (9600); // ξεκινά σειριακή επικοινωνία irrecv.enableIRIn (); // Εκκινεί τον δέκτη
flap.attach (7); // συνδέει το πτερύγιο σερβο στον πείρο 7, ώστε να μπορούμε να το χρησιμοποιήσουμε αργότερα στη γωνία του προγράμματος. προσάρτηση (4) // συνδέει τη γωνία σερβο στην ακίδα 4, ώστε να μπορούμε να τη χρησιμοποιήσουμε αργότερα στο πρόγραμμα pinMode (motor1, OUTPUT). // ρυθμίστε το motor1 σε έξοδο, ώστε να μπορούμε να στέλνουμε ταχύτητες όταν πατάμε το κουμπί pinMode (motor2, OUTPUT). // ρυθμίστε το motor2 σε έξοδο, ώστε να μπορούμε να στέλνουμε ταχύτητες όταν πατάμε το κουμπί
}
void loop () {
flap.write (0); // ρυθμίστε το σερβο που ελέγχει τον τροφοδότη σφαιρών στους 0 βαθμούς για να μην αφήσει μπάλες να περάσουν
if (irrecv.decode (& results)) {long int decCode = results.value; Serial.println (decCode); irrecv.resume ();
εναλλαγή (results.value) {
θήκη 0xFFA25D: // power analogWrite (motor1, onspeed); analogWrite (motor2, onspeed); καθυστέρηση (7000)? flap.write (90); καθυστέρηση (500)? flap.write (0); καθυστέρηση (2000). analogWrite (motor1, offspeed); analogWrite (motor2, offspeed); Διακοπή;
θήκη 0xFFE01F: // EQ
analogWrite (motor1, onspeed); analogWrite (motor2, χαμηλής ταχύτητας); καθυστέρηση (7000)? flap.write (90); καθυστέρηση (500)? flap.write (0); καθυστέρηση (2000). analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);
Διακοπή;
θήκη 0xFF629D: // λειτουργία
analogWrite (motor1, χαμηλής ταχύτητας); analogWrite (motor2, onspeed); καθυστέρηση (7000)? flap.write (90); καθυστέρηση (500)? flap.write (0); καθυστέρηση (2000). analogWrite (motor1, offspeed); analogWrite (motor2, offspeed);
Διακοπή;
θήκη 0xFF30CF: // εγκατάσταση 1, 90 μοίρες
angle.write (30);
Διακοπή;
θήκη 0xFF18E7: // ρύθμιση 2, 0 μοίρες
angle.write (90);
Διακοπή;
θήκη 0xFF7A85: // ρύθμιση 3, 180 μοίρες
angle.write (150);
Διακοπή;
} } }