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

Εισαγωγή στο Arduino: 15 βήματα (με εικόνες)
Εισαγωγή στο Arduino: 15 βήματα (με εικόνες)

Βίντεο: Εισαγωγή στο Arduino: 15 βήματα (με εικόνες)

Βίντεο: Εισαγωγή στο Arduino: 15 βήματα (με εικόνες)
Βίντεο: Εισαγωγή στο tinkercad για υλοποίηση projects arduino uno -#TECHNOLOGYGREECE 2024, Νοέμβριος
Anonim
Εισαγωγή στο Arduino
Εισαγωγή στο Arduino

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

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

Βασικά, εάν υπάρχει κάτι που ελέγχεται με οποιονδήποτε τρόπο από ηλεκτρική ενέργεια, το Arduino μπορεί να διασυνδεθεί με αυτό με κάποιο τρόπο. Και ακόμη και αν δεν ελέγχεται από ηλεκτρική ενέργεια, μπορείτε πιθανώς να χρησιμοποιήσετε πράγματα που είναι (όπως κινητήρες και ηλεκτρομαγνήτες), για να διασυνδεθείτε μαζί του.

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

Βήμα 1: Διαφορετικοί τύποι Arduinos

Διαφορετικοί τύποι Arduinos
Διαφορετικοί τύποι Arduinos
Διαφορετικοί τύποι Arduinos
Διαφορετικοί τύποι Arduinos
Διαφορετικοί τύποι Arduinos
Διαφορετικοί τύποι Arduinos

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

Arduino Uno

Η πιο κοινή έκδοση του Arduino είναι το Arduino Uno. Αυτός ο πίνακας είναι αυτό για το οποίο μιλούν οι περισσότεροι όταν αναφέρονται σε ένα Arduino. Στο επόμενο βήμα, υπάρχει μια πιο ολοκληρωμένη περιγραφή των χαρακτηριστικών του.

Arduino NG, Diecimila and the Duemilanove (Παλαιότερες εκδόσεις)

Οι παλαιότερες εκδόσεις της σειράς προϊόντων Arduino Uno αποτελούνται από το NG, το Diecimila και το Duemilanove. Το σημαντικό πράγμα που πρέπει να σημειωθεί για τους πίνακες παλαιού τύπου είναι ότι δεν διαθέτουν ιδιαίτερο χαρακτηριστικό του Arduino Uno. Μερικές βασικές διαφορές:

  • Οι Diecimila και NG χρησιμοποιούν τσιπ ATMEGA168 (σε αντίθεση με το ισχυρότερο ATMEGA328),
  • Τόσο το Diecimila όσο και το NG διαθέτουν βραχυκυκλωτήρα δίπλα στη θύρα USB και απαιτούν χειροκίνητη επιλογή είτε USB είτε μπαταρίας.
  • Το Arduino NG απαιτεί να κρατήσετε πατημένο το κουμπί ανάπαυσης στον πίνακα για μερικά δευτερόλεπτα πριν από τη μεταφόρτωση ενός προγράμματος.

Arduino Mega 2560

Το Arduino Mega 2560 είναι η δεύτερη πιο συνηθισμένη έκδοση της οικογένειας Arduino. Το Arduino Mega μοιάζει με τον μεγαλύτερο αδερφό του Arduino Uno. Διαθέτει 256 KB μνήμης (8 φορές περισσότερο από το Uno). Είχε επίσης 54 ακίδες εισόδου και εξόδου, 16 από τις οποίες είναι αναλογικές ακίδες και 14 από τις οποίες μπορούν να κάνουν PWM. Ωστόσο, όλη η προστιθέμενη λειτουργικότητα κοστίζει με μια ελαφρώς μεγαλύτερη πλακέτα κυκλώματος. Μπορεί να κάνει το έργο σας πιο ισχυρό, αλλά θα κάνει επίσης το έργο σας μεγαλύτερο. Δείτε την επίσημη σελίδα Arduino Mega 2560 για περισσότερες λεπτομέρειες.

Arduino Mega ADK

Αυτή η εξειδικευμένη έκδοση του Arduino είναι βασικά ένα Arduino Mega που έχει σχεδιαστεί ειδικά για διασύνδεση με smartphone Android. Αυτό είναι επίσης μια παλαιότερη έκδοση.

Arduino Yun

Το Arduino Yun χρησιμοποιεί ένα τσιπ ATMega32U4 αντί για το ATmega328. Ωστόσο, αυτό που πραγματικά το ξεχωρίζει είναι η προσθήκη του μικροεπεξεργαστή Atheros AR9331. Αυτό το επιπλέον τσιπ επιτρέπει σε αυτόν τον πίνακα να τρέχει Linux εκτός από το κανονικό λειτουργικό σύστημα Arduino. Εάν όλα αυτά δεν ήταν αρκετά, έχει επίσης δυνατότητα ενσωματωμένου wifi. Με άλλα λόγια, μπορείτε να προγραμματίσετε τον πίνακα να κάνει πράγματα όπως θα κάνατε με οποιοδήποτε άλλο Arduino, αλλά μπορείτε επίσης να έχετε πρόσβαση στην πλευρά Linux του πίνακα για να συνδεθείτε στο διαδίκτυο μέσω wifi. Η πλευρά Arduino και η πλευρά Linux μπορούν στη συνέχεια να επικοινωνούν εύκολα μεταξύ τους. Αυτό καθιστά αυτόν τον πίνακα εξαιρετικά ισχυρό και ευέλικτο. Μόλις χαράζω την επιφάνεια του τι μπορείτε να κάνετε με αυτό, αλλά για να μάθετε περισσότερα, ανατρέξτε στην επίσημη σελίδα του Arduino Yun.

