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

Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC: 11 βήματα
Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC: 11 βήματα

Βίντεο: Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC: 11 βήματα

Βίντεο: Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC: 11 βήματα
Βίντεο: θα με σκοτώσει 😂 #greece 2024, Δεκέμβριος
Anonim
Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC
Πώς να φτιάξετε ένα δροσερό ρομπότ από ένα αυτοκίνητο RC

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

Βήμα 1: Τι χρειάζεστε;

Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?
Ο, τι χρειάζεσαι?

Θα χρειαστείτε μερικά εξαρτήματα για αυτό το υπέροχο έργο. 1) Πηγαίνετε και βρείτε ένα αυτοκίνητο RC που έχει δύο κινητήρες DC σε αυτό. Βρήκα ένα πολύ φθηνό αυτοκίνητο που ονομάζεται Thunder tumbler για $ 12. Η εικόνα είναι παρακάτω. 2) Θα χρειαστείτε μια κάρτα ελεγκτή Servo Sensor που ονομάζεται SSMI. Ακολουθεί ο σύνδεσμος για να το λάβετε product_info.php? cPath = 50_36_92 & products_id = 4294) Χρειάζεστε δύο αισθητήρες για να κάνετε το ρομπότ σας διαδραστικό το ρομπότ σας στο program.https://www.technologicalarts.ca/catalog/product_info.php? cPath = 26 & products_id = 386) Μια δροσερή γλώσσα ρομπότ που αναπτύχθηκε για αυτό το προϊόν ονομάζεται nqBASIC. Μεταβείτε στη διεύθυνση https://www.nqbasic.com και κάντε λήψη δωρεάν. Μπορείτε επίσης να κάνετε ερωτήσεις από το φόρουμ τους. 7) 4 μπαταρίες ΑΑ (αλκαλικές ή επαναφορτιζόμενες)

Βήμα 2: Πάρτε το RC Car Apart

Πάρτε το RC Car Apart
Πάρτε το RC Car Apart

1) Έβγαλα όλα τα ηλεκτρονικά. Κόψτε τα καλώδια από τη μονάδα ελέγχου στο αυτοκίνητο RC, αφήνοντας μόνο την μπαταρία, επειδή ήταν σωστό να τροφοδοτήσετε το SSMI (Servo/Sensor/Motor Interface Board για NanoCore12DX).

Βήμα 3: Συνδεδεμένα καλώδια DC και καλώδια μπαταρίας

Συνδεδεμένα καλώδια DC και καλώδια μπαταρίας
Συνδεδεμένα καλώδια DC και καλώδια μπαταρίας

Οι δύο κινητήρες συνεχούς ρεύματος του αυτοκινήτου R/C είχαν ήδη καλώδια επάνω τους, οπότε τα έβαλα στα βύσματα σύνδεσης (έρχεται με πλακέτα SSMI) στο SSMI μου. Το ίδιο έκανα και με το καλώδιο της μπαταρίας.

Βήμα 4: Καλώδια LED

Καλώδια LED
Καλώδια LED
Καλώδια LED
Καλώδια LED
Καλώδια LED
Καλώδια LED
Καλώδια LED
Καλώδια LED

Απομένουν 4 καλώδια. Είναι λεπτές. Αυτά είναι τα καλώδια που προέρχονται από τους τροχούς. Αυτό το αυτοκίνητο RC διαθέτει LED στους πίσω τροχούς. Δύο καλώδια προέρχονται από κάθε τροχό. Το ρομπότ σας μπορεί να είναι όμορφο με αυτά τα LED. Αποφάσισα να χρησιμοποιήσω αυτά τα LED για να κάνω το ρομπότ πιο διασκεδαστικό. Μπορείτε να δείτε αυτά τα καλώδια από την εικόνα. Τοποθέτησα ένα μαύρο κομμάτι πλαστικού που ήρθε από το πίσω μέρος του αυτοκινήτου στο μπροστινό μέρος του αυτοκινήτου για να φτιάξω μια ωραία επίπεδη επιφάνεια για να τοποθετήσετε τον πίνακα SSMI. Χρησιμοποίησα velcros για να τοποθετήσω το SSMI σε αυτό. Μπορείτε να χρησιμοποιήσετε ταινία διπλής όψης και μερικά περιτυλίγματα αν θέλετε. Στη συνέχεια, έβαλα τα καλώδια LED μέσα από τρύπες στο μπροστινό μέρος του αυτοκινήτου. Τοποθέτησα SSMI στο αυτοκίνητο. Στη συνέχεια, συνδέσα τους κινητήρες DC και τα βύσματα της μπαταρίας στις θέσεις τους.

Βήμα 5: Συνδέστε καλώδια LED στην πλακέτα SSMI

Συνδέστε καλώδια LED στην πλακέτα SSMI
Συνδέστε καλώδια LED στην πλακέτα SSMI
Συνδέστε καλώδια LED στην πλακέτα SSMI
Συνδέστε καλώδια LED στην πλακέτα SSMI
Συνδέστε καλώδια LED στην πλακέτα SSMI
Συνδέστε καλώδια LED στην πλακέτα SSMI

