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

...το μέρος για να ξεκινήσετε!

Συντονιστής: adem1

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

Σημαντικό είναι να χρησιμοποιήσετε την υπηρεσία http://imagebin.ubuntu-gr.org για τις εικόνες.

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

Δημοσίευσηαπό xmarkx » 28 Αύγ 2014, 22:13

Τα πρώτα βήματα με το 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 δοκιμάστε να το συνδέσετε σε άλλη θύρα, η με άλλο καλώδιο.

Ελπίζω να φανούν χρήσιμα όλα τα παραπάνω. Κάθε διόρθωση-παρατήρηση είναι δεκτή )
Τελευταία επεξεργασία από xmarkx και 29 Αύγ 2014, 22:43, έχει επεξεργασθεί 6 φορά/ες συνολικά
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, X-Cinnamon cinnamon), Ubuntu 3.13.0-34-generic, Windows 7
3 Intel Core i5-4670K CPU @ 3.40GHz ‖ RAM 7923 MiB ‖ ASUS Z87-A - ASUS All Series
4 Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] [1002:683d] {fglrx_pci}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
Άβαταρ μέλους
xmarkx
babeTUX
babeTUX
 
Δημοσιεύσεις: 96
Εγγραφή: 19 Αύγ 2014, 17:31
Εκτύπωση

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

Δημοσίευσηαπό lepidas » 29 Αύγ 2014, 01:46

ωραίο θέμα, συγχαρητήρια και έλειπε απο το forum
Άβαταρ μέλους
lepidas
superbTUX
superbTUX
 
Δημοσιεύσεις: 3326
Εγγραφή: 11 Μάιος 2011, 11:10
Εκτύπωση

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

Δημοσίευσηαπό ubuderix » 29 Αύγ 2014, 02:10

Πολύ ενδιαφέρον θέμα .Προτείνω να οργανώσουμε κάποια συνάντηση π.χ στο hackerspace για παρουσίαση ,απορίες να πειραματιστούμε λιγάκι.

Off topic:
@xmarkx
Γράφω για παρουσίαση με την προϋπόθεση ότι είσαι από Αθήνα.
1 Γνώσεις Linux: Προσπαθώ ┃ Προγραμματισμού: Καθόλου ┃ Αγγλικών: Μέτρια
2 Ubuntu 12.04 precise 3.7.0-030700-generic 64bit (el_GR.UTF-8, Unity ubuntu), Ubuntu 3.5.0-25-generic, Ubuntu 3.5.0-24-generic
3 Intel Pentium CPU G630 @ 2.70GHz ‖ RAM 3678 MiB ‖ ASRock H61M-S
4 Intel 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] {i915}
5 wlan0: 0846:4260 NetGear WG111v3 54 Mbps Wireless [realtek RTL8187B] ⋮ eth0: Atheros Inc. AR8152 v2.0 Fast Ethernet [1969:2062] (rev c1)
http://imagebin.ubuntu-gr.org/files/1372175733.png
Άβαταρ μέλους
ubuderix
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 1668
Εγγραφή: 11 Μάιος 2008, 12:07
Τοποθεσία: Πειραιάς
Launchpad: ubuderix
IRC: ubuderix
Εκτύπωση

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

Δημοσίευσηαπό xmarkx » 29 Αύγ 2014, 15:47

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

PS. αν γνωρίζει κάποιος για το 4. πρώτο Bullet κάτι παραπάνω σχολιάστε γιατί λείπει ένα κομματάκι εκεί.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, X-Cinnamon cinnamon), Ubuntu 3.13.0-34-generic, Windows 7
3 Intel Core i5-4670K CPU @ 3.40GHz ‖ RAM 7923 MiB ‖ ASUS Z87-A - ASUS All Series
4 Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] [1002:683d] {fglrx_pci}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
Άβαταρ μέλους
xmarkx
babeTUX
babeTUX
 
Δημοσιεύσεις: 96
Εγγραφή: 19 Αύγ 2014, 17:31
Εκτύπωση

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

Δημοσίευσηαπό the_eye » 29 Αύγ 2014, 18:31

xmarkx έγραψε:delay(5000); // wait for a second

Αυτό πρέπει να είναι τυπογραφικό γιατί με 5000 θα περιμένει 5 δευτερόλεπτα.
Ακόμα τις εφαρμογές που πρέπει να τρέξουμε ως root και έχουνε γραφικό περιβάλλον τις τρέχουμε με gksudo και όχι με sudo.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

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

Δημοσίευσηαπό xmarkx » 29 Αύγ 2014, 19:42

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

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

