/* ΓΕΝΙΚΕΣ ΟΔΗΓΙΕΣ Ο κώδικας δεν είναι πλήρης :) Υπάρχουν κενά τα οποία συμπληρώνετε με κριτήριο το τι θέλετε να κάνει η ΔΙΚΗ ΣΑΣ εφαρμογή. Διαβάζετε τις οδηγίες που υπάρχουν μέσα στον κώδικα, κάνουν καλό :) */ // Πολύ καλό tutorial http://learning.grobotronics.com/2014/09/arduino-lesson-14-dc-motor-l293 // Για τον χειρισμό του κινητήρα θα χρειαστούν 3 pins int enablePin = 11; int in1Pin = 10; int in2Pin = 9; // Για δοκιμή, συνδέστε ένα ποτενσιόμετρο σε κάποιο αναλογικό pin // ώστε με την βοήθειά του να ρυθμίζετε την ταχύτητα περιστροφής int potPin = A0; int potValue; // H μεταβλητή motorSpeed θα χρησιμοποιηθεί για να αποθηκεύουμε // την ταχύτητα του κινητήρα. Αρχικά την μηδενίζουμε. int motorSpeed = 0; // Η μεταβλητή motorDir θα χρησιμοποιηθεί για να αποθηκεύουμε // την φορά της περιστροφής του κινητήρα. Οι τιμές είναι HIGH // ή LOW. Πρέπει να δοκιμάσετε προς τα που περιστρέφεται ο κινητήρας // σας για τις δύο αυτές τιμές. boolean motorDir = HIGH; void setup() { // Tα pins του κινητήρα πρέπει να δηλωθούν ως έξοδοι pinMode(in1Pin, OUTPUT); pinMode(in2Pin, OUTPUT); pinMode(enablePin, OUTPUT); // Έναρξη σειριακής επικοινωνίας με το PC για να μπορούμε να // βλέπουμε τιμές αισθητήρων, αλλά και να δίνουμε τιμές από το πληκτρολόγιο. // Μπορεί και να μην χρειαστεί, αλλά ας το έχουμε ως ρύθμιση. Serial.begin (9600); } void loop() { // Παίρνουμε την τιμή που δίνει το ποτενσιόμετρο (0-1023) // και την αντιστοιχούμε σε κάποια τιμή 0 - 255 potValue = analogRead(potPin); motorSpeed = map(potValue, 0, 1023, 0, 255); // Για να κινηθεί ο κινητήρας πρέπει να δώσουμε 3 εντολές: analogWrite(enablePin, motorSpeed); digitalWrite(in1Pin, !motorDir); digitalWrite(in2Pin, motorDir); // Αν θέλουμε να αντιστρέψουμε την φορά κίνησης θα πρέπει να // αλλάξει η τιμή της μεταβλητής motorDir // motorDir = !motorDir; }