Σελίδα 1 από 2

Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 28 Αύγ 2014, 22:13
από xmarkx
Τα πρώτα βήματα με το Arduino


Περιεχόμενα
1. Εγκατάσταση
1.1 Εγκατάσταση απο το Ubuntu Software Center
1.2 Εγκατάσταση απο το τερματικό
2. Ρυθμίσεις στο IDE
3. Εκτέλεση του πρώτου προγράμματος
3. Κοινά προβλήματα


1. Εγκατάσταση
Διαλέξτε έναν απο τους δυο τρόπους εγκατάστασης που περιγράφονται παρακάτω.
1.1 Εγκατάσταση απο το Ubuntu Software Center
Ανοίγουμε το Ubuntu Software Center και κάνουμε αναζήτηση για το πακέτο `arduino`. Επιλέγουμε εγκατάσταση. Στην εικόνα είναι ήδη εγκατεστημένο.
Εικόνα

1.2 Εγκατάσταση απο το τερματικό
Αν δεν την έχετε εγκαταστήσει μπορεί να εκτελέσετε
Κώδικας: Επιλογή όλων
sudo apt-get install aptitude

σε διαφορετική περίπτωση απλά εκτελέστε
Κώδικας: Επιλογή όλων
aptitude search arduino

για να σας βγάλει όλα τα σχετικά πακέτα με αυτό. Όπως βλέπουμε υπάρχει στα αποθετήρια οπότε εκτελούμε
Κώδικας: Επιλογή όλων
sudo apt-get install arduino

Σύμφωνα με την Official σελίδα χρειάζεται και το πακέτο `arduino-core` αλλά εγώ δεν χρειάστηκε να κάνω κάτι επιπλέον έγινε εγκατάσταση και αυτό. Αν δεν σας το κάνει εγκατάσταση βάλτε το και αυτό.
Εικόνα

2. Ρυθμίσεις στο IDE
Αρχικά θα πρέπει να βεβαιωθούμε πως το Arduino μας είναι συνδεδεμένο με τον υπολογιστή. Η σύνδεση γίνεται με καλώδιο http://www.showmecables.com/images/catalog/product/USB-2-A-Male-B-Male-6-FT-1.jpg (USB male A σε male Β). Αφού το συνδέσετε θα πρέπει να ανάψει ένα πράσινο λαμπάκι με την επιγραφή 'ON'. Έπειτα τρέχουμε την εντολή:
Κώδικας: Επιλογή όλων
lsusb

για να επιβεβαιώσουμε πως ο υπολογιστής μας βλέπει το Arduino ως μιας usb συσκευή. Παραθέτω το δικό μου που
Εικόνα
Μετα ανοίγουμε το IDE απο ένα τερματικό εκτελώντας
Κώδικας: Επιλογή όλων
gksudo arduino

Το IDE πρέπει να ανοίξει με δικαιώματα διαχειριστή αλλιώς δημιουργούνται προβλήματα αργότερα. Οπότε προσθέστε και το gksudo!


Το τελευταίο που θα κάνουμε είναι να ελέγξουμε αν το Arduino μας είναι συνδεδεμένο στη θύρα που αναγράφεται και στο IDE. Για να γίνει αυτό τρέχουμε σε ένα τερματικό
Κώδικας: Επιλογή όλων
ls /dev

και στο IDE μας αναπτύσσουμε το menu `Tools>Serial Port`. Αν δεν είναι τικαρισμένο θα πρέπει να επιλέξουμε το `/dev/ttyACM0`. Ίσως σε εσάς αλλάζει αλλά με την εντολή ls /dev μπορούμε να δούμε που ακριβώς είναι. Παραθέτω και δυο εικόνες απο την εγκατάσταση που έκανα:
Εικόνα
Εικόνα

3. Εκτέλεση του πρώτου προγράμματος
Τώρα θα πρέπει να βλέπουμε το IDE αν όλα πήγαν καλά. Αν δεν γνωρίζετε καθόλου προγραμματισμό μπορείτε να φορτώσετε ήδη έτοιμο πρόγραμμα απο τις βιβλιοθήκες του πηγαίνοντας `File>Examples>...`
Προτείνω να ανοίξετε το `File>Examples>Basic>Blink` που στην ουσία αυτό που κάνει το πρόγραμμα είναι να αναβοσβήνει το default LED επάνω στο arduino. Δεν χρειάζεται ναι προσθέσετε καλώδια κτλ έχει ένα LED πολύ μικρό επάνω αν το παρατηρήσετε. Ενδεικτικά ο κώδικας είναι:
Κώδικας: Επιλογή όλων
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Όσο αναφορά το προγραμματιστικό κομμάτι ο κώδικας μοιάζει πολύ στην C. Δεν θα ήθελα να μπω σε λεπτομέρειες για το τι κάνει γιατί νομίζω θα ξεφύγουμε απο τον σκοπό του οδηγού.

Τέλος, επιλέγουμε το πρώτο κουμπάκι (Verify) για να δούμε πως είναι σωστός και μετά το δεύτερο(Upload) για να το φορτώσουμε στο Arduino μας. Αν όλα πήγαν καλά θα πρέπει να εμφανιστεί το μήνυμα "Done Uploading".
Εικόνα