Arduino Nano

Αν θέλετε να κάνετε μικρότερο μέγεθος από τον τυπικό πίνακα Arduino, το Arduino Nano είναι για εσάς! Βασισμένη σε ένα τσιπ ATmega328, η έκδοση του Arduino έχει συρρικνωθεί σε ένα μικρό αποτύπωμα ικανό να χωρέσει σε στενούς χώρους. Μπορεί επίσης να εισαχθεί απευθείας σε ένα breadboard, καθιστώντας εύκολο να το πρωτοτυπώ.

Arduino LilyPad

Το LilyPad σχεδιάστηκε για φορετές εφαρμογές και εφαρμογές ηλεκτρονικού υφάσματος. Προορίζεται να ραφτεί στο ύφασμα και να συνδεθεί με άλλα ράψιμα εξαρτήματα χρησιμοποιώντας αγώγιμο σπείρωμα. Αυτός ο πίνακας απαιτεί τη χρήση ειδικού σειριακού καλωδίου προγραμματισμού FTDI-USB TTL. Για περισσότερες πληροφορίες, η σελίδα Arduino LilyPad είναι ένα αξιοπρεπές σημείο εκκίνησης.

(Σημειώστε ότι ορισμένοι από τους συνδέσμους σε αυτήν τη σελίδα είναι σύνδεσμοι συνεργατών. Αυτό δεν αλλάζει το κόστος του προϊόντος για εσάς. Επενδύω ό, τι έσοδα λαμβάνω για την κατασκευή νέων έργων. Αν θέλετε προτάσεις για εναλλακτικούς προμηθευτές, παρακαλώ επιτρέψτε μου ξέρω.)

Βήμα 2: Λειτουργίες Arduino Uno

Λειτουργίες Arduino Uno
Λειτουργίες Arduino Uno

Μερικοί άνθρωποι σκέφτονται ολόκληρο τον πίνακα Arduino ως μικροελεγκτή, αλλά αυτό είναι ανακριβές. Ο πίνακας Arduino είναι στην πραγματικότητα ένας ειδικά σχεδιασμένος πίνακας κυκλωμάτων για προγραμματισμό και πρωτότυπο με μικροελεγκτές Atmel.

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

Μερικά από τα βασικά χαρακτηριστικά του Arduino Uno περιλαμβάνουν:

  • Σχέδιο ανοιχτού κώδικα. Το πλεονέκτημα ότι είναι ανοιχτού κώδικα είναι ότι έχει μια μεγάλη κοινότητα ανθρώπων που το χρησιμοποιούν και το αντιμετωπίζουν προβλήματα. Αυτό καθιστά εύκολο να βρείτε κάποιον που θα σας βοηθήσει να διορθώσετε τα έργα σας.
  • Εύκολη διεπαφή USB. Το τσιπ στον πίνακα συνδέεται απευθείας στη θύρα USB και καταχωρείται στον υπολογιστή σας ως εικονική σειριακή θύρα. Αυτό σας επιτρέπει να διασυνδεθείτε με αυτό σαν να ήταν μια σειριακή συσκευή. Το πλεονέκτημα αυτής της ρύθμισης είναι ότι η σειριακή επικοινωνία είναι ένα εξαιρετικά εύκολο (και δοκιμασμένο στο χρόνο) πρωτόκολλο και το USB καθιστά τη σύνδεση με σύγχρονους υπολογιστές πραγματικά βολική.
  • Πολύ βολική διαχείριση ισχύος και ενσωματωμένη ρύθμιση τάσης. Μπορείτε να συνδέσετε μια εξωτερική πηγή ισχύος έως 12v και θα τη ρυθμίζει τόσο στα 5v όσο και στα 3.3v. Μπορεί επίσης να τροφοδοτηθεί απευθείας από μια θύρα USB χωρίς εξωτερική τροφοδοσία.
  • Ένας εύχρηστος και βρώμικος φτηνός μικροελεγκτής «εγκέφαλος». Το τσιπ ATmega328 πωλείται για περίπου 2,88 $ στο Digikey. Διαθέτει αμέτρητο αριθμό ωραίων χαρακτηριστικών υλικού όπως χρονοδιακόπτες, ακίδες PWM, εξωτερικές και εσωτερικές διακοπές και πολλαπλές λειτουργίες ύπνου. Δείτε το επίσημο φύλλο δεδομένων για περισσότερες λεπτομέρειες.
  • Ρολόι 16 mhz. Αυτό το καθιστά όχι τον ταχύτερο μικροελεγκτή, αλλά αρκετά γρήγορο για τις περισσότερες εφαρμογές.
  • 32 KB μνήμης flash για την αποθήκευση του κωδικού σας.
  • 13 ψηφιακές ακίδες και 6 αναλογικές ακίδες. Αυτές οι καρφίτσες σας επιτρέπουν να συνδέσετε εξωτερικό υλικό στο Arduino σας. Αυτές οι ακίδες είναι βασικές για την επέκταση της υπολογιστικής ικανότητας του Arduino στον πραγματικό κόσμο. Απλώς συνδέστε τις συσκευές και τους αισθητήρες σας στις πρίζες που αντιστοιχούν σε κάθε έναν από αυτούς τους πείρους και είστε έτοιμοι.
  • Μια υποδοχή ICSP για παράκαμψη της θύρας USB και διασύνδεση του Arduino απευθείας ως σειριακή συσκευή. Αυτή η θύρα είναι απαραίτητη για την εκ νέου εκκίνηση του τσιπ σας εάν καταστραφεί και δεν μπορεί πλέον να μιλήσει στον υπολογιστή σας.
  • Ενσωματωμένη λυχνία LED προσαρτημένη στην ψηφιακή ακίδα 13 για γρήγορο και εύκολο εντοπισμό σφαλμάτων κώδικα.
  • Και τέλος, αλλά όχι λιγότερο σημαντικό, ένα κουμπί για την επαναφορά του προγράμματος στο τσιπ.