Στη συνέχεια, συνδέστε τα καλώδια LED στα σωστά σημεία. Πρέπει να μάθετε από το εγχειρίδιο της πλακέτας SSMI ποιες συνδέσεις μπορείτε να χρησιμοποιήσετε. Προχωρήστε και συνδέστε τα στα ίδια μέρη που έκανα. Αργότερα μπορείτε να μάθετε να τοποθετείτε αυτά τα καλώδια σε διαφορετικά μέρη, αν θέλετε. Δείτε εικόνες

Βήμα 6: Συνδέστε αισθητήρες

Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες
Συνδέστε αισθητήρες

Συνδέστε τα καλώδια του αισθητήρα στα σωστά σημεία.

Βήμα 7: Το ρομπότ σας είναι έτοιμο να κυλήσει

Το ρομπότ σας είναι έτοιμο να κυλήσει
Το ρομπότ σας είναι έτοιμο να κυλήσει

Το υλικό του ρομπότ σας είναι έτοιμο. Τώρα πρέπει να το προγραμματίσετε.

Βήμα 8: Εγκαταστήστε το Λογισμικό

Εγκαταστήστε το Λογισμικό
Εγκαταστήστε το Λογισμικό

Μεταβείτε στη διεύθυνση https://www.nqbasic.com και κάντε λήψη του λογισμικού από τον ιστότοπο. Όλες οι οδηγίες βρίσκονται στον ιστότοπο- πώς να εγκαταστήσετε και να κάνετε τον υπολογιστή σας έτοιμο για αυτό. Υπάρχει επίσης ένα υπέροχο βίντεο YouTube που δείχνει πώς μπορείτε να καταχωρίσετε το λογισμικό δωρεάν. Αυτή η γλώσσα προγραμματισμού είναι εντελώς δωρεάν. Μη διστάσετε να εγγραφείτε. Διαφορετικά, δεν μπορείτε να μεταγλωττίσετε τον κωδικό σας.

Βήμα 9: Έτοιμο για προγραμματισμό

Έτοιμος για προγραμματισμό
Έτοιμος για προγραμματισμό

Συνδέστε το σειριακό καλώδιο από τη σειριακή θύρα του υπολογιστή σας στη σειριακή θύρα SSMI. 1) Εκκινήστε το nqBASIC και επιλέξτε έργο και newproject2) δώστε ένα όνομα στο έργο σας και αποθηκεύστε το. 3) Θα σας ρωτήσει ποια μονάδα νανοπυρήνα χρησιμοποιείτε, επιλέξτε NanoCore12DX από τη λίστα. Αυτή είναι η μόνη μονάδα που λειτουργεί με SSMI. 4) Επιλέξτε Αρχείο/Νέο αρχείο. Θα σας ρωτήσει εάν θέλετε να προσθέσετε αυτό το αρχείο στο έργο σας. Πείτε Ναι. 5) Δώστε ένα όνομα για το αρχείο και κάντε κλικ στην επιλογή Αποθήκευση.

Βήμα 10: Αντιγράψτε και επικολλήστε τον πηγαίο κώδικα

