Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Αυτό το διδακτικό θα δείξει πώς να δημιουργήσετε ένα βασικό θέατρο σκιών χρησιμοποιώντας τα ακόλουθα εφόδια. Για την εφαρμογή μου έκανα ένα σκάφος να κουνιέται σε κύματα, αλλά με μερικές μικρές προσαρμογές, μπορείτε να χρησιμοποιήσετε οποιαδήποτε σχήματα/αντικείμενα θέλετε για να δημιουργήσετε όποια σκηνή θέλετε να έχετε.
- Κιτ Arduino Uno
- Τρισδιάστατος εκτυπωτής και λογισμικό σχεδιασμού
-Μπαταρία 9 Volt
-IR δέκτης
- LED
-(https://www.amazon.com/6000K-6500K-600mA-700mA-Int…)
- Servo Motors
- Breadboard
- Αντιγραφή χαρτιού
Βήμα 1: Σχεδιασμός
Χρησιμοποιήστε ένα πρόγραμμα όπως η solidworks ή ο εφευρέτης για να σχεδιάσετε τα εξαρτήματα που θέλετε, στην περίπτωσή μου το σκάφος και το κύμα, μαζί με εξωθημένες εγκοπές για να τα τοποθετήσετε σε αγκύλες για να συνδεθούν με τους σερβοκινητήρες σας.
Προκειμένου να αποκτήσω την γραμμική οριζόντια και κάθετη κίνηση που ήθελα, χρησιμοποίησα ένα σύστημα δύο ράβδων προσαρτημένο στο σερβο μαζί με μια ράγα οδηγού σε σχήμα Τ που ταιριάζει σε ένα άλλο ένθετο σχήματος Τ στο σκάφος και κύματα.
Οι αγκύλες με 3D εκτύπωση μπορούν επίσης να αλλάξουν σε μέγεθος και να ταιριάζουν, αλλά το μόνο που πρέπει να σημειωθεί είναι ότι η διάμετρος των οπών πρέπει να ταιριάζει μεταξύ τους και στον σερβοκινητήρα. Για τα servos και την εφαρμογή μου, όλες οι οπές έχουν διάμετρο 5mm. και οι ράγες Τ είναι 1 mm μικρότερες ως προς το πλάτος από το ένθετο για το οποίο προορίζονται.
Μετά την εκτύπωση, μπορεί να απαιτείται ελαφρύ τρίψιμο και λίπανση για να έχετε λεία εφαρμογή και κινούμενα μέρη.
Βήμα 2: Συναρμολόγηση
Η τοποθέτηση όλων των τμημάτων σας είναι βασική για αυτό το έργο, διότι εάν δεν βρίσκονται στη σωστή θέση, η προβολή σκιών σας δεν θα είναι ακριβής.
Ξεκινήστε με την τοποθέτηση της οθόνης σας, χρησιμοποίησα ένα μικρό φύλλο χαρτιού αντιγραφής μεταξύ ενός πλαισίου τρισδιάστατης εκτύπωσης που έχει σχεδιαστεί για να μοιάζει με 2 στήλες και ένα αέτωμα.
Στη συνέχεια τοποθετήστε χαλαρά το led σας (για μελλοντικές προσαρμογές). Για το LED το έχω τοποθετήσει εξωτερικά συνδέοντάς το με μερικά καλώδια και μετά στη μπαταρία 9 Volt, αλλά μπορείτε να το κάνετε ένα βήμα παραπέρα και να το ενσωματώσετε στο arduino, ώστε να μην χρειαστεί να αφαιρέσετε χειροκίνητα τα καλώδια για να γυρίσετε το φως ανάβει και σβήνει.
Μόλις τοποθετηθούν τόσο η λυχνία LED όσο και η οθόνη, τοποθετήστε τα κινούμενα μέρη σας ανάμεσα στα δύο, ώστε να έχετε την ιδανική προβολή που αναζητάτε και, στη συνέχεια, ασφαλίστε τα servos σας στη θέση τους για να μην κινούνται (μόλις χρησιμοποίησα superglue) Το
Από αυτό το σημείο απλώς τοποθετήστε τα καλώδια, το arduino, το breadboard και τον δέκτη IR σας οπουδήποτε δεν θα επηρεάσουν το φως και τελειώσατε.
Βήμα 3: Κωδικοποίηση
#περιλαμβάνω
#περιλαμβάνω
#define play 0xFFC23D
int ταλαντώνονται = 0; int RECV_PIN = 11; // Καρφίτσα δέκτη IR
Servo servo?
Servo servo2;
int val? // περιστροφή angleint pos;
bool cwRotation, ccwRotation; // τις καταστάσεις περιστροφής
IRrecv irrecv (RECV_PIN);
decode_results αποτελέσματα?
void setup ()
{Serial.begin (9600);
irrecv.enableIRIn (); // Εκκινήστε τον δέκτη
servo2.attach (7); // δεύτερη σερβο καρφίτσα
servo.attach (9); // σερβο καρφίτσα
}
void loop () {if (irrecv.decode (& results)) {
Serial.println (results.value, HEX);
irrecv.resume (); // Λάβετε την επόμενη τιμή
αν (results.value == play || ταλαντεύεται)
{
ταλάντωση = 1;
servo.write (5); // πείτε στο servo να μεταβεί στη θέση στη μεταβλητή 'pos'
servo2.write (5);
καθυστέρηση (400)? // περιμένει το σερβο για να φτάσει στη θέση
servo.write (50); // πείτε στο servo να μεταβεί στη θέση στη μεταβλητή 'pos'
servo2.write (50);
καθυστέρηση (400)? // περιμένει το σερβο για να φτάσει στη θέση
}
}
}