Για μια πλήρη περιγραφή όλων όσων έχει να προσφέρει το Arduino Uno, φροντίστε να επισκεφθείτε την επίσημη σελίδα του Arduino.

Βήμα 3: Arduino IDE

Arduino IDE
Arduino IDE

Πριν ξεκινήσετε να κάνετε οτιδήποτε με το Arduino, πρέπει να κάνετε λήψη και εγκατάσταση του Arduino IDE (ολοκληρωμένο περιβάλλον ανάπτυξης). Από αυτό το σημείο και μετά θα αναφερόμαστε στο Arduino IDE ως προγραμματιστή Arduino.

Ο προγραμματιστής Arduino βασίζεται στο Processing IDE και χρησιμοποιεί μια παραλλαγή των γλωσσών προγραμματισμού C και C ++.

Μπορείτε να βρείτε την πιο πρόσφατη έκδοση του Arduino Programmer σε αυτήν τη σελίδα.

Βήμα 4: Συνδέστε το

Συνέδεσε το
Συνέδεσε το

Συνδέστε το Arduino στη θύρα USB του υπολογιστή σας.

Λάβετε υπόψη ότι παρόλο που το Arduino συνδέεται στον υπολογιστή σας, δεν είναι πραγματική συσκευή USB. Ο πίνακας διαθέτει ένα ειδικό τσιπ που του επιτρέπει να εμφανίζεται στον υπολογιστή σας ως εικονική σειριακή θύρα όταν είναι συνδεδεμένο σε θύρα USB. Αυτός είναι ο λόγος για τον οποίο είναι σημαντικό να συνδέσετε την πλακέτα. Όταν η πλακέτα δεν είναι συνδεδεμένη, η εικονική σειριακή θύρα στην οποία λειτουργεί το Arduino δεν θα υπάρχει (αφού όλες οι πληροφορίες σχετικά με αυτήν βρίσκονται στον πίνακα Arduino).

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

Το Arduino Uno απαιτεί αρσενικό καλώδιο USB A σε αρσενικό καλώδιο USB B.

Βήμα 5: Ρυθμίσεις

Ρυθμίσεις
Ρυθμίσεις
Ρυθμίσεις
Ρυθμίσεις

Πριν ξεκινήσετε να κάνετε οτιδήποτε στον προγραμματιστή Arduino, πρέπει να ορίσετε τον τύπο του πίνακα και τη σειριακή θύρα.

Για να ρυθμίσετε τον πίνακα, μεταβείτε στα ακόλουθα:

Πίνακες εργαλείων

Επιλέξτε την έκδοση του πίνακα που χρησιμοποιείτε. Δεδομένου ότι έχω συνδεδεμένο ένα Arduino Uno, προφανώς επέλεξα το "Arduino Uno".

Για να ορίσετε τη σειριακή θύρα, μεταβείτε στα ακόλουθα:

Σειριακή θύρα εργαλείων

Επιλέξτε τη σειριακή θύρα που μοιάζει με:

/dev/tty.usbmodem [τυχαίοι αριθμοί]

Βήμα 6: Εκτελέστε ένα σκίτσο

Εκτελέστε ένα σκίτσο
Εκτελέστε ένα σκίτσο
Εκτελέστε ένα σκίτσο
Εκτελέστε ένα σκίτσο
Εκτελέστε ένα σκίτσο
Εκτελέστε ένα σκίτσο