/* Αντιγραφή από εδώ έως το τέλος αυτού του κειμένου Παράδειγμα για DIP32 (8mHz)*/dim M00 ως νέο pwm (PP0) dim M01 ως νέο pwm (PP1) dim M11 ως νέο pwm (PP2) dim M10 ως νέο pwm (PP3) dim IR1 ως νέο ADC (PAD05) // ADC object for Sharp Sensor (Front) dim IR1 Αποτέλεσμα ως νέο bytedim IR2 ως νέο ADC (PAD03) // ADC object for Sharp Sensor (Back) dim IR2 Αποτέλεσμα ως νέο bytedim myChar ως νέο byte / /Μεταβλητή για αποθήκευση των ληφθέντων χαρακτήρωνdim S ως νέο SCI (PS0, PS1) // SCI objectdim SPK ως νέο DIO (PM4) // Χρήση ηχείου στο SSIMΔημιουργήστε ontime = 20dim διάρκεια ως νέα λέξηConst A2 = 2273 // Μουσικές σημειώσειςConst A3 = 1136 // Μουσικές νότεςConst A4 = 568 // Μουσικές νότες για να ακούγεται όταν το ρομπότ βλέπει κάτι WDD WLED1 ως νέο DIO (PM2) // LED στο τροχό WLED2 ως νέο DIO (PM3) // LED στο βρόχο του τροχού ως νέο byteConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000ub DelayMsec (σε byte χιλιοστά του δευτερολέπτου) ενώ (χιλιοστά του δευτερολέπτου> 0) System. Delay (DEL_1MSEC) // Καθυστέρηση 1000 μικροδευτερολέπτων για να κάνετε 1 χιλιοστό του δευτερολέπτου χιλιοστού του δευτερολέπτου onds = χιλιοστά του δευτερολέπτου - 1 τέλος ενώ σταματάει η στάση subsub () // για να σταματήσει ο κινητήρας M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) end subsub goback () // το ρομπότ θα επιστρέψει M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) τέλος υποστροφής προς τα δεξιά () // γυρίστε το ρομπότ προς τα δεξιά M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250). PWM_Start (PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) τέλος υποστροφής υποστροφής () // γυρίστε το ρομπότ προς τα αριστερά M00 PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, () // κάντε το ρομπότ προς τα εμπρός M00. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // αριστερό dc M10. PWM_Start (PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start (PWM_MAIN_CLK, 0, 250, 180) // right dcend subsub wait3 () // my own delays DelayMsec (A) DelayMsec (A) DelayMsec (A) τερματισμός αναμονής subsub4 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) λήξη subsub wait5 () DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) DelayMsec (A) τερματισμός υποβολής αναμονής10 () // βρόχος μεγάλης καθυστέρησης = 1 ενώ (βρόχος <11) DelayMsec (A) βρόχος = βρόχος + 1 τέλος Σύστημα. PIN_Out (PM4, ON). Καθυστέρηση (A2) SPK. PIN_Out (PM4, Off) σύστημα. Καθυστέρηση (A2) διάρκεια = διάρκεια - 1 τέλος ενώ DelayMsec (B) διάρκεια = ontime ενώ (διάρκεια> 0) SPK. PIN_Out Σύστημα (PM4, ON). Καθυστέρηση (A3) SPK. PIN_Out (PM4, Off) σύστημα. Καθυστέρηση (A3) διάρκεια = διάρκεια - 1 τέλος ενώ διάρκεια DelayMsec (B) = ontime ενώ (διάρκεια> 0) SPK. PIN_Out (PM4, ON) σύστημα. Καθυστέρηση (A4) SPK. PIN_Out (PM4, Off) σύστημα. Καθυστέρηση (A4) διάρκεια = διάρκεια - 1 τέλος ενώ το DelayMsec (B) τελειώνει τον κύριο PWM. PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup (SER_BUFFER_4, BAUD9600) // Ρυθμίστε το SCI και επιτρέψτε την αποθήκευση σε 4 χαρακτήρες System. INTS_On () // ΕΝΕΡΓΟΠΟΙΗΣΗ ΕΙΣΑΓΩΓΩΝ! S. SER_Put_string ("This is a test") S. SER_Put_char ('\ n') S. SER_Put_char ('\ r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Ανάγνωση τιμής από τον μπροστινό αισθητήρα ευκρίνειας IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Ανάγνωση τιμής από τον οπίσθιο αισθητήρα IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal (IR2Result, FILLUP_SPACE) // αποστολή terminal S. SER_Put_char ('\ n') // κάντε μια νέα γραμμή στο υπερ -τερματικό S. SER_Put_char ('\ r') εάν ((IR1Result == 25) ή (IR1Result> 25)) σταματήσει () η αναπαραγωγή () wait5 () WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) goback () wait5 () if ((IR2Result == 25) ή (IR2Result> 25)) stop () playound () wait5 () turnleft () wait3 () goahead () τέλος αν turnright () wait3 () else goahead () τέλος εάν ((IR2Result == 25) ή (IR2Result> 25)) WLED1. PIN_Out (PM2, ON) WLED2. PIN_Out (PM3, ON) stop () wait5 () turnright () wait3 () WLED1. PIN_Out (PM2, OFF) WLED2. PIN_Out (PM3, OFF) goahead () wait3 () else goahead () τέλος αν τελειώσει αιν

Βήμα 11: Μεταγλώττιση και φόρτωση στο ρομπότ σας

Βεβαιωθείτε ότι έχετε τοποθετήσει μπαταρίες στο ρομπότ σας και το ενεργοποιείτε. Θα πρέπει να δείτε το πράσινο LED τροφοδοσίας να ανάβει στο SSMI. Στη μονάδα Nanocore12DX υπάρχει ένας μικρός διακόπτης, βεβαιωθείτε ότι είναι στη θέση φόρτωσης. Πατήστε το διακόπτη επαναφοράς στο SSMI. Μεταβείτε στο nqbasic και επιλέξτε Δημιουργία και φόρτωση. Θα μεταγλωττίσει τον κωδικό σας και θα τον φορτώσει στο ρομπότ σας. Αφαιρέστε το σειριακό καλώδιο από το ρομπότ σας και αλλάξτε τον διακόπτη από τη θέση φόρτωσης στη θέση λειτουργίας στη μονάδα NanoCore12DX. Βάλτε το ρομπότ σας σε επίπεδη επιφάνεια και πατήστε το κουμπί επαναφοράς στο SSMI. Συγχαρητήρια! Εάν αντιμετωπίζετε προβλήματα με αυτά τα βήματα, μη διστάσετε να γράψετε στο φόρουμ nqBASIC. Θα είμαι εκεί και θα απαντήσω σε όλες τις ερωτήσεις σας. Διασκεδάστε!

Συνιστάται: