Εισαγωγή |
Published date: 7/1/2017
|
Σε αυτόν τον οδηγό θα φτιάξουμε το δικό μας ρομποτικό "τενεκεδάκι" το οποιό θα αποφεύγει εμπόδια και είναι πλήρως εκτυπωμένο από 3D εκτυπωτη.
Είναι μια μετατροπή του Attiny Canbot που το βρήκαμε στο Thingiverse.com από τον χρήστη Wingman94 (link here) . Στο κύκλωμα μου χρησιμοποιώ τον ATmega328 IC και πρόσθεσα ένα μπαζερ το οποίο θα κάνει μπιπ κάθε φορά που το "τενεκεδάκι" βρίσκει σε ένα εμπόδιο μπροστά του. Το ρομποτ παίρνει ενέργεια από μία 3.7V 500mAh επαναφορτιζόμενη μπαταρία ώστε όταν τελειώνει να μπορούμε να την φορτίζουμε. Δείτε το ρομποτάκι στην πράξη! |
Τα υλικά που θα χρειαστούμε
Στο συγκεκριμένο πρότζεκτ θα χρειαστούμε :
|
|
Επίσης θα χρειαστούμε ενα TTL to USB module ή ένα Arduino UNO για τον προγραμματισμό του.
Εργαλεία: Κολλητήρι και πιστόλι θερμοσιλικόνης .
Εργαλεία: Κολλητήρι και πιστόλι θερμοσιλικόνης .
Το κύκλωμα
|
Πάρτε τον χρόνο σας και φτιάξτε το κύκλωμα όσο πιο μικρό μπορείτε για να χωράει στην κατασκευή.
|
Κώδικας
Συνδέουμε το TTL to USB module (ή Arduino uno board - σημείωση - πρέπει να έχουμε αφαιρέσει τον ATmega328) με το programming header όπως φαίνεται στο σχηματικό. Τα pins RX και TX πρέπει να είναι σταυρωτά συνδεδεμένα( cross connected ). Αλλάζοντας την τιμή της μεταβλητής "speedS=10" (γραμμή 14) μπορείτε να ρυθμίσετε την ταχύτητα του.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | /* Arduino 3D printed Can Robot with object avoiding function * Dev: Michalis Vasilakis // Date: 7/1/2017 // Ver: 1.0 * More info at http://www.ardumotive.com/workshop */ #include <Servo.h> #include <Ultrasonic.h> const int buzzer = 6; Ultrasonic ultrasonic(12,13); Servo leftServo, rightServo; int dist=100; int count=0; int speedS = 10; void setup() { rightServo.attach(7); leftServo.attach(8); delay(3000); } void loop() { dist = ultrasonic.Ranging(CM); //Use 'CM' for centimeters or 'INC' for inches if (dist > 15){ forward(); } else{ tone(buzzer,200,500); if (count==0){ right(); delay(400); } else if(count==1){ left(); delay(400); } else if(count==2){ backward(); delay(1000); left(); delay(400); } if (count==3){ count=0; } else{ count++; } } delay(10); } void forward(){ leftServo.write(speedS+90+10); rightServo.write(95-speedS-10); } void backward(){ leftServo.write(90-speedS); rightServo.write(speedS+95); } void right(){ leftServo.write(speedS+90); rightServo.write(speedS+95); } void left(){ leftServo.write(speedS-90); rightServo.write(speedS-95); } void stop(){ leftServo.write(90); rightServo.write(95); } |
Κατεβάστε τον κώδικα απ' εδώ και ανοίξτε το αρχείο με το Arduino IDE. Μέσα θα βρείτε όλες τις απαραίτητες βιβλιοθήκες.
|
![]()
|
3D printing files
Εδώ θα βρείτε τα 3D αρχεία τα οποία μπορείτε να τα κατεβάσετε από την επίσημη σελίδα του πρότζεκτ. |
|
Συγχαρητήρια!
Τέλεια! Μόλις ολοκληρώσατε αυτό τον οδηγό και έχετε έτοιμο το δικό σας ρομποτικό "τενεκεδάκι".
Περιμένω φωτογραφίες και σχόλια παρακάτω!
Περιμένω φωτογραφίες και σχόλια παρακάτω!