Τα προγράμματα Arduino ονομάζονται σκίτσα. Ο προγραμματιστής Arduino έρχεται με έναν τόνο παραδειγμάτων σκίτσων προφορτωμένων. Αυτό είναι υπέροχο γιατί ακόμα κι αν δεν έχετε προγραμματίσει ποτέ τίποτα στη ζωή σας, μπορείτε να φορτώσετε ένα από αυτά τα σκίτσα και να κάνετε το Arduino να κάνει κάτι.

Για να αναβοσβήνει και να απενεργοποιείται το LED που συνδέεται με τον ψηφιακό πείρο 13, ας φορτώσουμε το παράδειγμα αναλαμπής.

Το παράδειγμα αναλαμπής μπορεί να βρεθεί εδώ:

Αρχεία Παραδείγματα Βασικά Αναβοσβήνει

Το παράδειγμα αναλαμπής ορίζει βασικά την ακίδα D13 ως έξοδο και στη συνέχεια αναβοσβήνει τη δοκιμαστική λυχνία LED στον πίνακα Arduino ανάβει και σβήνει κάθε δευτερόλεπτο.

Μόλις ανοίξει το παράδειγμα αναλαμπής, μπορεί να εγκατασταθεί στο τσιπ ATMEGA328 πατώντας το κουμπί αποστολής, το οποίο μοιάζει με βέλος που δείχνει προς τα δεξιά.

Παρατηρήστε ότι το LED κατάστασης τοποθέτησης που συνδέεται με τον πείρο 13 στο Arduino θα αρχίσει να αναβοσβήνει. Μπορείτε να αλλάξετε το ρυθμό αναβοσβήματος αλλάζοντας το μήκος της καθυστέρησης και πατώντας ξανά το κουμπί μεταφόρτωσης.

Βήμα 7: Σειριακή παρακολούθηση

Σειριακή οθόνη
Σειριακή οθόνη
Σειριακή οθόνη
Σειριακή οθόνη

Η σειριακή οθόνη επιτρέπει στον υπολογιστή σας να συνδεθεί σειριακά με το Arduino. Αυτό είναι σημαντικό επειδή απαιτεί δεδομένα που λαμβάνει το Arduino από αισθητήρες και άλλες συσκευές και τα εμφανίζει σε πραγματικό χρόνο στον υπολογιστή σας. Η κατοχή αυτής της δυνατότητας είναι ανεκτίμητη για να διορθώσετε τον κωδικό σας και να κατανοήσετε ποιες τιμές αριθμών λαμβάνει πραγματικά το τσιπ.

Για παράδειγμα, συνδέστε το κεντρικό σκούπισμα (μεσαίο πείρο) ενός ποτενσιόμετρου στο A0 και τους εξωτερικούς πείρους, αντίστοιχα, σε 5v και γείωση. Στη συνέχεια ανεβάστε το σκίτσο που φαίνεται παρακάτω:

Παραδείγματα αρχείων 1. Basics AnalogReadSerial

Κάντε κλικ στο κουμπί για να ενεργοποιήσετε τη σειριακή οθόνη που μοιάζει με μεγεθυντικό φακό. Τώρα μπορείτε να δείτε τους αριθμούς που διαβάζονται από την αναλογική καρφίτσα στη σειριακή οθόνη. Όταν γυρίζετε το κουμπί, οι αριθμοί θα αυξάνονται και θα μειώνονται.

Οι αριθμοί θα είναι μεταξύ 0 και 1023. Ο λόγος για αυτό είναι ότι ο αναλογικός πείρος μετατρέπει μια τάση μεταξύ 0 και 5V σε έναν διακριτικό αριθμό.

Βήμα 8: Digitalηφιακή είσοδος

Digital In
Digital In

Το Arduino διαθέτει δύο διαφορετικούς τύπους ακίδων εισόδου, αυτές είναι αναλογικές και ψηφιακές.

Αρχικά, ας δούμε τις ψηφιακές ακίδες εισόδου.

Οι ψηφιακές ακίδες εισόδου έχουν μόνο δύο πιθανές καταστάσεις, οι οποίες είναι ενεργοποιημένες ή απενεργοποιημένες. Αυτές οι δύο καταστάσεις ενεργοποίησης και απενεργοποίησης αναφέρονται επίσης ως:

  • Υ HIGHΗΛΗ ή ΧΑΜΗΛΗ
  • 1 ή 0
  • 5V ή 0V.

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

Οι ψηφιακές εισροές μπορούν επίσης να χρησιμοποιηθούν ως βάση για αμέτρητα ψηφιακά πρωτόκολλα επικοινωνίας. Δημιουργώντας έναν παλμό 5V (HIGH) ή 0V (LOW), μπορείτε να δημιουργήσετε ένα δυαδικό σήμα, τη βάση όλων των υπολογισμών. Αυτό είναι χρήσιμο για συνομιλία με ψηφιακούς αισθητήρες, όπως έναν αισθητήρα υπερήχων PING ή για επικοινωνία με άλλες συσκευές.