4. Κοινά προβλήματα
  • Σε περίπτωση κάποιου σφάλματος κατα το Uploading δοκιμάστε να αλλάξετε το Tools>Serial Port σε κάποια άλλη επιλογή. Δεν ξέρω αν υπάρχει τρόπος να βρείτε που ακριβώς είναι συνδεδεμένο στο Linux :| Αν έχει κάποιος παραπάνω πληροφορίες για αυτό, comment και θα το προσθέσω.
  • Το δεύτερο κοινό πρόβλημα είναι αν δεν βάλετε sudo. Δεν θα είναι δυνατόν να αναπτύξουμε το menu Tools>Serial Port στο IDE και επίσης για κάποιον λόγο δεν θα σας βρεί το arduino.
  • Αν δεν σας εμφανίζετε στο lsusb δοκιμάστε να το συνδέσετε σε άλλη θύρα, η με άλλο καλώδιο.

Ελπίζω να φανούν χρήσιμα όλα τα παραπάνω. Κάθε διόρθωση-παρατήρηση είναι δεκτή )

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 01:46
από lepidas
ωραίο θέμα, συγχαρητήρια και έλειπε απο το forum

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 02:10
από ubuderix
Πολύ ενδιαφέρον θέμα .Προτείνω να οργανώσουμε κάποια συνάντηση π.χ στο hackerspace για παρουσίαση ,απορίες να πειραματιστούμε λιγάκι.

Off topic:
@xmarkx
Γράφω για παρουσίαση με την προϋπόθεση ότι είσαι από Αθήνα.

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 15:47
από xmarkx
Δυστυχώς δεν μένω Αθήνα οπότε μου είναι πολυ δύσκολο να έρθω. Ως δεύτερο θέμα σκεφτομαι να γράψω τα βασικά του Arduino δηλαδή περιγραφή της πλακέτας, πως δουλεύουμε, τι είναι τα pins κτλ ώστε να πάρει όποιος θέλει μια γενική ιδέα :) Καλή συνέχεια παιδιά.

PS. αν γνωρίζει κάποιος για το 4. πρώτο Bullet κάτι παραπάνω σχολιάστε γιατί λείπει ένα κομματάκι εκεί.

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 18:31
από the_eye
xmarkx έγραψε:delay(5000); // wait for a second

Αυτό πρέπει να είναι τυπογραφικό γιατί με 5000 θα περιμένει 5 δευτερόλεπτα.
Ακόμα τις εφαρμογές που πρέπει να τρέξουμε ως root και έχουνε γραφικό περιβάλλον τις τρέχουμε με gksudo και όχι με sudo.

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 19:42
από xmarkx
the_eye έγραψε:Αυτό πρέπει να είναι τυπογραφικό γιατί με 5000 θα περιμένει 5 δευτερόλεπτα.
Ακόμα τις εφαρμογές που πρέπει να τρέξουμε ως root και έχουνε γραφικό περιβάλλον τις τρέχουμε με gksudo και όχι με sudo.

1000 ειναι στο παραδειγμα απλά το είχα αλλάξει για να δω αν δουλεύει 100%. Ακόμη και έτσι θα φαίνεται η λογική του προγράμματος. Στην πραγματικότητα το delay δεν ειναι κ ο καλύτερο τρόπος για να το κάνεις να περιμένει. Ευχαριστώ για την παρατήρηση!

Α δεν το ήξερα για το sudo. Θα το αλλάξω. Ευχαριστώ. Τι διαφορά έχει?

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 19:54
από the_eye
To gksudo δεν αλλάζει τα δικαιώματα στα αρχεία του γραφικού περιβάλλοντος. Με το sudo θα αλλάξουν και μετά μπορεί να είναι απροσπέλαστα στον χρήστη με αποτέλεσμα να μην μπορεί να κάνει γραφικό login ή/και να καταρρεύσει το γραφικό περιβάλλον.

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 20:09
από xmarkx
Οκ το άλλαξα. @the_eye μήπως γνωρίζεις πως μπορώ να δω σε πιο port έχει συνδεθεί; Στα windows για παράδειγμα απο control panel διαχείριση συσκευών νομίζω μπορείς να δείς σε πιο COM* 1-2-3 είναι συνδεδεμένο. Έτσι επιλέγεις το αντίστοιχο απο το IDE. Εδώ δεν έχει COM* με το lsusb δεν κατάφερα να βγάλω άκρη.

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 20:52
από the_eye
Αφού το συνδέσεις για δώσε
Κώδικας: Επιλογή όλων
ls -l /dev

Re: Τα πρώτα βήματα με το Arduino

ΔημοσίευσηΔημοσιεύτηκε: 29 Αύγ 2014, 22:15
από xmarkx
Όταν δεν το έχω συνδεδεμένο και το συνδέω η προσθήκη στο /dev είναι αυτο:
Κώδικας: Επιλογή όλων
crw-rw----  1 root dialout 166,   0 Αύγ  29 22:10 ttyACM0


οκ και στο IDE έχει ακριβώς αυτό. Οοοκ έγινε @the_eye σε ευχαριστώ. Θα το κάνω προσθήκη στον οδηγό.