Α δεν το ήξερα για το sudo. Θα το αλλάξω. Ευχαριστώ. Τι διαφορά έχει?
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, X-Cinnamon cinnamon), Ubuntu 3.13.0-34-generic, Windows 7
3 Intel Core i5-4670K CPU @ 3.40GHz ‖ RAM 7923 MiB ‖ ASUS Z87-A - ASUS All Series
4 Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] [1002:683d] {fglrx_pci}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
Άβαταρ μέλους
xmarkx
babeTUX
babeTUX
 
Δημοσιεύσεις: 96
Εγγραφή: 19 Αύγ 2014, 17:31
Εκτύπωση

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

Δημοσίευσηαπό the_eye » 29 Αύγ 2014, 19:54

To gksudo δεν αλλάζει τα δικαιώματα στα αρχεία του γραφικού περιβάλλοντος. Με το sudo θα αλλάξουν και μετά μπορεί να είναι απροσπέλαστα στον χρήστη με αποτέλεσμα να μην μπορεί να κάνει γραφικό login ή/και να καταρρεύσει το γραφικό περιβάλλον.
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

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

Δημοσίευσηαπό xmarkx » 29 Αύγ 2014, 20:09

Οκ το άλλαξα. @the_eye μήπως γνωρίζεις πως μπορώ να δω σε πιο port έχει συνδεθεί; Στα windows για παράδειγμα απο control panel διαχείριση συσκευών νομίζω μπορείς να δείς σε πιο COM* 1-2-3 είναι συνδεδεμένο. Έτσι επιλέγεις το αντίστοιχο απο το IDE. Εδώ δεν έχει COM* με το lsusb δεν κατάφερα να βγάλω άκρη.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, X-Cinnamon cinnamon), Ubuntu 3.13.0-34-generic, Windows 7
3 Intel Core i5-4670K CPU @ 3.40GHz ‖ RAM 7923 MiB ‖ ASUS Z87-A - ASUS All Series
4 Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] [1002:683d] {fglrx_pci}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
Άβαταρ μέλους
xmarkx
babeTUX
babeTUX
 
Δημοσιεύσεις: 96
Εγγραφή: 19 Αύγ 2014, 17:31
Εκτύπωση

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

Δημοσίευσηαπό the_eye » 29 Αύγ 2014, 20:52

Αφού το συνδέσεις για δώσε
Κώδικας: Επιλογή όλων
ls -l /dev
Όσο λιγότερο κλειστό λογισμικό έχεις, τόσα λιγότερα προβλήματα.
1 Γνώσεις ⇛ Linux: Καλό ┃ Προγραμματισμός: Ναι PHP, MySQL ┃ Αγγλικά: Καλά
2 Ubuntu 22.04 Jammy Jellyfish 5.15.0-58-generic 64bit (el_GR.UTF-8, ubuntu:GNOME ubuntu)
3 Intel Core i3-6100 CPU @ 3.70GHz ‖ RAM 7836 MiB ‖ Gigabyte B150M-HD3 DDR3-CF - Gigabyte B150M-HD3 DDR3
4 Intel HD Graphics 530 [8086:1912] {i915}
5 enp1s0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
Οδηγοί Ubuntu Βίντεο Οδηγοί
Άβαταρ μέλους
the_eye
Διαχειριστής
Διαχειριστής
 
Δημοσιεύσεις: 11671
Εγγραφή: 16 Μαρ 2010, 17:19
Launchpad: ntoulasd
IRC: the_eye_
Εκτύπωση

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

Δημοσίευσηαπό xmarkx » 29 Αύγ 2014, 22:15

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


οκ και στο IDE έχει ακριβώς αυτό. Οοοκ έγινε @the_eye σε ευχαριστώ. Θα το κάνω προσθήκη στον οδηγό.
1 Γνώσεις Linux: Ικανοποιητικό ┃ Προγραμματισμού: Ικανοποιητικό ┃ Αγγλικών: Ικανοποιητικό
2 Ubuntu 14.04 trusty 3.13.0-35-generic 64bit (en_US.UTF-8, X-Cinnamon cinnamon), Ubuntu 3.13.0-34-generic, Windows 7
3 Intel Core i5-4670K CPU @ 3.40GHz ‖ RAM 7923 MiB ‖ ASUS Z87-A - ASUS All Series
4 Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde XT [Radeon HD 7770/8760 / R7 250X] [1002:683d] {fglrx_pci}
5 eth0: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 11)
Άβαταρ μέλους
xmarkx
babeTUX
babeTUX
 
Δημοσιεύσεις: 96
Εγγραφή: 19 Αύγ 2014, 17:31
Εκτύπωση

Επόμενο

Επιστροφή στο Οδηγοί - How to - Tutorials