Για ένα απλό παράδειγμα ψηφιακής εισόδου σε χρήση, συνδέστε έναν διακόπτη από τον ψηφιακό ακροδέκτη 2 σε 5V, μια αντίσταση 10K ** από τον ψηφιακό ακροδέκτη 2 στη γείωση και εκτελέστε τον ακόλουθο κώδικα:

Παραδείγματα αρχείων 2. igηφιακό κουμπί

** Η αντίσταση 10Κ ονομάζεται αντίσταση αναδίπλωσης επειδή συνδέει τον ψηφιακό πείρο με τη γείωση όταν δεν πιέζεται ο διακόπτης. Όταν πιέζεται ο διακόπτης, οι ηλεκτρικές συνδέσεις στον διακόπτη έχουν μικρότερη αντίσταση από την αντίσταση και η ηλεκτρική ενέργεια δεν συνδέεται πλέον με τη γείωση. Αντ 'αυτού, η ηλεκτρική ενέργεια ρέει μεταξύ 5V και της ψηφιακής ακίδας. Αυτό συμβαίνει επειδή ο ηλεκτρισμός επιλέγει πάντα τη διαδρομή της μικρότερης αντίστασης. Για να μάθετε περισσότερα σχετικά με αυτό, επισκεφθείτε τη σελίδα Digitalηφιακές καρφίτσες.

Βήμα 9: Αναλογική είσοδος

Αναλογικό In
Αναλογικό In

Εκτός από τις ψηφιακές ακίδες εισόδου, το Arduino διαθέτει επίσης έναν αριθμό αναλογικών ακίδων εισόδου.

Οι αναλογικές ακίδες εισόδου λαμβάνουν ένα αναλογικό σήμα και πραγματοποιούν μετατροπή 10-bit αναλογικού-ψηφιακού (ADC) για να το μετατρέψουν σε αριθμό μεταξύ 0 και 1023 (βήματα 4,9mV).

Αυτός ο τύπος εισόδου είναι καλός για ανάγνωση αισθητήρων αντίστασης. Αυτοί είναι βασικά αισθητήρες που παρέχουν αντίσταση στο κύκλωμα. Είναι επίσης καλά για την ανάγνωση ενός μεταβαλλόμενου σήματος τάσης μεταξύ 0 και 5V. Αυτό είναι χρήσιμο όταν διασυνδέεστε με διάφορους τύπους αναλογικών κυκλωμάτων.

Εάν ακολουθήσατε το παράδειγμα στο Βήμα 7 για την εμπλοκή της σειριακής οθόνης, έχετε ήδη δοκιμάσει να χρησιμοποιήσετε έναν αναλογικό πείρο εισόδου.

Βήμα 10: Digitalηφιακή έξοδος

Outηφιακή έξοδος
Outηφιακή έξοδος

Ένας ψηφιακός ακροδέκτης εξόδου μπορεί να ρυθμιστεί ως Υ HIGHΟΣ (5v) ή ΧΑΜΗΛΟΣ (0v). Αυτό σας επιτρέπει να ενεργοποιείτε και να απενεργοποιείτε τα πράγματα.

Εκτός από το να ενεργοποιείτε και να απενεργοποιείτε τα πράγματα (και να αναβοσβήνουν τα LED), αυτή η μορφή εξόδου είναι βολική για πολλές εφαρμογές.

Το πιο αξιοσημείωτο, σας επιτρέπει να επικοινωνείτε ψηφιακά. Ενεργοποιώντας και απενεργοποιώντας γρήγορα τον πείρο, δημιουργείτε δυαδικές καταστάσεις (0 και 1), το οποίο αναγνωρίζεται από αμέτρητες άλλες ηλεκτρονικές συσκευές ως δυαδικό σήμα. Χρησιμοποιώντας αυτήν τη μέθοδο, μπορείτε να επικοινωνείτε χρησιμοποιώντας έναν αριθμό διαφορετικών πρωτοκόλλων.

Η ψηφιακή επικοινωνία είναι ένα προηγμένο θέμα, αλλά για να πάρετε μια γενική ιδέα για το τι μπορεί να γίνει, ανατρέξτε στη σελίδα Interfacing With Hardware.

Εάν ακολουθήσατε το παράδειγμα στο Βήμα 6 για να αναβοσβήνει ένα LED, έχετε ήδη δοκιμάσει να χρησιμοποιήσετε μια ψηφιακή ακίδα εξόδου.

Βήμα 11: Αναλογική έξοδος

Αναλογική Έξοδος
Αναλογική Έξοδος

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

Η διαμόρφωση πλάτους παλμού - ή συντομία PWM - λειτουργεί με γρήγορη περιστροφή του πείρου PWM ψηλά (5V) και χαμηλά (0V) για προσομοίωση αναλογικού σήματος. Για παράδειγμα, εάν αναβοσβήνετε μια λυχνία LED αρκετά γρήγορα (περίπου πέντε χιλιοστά του δευτερολέπτου το καθένα), φαίνεται ότι θα είναι κατά μέσο όρο η φωτεινότητα και φαίνεται ότι λαμβάνει μόνο τη μισή ισχύ. Εναλλακτικά, εάν αναβοσβήνει για 1 χιλιοστό του δευτερολέπτου και στη συνέχεια αναβοσβήνει για 9 χιλιοστά του δευτερολέπτου, η λυχνία LED θα φαίνεται να είναι 1/10 τόσο φωτεινή και να λαμβάνει μόνο το 1/10 της τάσης.

Το PWM είναι το κλειδί για πολλές εφαρμογές, συμπεριλαμβανομένης της παραγωγής ήχου, του ελέγχου της φωτεινότητας των φώτων και του ελέγχου της ταχύτητας των κινητήρων.

Για μια πιο εμπεριστατωμένη εξήγηση, ελέγξτε τα μυστικά της σελίδας PWM.

Για να δοκιμάσετε μόνοι σας το PWM, συνδέστε μια αντίσταση LED και 220 ohm στην ψηφιακή ακίδα 9, σε σειρά στη γείωση. Εκτελέστε το ακόλουθο παράδειγμα κώδικα:

Παραδείγματα αρχείων 3. Αναλογική ξεθώριασμα

Βήμα 12: Γράψτε τον δικό σας κωδικό

Γράψτε τον δικό σας κωδικό
Γράψτε τον δικό σας κωδικό

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

Μερικά σημαντικά πράγματα που πρέπει να έχετε κατά νου όταν γράφετε τον δικό σας κώδικα:

Ένα πρόγραμμα Arduino ονομάζεται σκίτσο

Όλος ο κώδικας σε ένα σκίτσο Arduino επεξεργάζεται από πάνω προς τα κάτω

Τα σκίτσα Arduino χωρίζονται συνήθως σε πέντε μέρη

  1. Το σκίτσο συνήθως ξεκινά με μια κεφαλίδα που εξηγεί τι κάνει το σκίτσο και ποιος το έγραψε.
  2. Στη συνέχεια, συνήθως ορίζει καθολικές μεταβλητές. Συχνά, εδώ δίνονται σταθερά ονόματα στις διαφορετικές καρφίτσες Arduino.
  3. Αφού ορίσετε τις αρχικές μεταβλητές, το Arduino ξεκινά τη ρουτίνα εγκατάστασης. Στη συνάρτηση ρύθμισης, ορίζουμε τις αρχικές συνθήκες μεταβλητών όταν είναι απαραίτητο και εκτελούμε οποιονδήποτε προκαταρκτικό κώδικα που θέλουμε να εκτελεστεί μόνο μία φορά. Εδώ ξεκινά η σειριακή επικοινωνία, η οποία απαιτείται για τη λειτουργία της σειριακής οθόνης.
  4. Από τη λειτουργία ρύθμισης, μεταβαίνουμε στη ρουτίνα βρόχου. Αυτή είναι η κύρια ρουτίνα του σκίτσου. Αυτό δεν είναι μόνο όπου πηγαίνει ο κύριος κωδικός σας, αλλά θα εκτελείται ξανά και ξανά, για όσο διάστημα το σκίτσο συνεχίζει να τρέχει.
  5. Κάτω από τη ρουτίνα του βρόχου, συχνά αναφέρονται άλλες λειτουργίες. Αυτές οι λειτουργίες καθορίζονται από τον χρήστη και ενεργοποιούνται μόνο όταν καλούνται στη ρουτίνα εγκατάστασης και βρόχου. Όταν κληθούν αυτές οι συναρτήσεις, το Arduino επεξεργάζεται όλο τον κώδικα της συνάρτησης από πάνω προς τα κάτω και μετά επιστρέφει στην επόμενη γραμμή στο σκίτσο όπου σταμάτησε όταν κλήθηκε η συνάρτηση. Οι λειτουργίες είναι καλές επειδή σας επιτρέπουν να εκτελείτε τυπικές ρουτίνες - ξανά και ξανά - χωρίς να χρειάζεται να γράφετε τις ίδιες γραμμές κώδικα ξανά και ξανά. Μπορείτε απλά να καλέσετε μια συνάρτηση πολλές φορές και αυτό θα ελευθερώσει μνήμη στο τσιπ επειδή η ρουτίνα της λειτουργίας γράφεται μόνο μία φορά. Κάνει επίσης ευκολότερο την ανάγνωση του κώδικα. Για να μάθετε πώς να διαμορφώνετε τις δικές σας λειτουργίες, ανατρέξτε σε αυτήν τη σελίδα.

Από όλα αυτά, τα δύο μόνο μέρη του σκίτσου που είναι υποχρεωτικά είναι οι ρουτίνες Setup και Loop

Ο κώδικας πρέπει να είναι γραμμένος στη γλώσσα Arduino, η οποία βασίζεται κατά προσέγγιση στο C

Σχεδόν όλες οι δηλώσεις γραμμένες στη γλώσσα Arduino πρέπει να τελειώνουν με a?

Οι όροι (όπως εάν οι δηλώσεις και οι βρόχοι) δεν χρειάζονται ένα?

Οι όροι έχουν τους δικούς τους κανόνες και βρίσκονται στην ενότητα "Δομές ελέγχου" στη σελίδα της γλώσσας Arduino

Οι μεταβλητές είναι χώροι αποθήκευσης αριθμών. Μπορείτε να περάσετε τιμές εντός και εκτός μεταβλητών. Οι μεταβλητές πρέπει να οριστούν (αναφέρονται στον κώδικα) προτού μπορέσουν να χρησιμοποιηθούν και πρέπει να έχουν έναν τύπο δεδομένων που σχετίζεται με αυτές. Για να μάθετε μερικούς από τους βασικούς τύπους δεδομένων, ανατρέξτε στη σελίδα της γλώσσας

Εντάξει! Ας πούμε λοιπόν ότι θέλουμε να γράψουμε κώδικα που διαβάζει ένα φωτοκύτταρο συνδεδεμένο στον ακροδέκτη A0 και να χρησιμοποιήσουμε την ένδειξη που λαμβάνουμε από το φωτοκύτταρο για να ελέγξουμε τη φωτεινότητα ενός LED που είναι συνδεδεμένο με τον πείρο D9.

Αρχικά, θέλουμε να ανοίξουμε το σκίτσο BareMinimum, το οποίο μπορείτε να βρείτε στη διεύθυνση:

Παραδείγματα αρχείων 1. Basic BareMinimum

Το σκίτσο BareMinimum πρέπει να μοιάζει με αυτό:

void setup () {

// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά:} void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελεστεί επανειλημμένα:} Στη συνέχεια, ας βάλουμε μια κεφαλίδα στον κώδικα, ώστε οι άλλοι άνθρωποι να γνωρίζουν τι φτιάχνουμε, γιατί και υπό ποιους όρους

/*

LED Dimmer από τον Genius Arduino Programmer 2012 Ελέγχει τη φωτεινότητα ενός LED στην καρφίτσα D9 με βάση την ανάγνωση ενός φωτοκυττάρου στον ακροδέκτη A0 Αυτός ο κωδικός βρίσκεται στον δημόσιο τομέα */ void setup () {// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί φορά:} void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα:} Μόλις τετραγωνιστεί, ας ορίσουμε τα ονόματα των pin και να δημιουργήσουμε μεταβλητές

/*

LED Dimmer από τον Genius Arduino Programmer 2012 Ελέγχει τη φωτεινότητα ενός LED στην ακίδα D9 με βάση την ανάγνωση ενός φωτοκυττάρου στον ακροδέκτη A0 Αυτός ο κωδικός βρίσκεται στον δημόσιο τομέα */ // όνομα αναλογικού πείρου 0 σταθερό όνομα const int analogInPin = A0; // όνομα ψηφιακού πείρου 9 σταθερό όνομα const int LEDPin = 9; // μεταβλητή για ανάγνωση φωτοκυττάρου int φωτοκύτταρο. void setup () {// βάλτε τον κωδικό εγκατάστασης εδώ, για να εκτελεστεί μία φορά:} void loop () {// βάλτε τον κύριο κωδικό σας εδώ, για να εκτελείται επανειλημμένα:} Τώρα που έχουν οριστεί οι μεταβλητές και τα ονόματα pin, ας γράψουμε τον πραγματικό κώδικα

/*

LED Dimmer από τον Genius Arduino Programmer 2012 Ελέγχει τη φωτεινότητα ενός LED στην ακίδα D9 με βάση την ανάγνωση ενός φωτοκυττάρου στον ακροδέκτη A0 Αυτός ο κωδικός βρίσκεται στον δημόσιο τομέα */ // όνομα αναλογικού πείρου 0 σταθερό όνομα const int analogInPin = A0; // όνομα ψηφιακού πείρου 9 σταθερό όνομα const int LEDPin = 9; // μεταβλητή για ανάγνωση φωτοκυττάρου int φωτοκύτταρο. void setup () {// τίποτα εδώ τώρα τώρα} void loop () {// διαβάστε το ανάλογο στην καρφίτσα και ρυθμίστε την ένδειξη στη μεταβλητή φωτοκύτταρο photocell = analogRead (analogInPin); // ελέγξτε την ακίδα LED χρησιμοποιώντας την τιμή που διαβάζει το φωτοκύτταρο analogWrite (LEDPin, φωτοκύτταρο). // παύση του κώδικα για 1/10 δευτερόλεπτο // 1 δευτερόλεπτο = 1000 καθυστέρηση (100). } Αν θέλουμε να δούμε ποιοι αριθμοί διαβάζει ο αναλογικός ακροδέκτης από το φωτοκύτταρο, θα πρέπει να χρησιμοποιήσουμε τη σειριακή οθόνη. Ας ενεργοποιήσουμε τη σειριακή θύρα και θα εξάγουμε αυτούς τους αριθμούς

/*

LED Dimmer από τον Genius Arduino Programmer 2012 Ελέγχει τη φωτεινότητα ενός LED στην ακίδα D9 με βάση την ανάγνωση ενός φωτοκυττάρου στον ακροδέκτη A0 Αυτός ο κωδικός βρίσκεται στον δημόσιο τομέα */ // όνομα αναλογικού πείρου 0 ένα σταθερό όνομα const int analogInPin = A0; // όνομα ψηφιακού πείρου 9 σταθερό όνομα const int LEDPin = 9; // μεταβλητή για ανάγνωση φωτοκυττάρου int φωτοκύτταρο. void setup () {Serial.begin (9600); } void loop () {// διαβάστε το αναλογικό στην καρφίτσα και ρυθμίστε την ένδειξη στη μεταβλητή φωτοκύτταρο photocell = analogRead (analogInPin); // εκτυπώστε την τιμή του φωτοκύτταρου στη σειριακή οθόνη Serial.print ("Photocell ="); Serial.println (φωτοκύτταρο); // ελέγξτε την ακίδα LED χρησιμοποιώντας την τιμή που διαβάζει το φωτοκύτταρο analogWrite (LEDPin, φωτοκύτταρο). // παύση του κώδικα για 1/10 δευτερόλεπτο // 1 δευτερόλεπτο = 1000 καθυστέρηση (100). }Για περισσότερες πληροφορίες σχετικά με τη διατύπωση κώδικα, επισκεφθείτε τη σελίδα Ιδρύματα. Εάν χρειάζεστε βοήθεια με τη γλώσσα Arduino, τότε η σελίδα της γλώσσας είναι η θέση για εσάς.

Επίσης, η σελίδα παραδείγματος σκίτσου είναι ένα εξαιρετικό μέρος για να αρχίσετε να μπερδεύετε τον κώδικα. Μην φοβάστε να αλλάξετε πράγματα και να πειραματιστείτε.

Βήμα 13: Ασπίδες

Ασπίδες
Ασπίδες

Οι ασπίδες είναι πίνακες επέκτασης προσαρμογέα που συνδέονται πάνω από το Arduino Uno και του προσδίδουν ειδικές λειτουργίες.

Δεδομένου ότι το Arduino είναι ανοιχτό υλικό, όποιος έχει την τάση είναι ελεύθερος να φτιάξει μια ασπίδα Arduino για όποιο έργο θέλει να επιτύχει. Λόγω αυτού, υπάρχουν αμέτρητοι αριθμοί ασπίδων Arduino στην άγρια φύση. Μπορείτε να βρείτε μια συνεχώς αυξανόμενη λίστα με ασπίδες Arduino στην παιδική χαρά Arduino. Λάβετε υπόψη ότι θα υπάρξει περισσότερη ασπίδα από ό, τι θα βρείτε σε αυτήν τη σελίδα (όπως πάντα, η Google είναι φίλος σας).

Για να έχετε μια μικρή αίσθηση των δυνατοτήτων των ασπίδων Arduino, ελέγξτε αυτά τα μαθήματα σχετικά με τον τρόπο χρήσης τριών επίσημων ασπίδων Arduino:

  • Ασύρματη ασπίδα SD
  • Ethernet Shield
  • Motor Shield

Βήμα 14: Δημιουργία εξωτερικού κυκλώματος

Δημιουργία εξωτερικού κυκλώματος
Δημιουργία εξωτερικού κυκλώματος

Καθώς τα έργα σας γίνονται πιο περίπλοκα, θα θέλετε να δημιουργήσετε τα δικά σας κυκλώματα για διασύνδεση με το Arduino. Ενώ δεν θα μάθετε ηλεκτρονικά από τη μια μέρα στην άλλη, το διαδίκτυο είναι ένας απίστευτος πόρος για ηλεκτρονικές γνώσεις και διαγράμματα κυκλωμάτων.

Για να ξεκινήσετε με τα ηλεκτρονικά, επισκεφθείτε το Basic Electronics Instructable.

Βήμα 15: Πηγαίνοντας πέρα

Πηγαίνω παραπέρα
Πηγαίνω παραπέρα

Από εδώ, το μόνο που μένει να κάνουμε είναι να κάνουμε κάποια έργα. Υπάρχουν αμέτρητοι φοβεροί πόροι Arduino και σεμινάρια στο διαδίκτυο.

Βεβαιωθείτε ότι έχετε δει την Επίσημη σελίδα και φόρουμ Arduino. Οι πληροφορίες που παρατίθενται εδώ είναι ανεκτίμητες και πολύ πλήρεις. Αυτός είναι ένας μεγάλος πόρος για εντοπισμό σφαλμάτων έργων.

Εάν χρειάζεστε έμπνευση για μερικά διασκεδαστικά έργα για αρχάριους, ανατρέξτε στον οδηγό 20 απίστευτων έργων Arduino.

Για μια τεράστια λίστα ή έργο Arduino, το κανάλι Arduino είναι ένα εξαιρετικό μέρος για να ξεκινήσετε.

Αυτό είναι. Είσαι μόνος σου.

Καλή επιτυχία και ευτυχισμένο hacking!

Εικόνα
Εικόνα

Το βρήκατε χρήσιμο, διασκεδαστικό ή διασκεδαστικό; Ακολουθήστε @madeineuphoria για να δείτε τα τελευταία έργα μου.

Συνιστάται: