Ίσως οι προγραμματιστές λειτουργικών συστημάτων να έχουν δίκιο, θεωρώντας τον χρήστη τον χειρότερο εχθρό και τον πιο επικίνδυνο ιό. Και ίσως κάνουν λάθος, δημιουργούν τις δημιουργίες τους όχι για τον εαυτό τους, αλλά για τους χρήστες. Με μια λέξη, δεν ξέρω. Αλλά αυτό που ξέρω σίγουρα είναι ότι θέλω να δω το πρόγραμμα S4A να λειτουργεί όχι μόνο σε Windows, αλλά σε Linux, και όχι μόνο στη διανομή Debian.

Ξεκινάω αυτή τη διαδικασία κατεβάζοντας την έκδοση του Debian από τον ιστότοπο προγραμματιστή: http://seaside.citilab.eu/scratch/arduino. Όλα τα ληφθέντα αρχεία βρίσκονται μετά την ολοκλήρωση της λήψης στο φάκελο "Λήψη" ή "Λήψεις". Τα αρχειοθετημένα αρχεία που προορίζονται για Linux αποσυσκευάζονται από τον διαχειριστή αρχείων. Το αρχείο που κατέβασα από το openSUSE έχει επέκταση deb, αλλά χρησιμοποιώντας το Ark, τον ίδιο διαχειριστή αρχείων, μπορεί να αποσυμπιεστεί. Στο openSUSE με τον διαχειριστή γραφικών του KDE 4, αρκεί να κάνετε δεξί κλικ στο αρχείο και να επιλέξετε το στοιχείο του αναπτυσσόμενου μενού "Εξαγωγή σε υποφάκελο". Ως αποτέλεσμα, εμφανίζεται ένας φάκελος με το όνομα S4A.

Ας το εξετάσουμε.

Ρύζι. 5.1. Περιεχόμενα του ληφθέντος φακέλου S4A

Δύο αρχεία με επέκταση tar.gz υπόκεινται σε περαιτέρω αποσυμπίεση.

Ρύζι. 5.2. Αναπτυσσόμενο μενού για εργασία με αρχειοθετημένα αρχεία

Ως αποτέλεσμα, μια σειρά αρχείων και ένας φάκελος με το όνομα "usr" εμφανίζονται δίπλα στα αρχεία. Από την εμπειρία μου με το Linux, γνωρίζω ότι αυτός ο φάκελος μπορεί να περιέχει αρχεία που, όταν εγκατασταθούν, βρίσκονται στο /usr στο ριζικό σύστημα αρχείων. Εάν ανοίξετε αυτόν τον φάκελο, τότε

Κεφάλαιο 5. Arduino, Visual Programming

Πράγματι, σε αυτό μπορείτε να δείτε άλλους τρεις φακέλους.

Αυτοί οι τρεις φάκελοι αντιστοιχούν στις ενότητες που μπορείτε να δείτε αν ανοίξετε το " Ο ριζικός φάκελος» στον κατάλογο /usr.

Ρύζι. 5.4. Κατατμήσεις του καταλόγου usr του συστήματος αρχείων

Τα περιεχόμενα των φακέλων bin, lib και share που έχετε λάβει προηγουμένως θα πρέπει, πιστεύω, να τοποθετηθούν στους φακέλους που σημειώθηκαν παραπάνω. Αλλά, φυσικά, για να αλλάξει κάτι ένας απλός χρήστης σύστημα αρχείωνκανείς δεν θα το επιτρέψει. Επομένως, στην ενότητα του κύριου μενού "Σύστημα" βρίσκουμε το στοιχείο " Διαχείριση αρχείων", το οποίο ανοίγει ένα νέο υπομενού, όπου υπάρχει "Διαχείριση αρχείων (με δικαιώματα διαχειριστή)". Αυτός ο διαχειριστής θα σας επιτρέψει να μεταφέρετε τα πάντα απαιτούμενα αρχείαστο λειτουργικό σύστημα. Χωρίς να εφεύρουμε τίποτα, ανοίγοντας φακέλους παράλληλα σε δύο εξερευνητές, απλώς ανοίξτε διαδοχικά τους απαραίτητους (όλοι ονομάζονται) φακέλους μέχρι να εμφανιστούν τα αρχεία και αντιγράψτε τα αρχεία.

Κεφάλαιο 5. Arduino, Visual Programming

Ρύζι. 5.5. Μεταφορά αρχείων προγράμματος στο openSUSE

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

Μετά την αντιγραφή, μπορείτε να προσπαθήσετε να βρείτε το πρόγραμμα στο κύριο μενού. Και, πράγματι, στην καρτέλα Εφαρμογές στην ενότητα Ανάπτυξη (έχω μια άλλη ενότητα που ονομάζεται Άλλα προγράμματα), εμφανίζεται το πρόγραμμα S4A. Και μπορείτε ακόμη και να το εκτελέσετε. Αλλά μετά από μερικές κινήσεις του ποντικιού, αρχίζει να κρέμεται ...

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

ΣΤΟ άλλες διανομές Linux, η λειτουργία είναι παρόμοια με αυτές που περιγράφονται παραπάνω, οι διαφορές δεν είναι τόσο σημαντικές. Αν και στο Fedora 14 άλλαξα απλώς τον χρήστη συνδέοντας ως root, κάτι που φυσικά δεν έπρεπε να το κάνετε, διευκόλυνε να τοποθετήσετε τα πάντα στις σωστές θέσεις.

Έχοντας εγκαταστήσει το πρόγραμμα στο Linux, ας δούμε γιατί το εγκαταστήσαμε;

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

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

Κεφάλαιο 5. Arduino, Visual Programming

Ρύζι. 5.6. Μεταφορά των επιθυμητών στοιχείων προγράμματος

Τώρα, πατώντας το πλήκτρο με την ένδειξη "control" στο πλαίσιο ακριβώς από πάνω, λαμβάνουμε μια σειρά από νέα στοιχεία.

Ρύζι. 5.7. Λίστα στοιχείων στην ομάδα "Έλεγχος".

Μεταξύ αυτών των στοιχείων, θα επιλέξουμε το στοιχείο "πάντα", το οποίο θα μεταφέρουμε στο υπάρχον στοιχείο και θα το προσθέσουμε έτσι ώστε η επάνω αποκοπή να μπει στην προεξοχή.

Κεφάλαιο 5. Arduino, Visual Programming

Ρύζι. 5.8. Προσθήκη στοιχείων στο πρόγραμμα

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

Ρύζι. 5.9. Εντολή ενεργοποίησης ψηφιακής εξόδου

Από το σύνολο στοιχείων "control", θα πάρουμε το στοιχείο "wait 1 second", το οποίο θα εισαγάγουμε μέσα στο στοιχείο "always" κάτω από το στοιχείο "digital 13 on". Για να επιταχύνετε αυτή τη διαδικασία, τοποθετήστε ξανά το στοιχείο αναμονής, επιστρέψτε στα στοιχεία κίνησης και προσθέστε ένα στοιχείο "ψηφιακό 13 off" μεταξύ των δύο στοιχείων αναμονής.

Ρύζι. 5.10. Το πρόγραμμα Blink σε γραφική μορφή

Σας θυμίζει κάτι αυτό το σχέδιο; Όταν αρχίσαμε να περιγράφουμε το πρώτο πρόγραμμα σε συνηθισμένη γλώσσα, το γράψαμε έτσι.

Κάντε διπλό κλικ στο στοιχείο "start" με το αριστερό κουμπί του ποντικιού και κοιτάξτε τη μονάδα Arduino

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

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

Κεφάλαιο 5. Arduino, Visual Programming

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

Σταματήστε το πρόγραμμα κάνοντας ξανά διπλό κλικ στο στοιχείο "start". Ας κάνουμε αριστερό κλικ στη μονάδα του στοιχείου "αναμονή 1 δευτερόλεπτο".

Ρύζι. 5.11. Αλλαγή ρυθμίσεων στοιχείου προγράμματος

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

Δεν έχουμε δοκιμάσει τη λειτουργία της ψηφιακής εισόδου σε "ζωντανή" μορφή. Δεν είναι καιρός να το κάνουμε;

Ας φτιάξουμε το πρόγραμμα στο S4A. Τα πρώτα "τούβλα" είναι τα ίδια όπως και στο προηγούμενο πρόγραμμα. Στη συνέχεια ... πρέπει να εκπληρώσουμε την προϋπόθεση: εάν πατηθεί το κουμπί, ανάψτε το LED, διαφορετικά απενεργοποιήστε το. Υπάρχει ένα τέτοιο στοιχείο - είναι "αν ... ή ...". Στο πάνω μέρος του υπάρχει μια "φωλιά" όπου μπορείτε να εισάγετε την συνθήκη που χρειαζόμαστε "ψηφιακή είσοδο ...".

Ρύζι. 5.12. Προσθήκη συνθήκης στο στοιχείο if ενός κλάδου προγράμματος

Απομένει να προσθέσετε ενέργειες για να αποκτήσετε τον επιθυμητό τύπο προγράμματος.

Ρύζι. 5.13. Η τελική διαμόρφωση του προγράμματος

Αν το συγκρίνουμε με ένα πρόγραμμα γραμμένο στη γλώσσα Arduino, τότε μπορούμε να πούμε ότι οι μόνες διαφορές είναι αυτές που έγιναν συνειδητά: όταν απελευθερωθεί το κουμπί, το LED δεν ανάβει, όταν πατηθεί, το LED ανάβει. .

Κεφάλαιο 5. Arduino, Visual Programming

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

Στο διάγραμμα που φαίνεται στα παραδείγματα, το κουμπί είναι συνδεδεμένο με τον ακροδέκτη +5 V. Θα σας συμβούλευα να το ενεργοποιήσετε λίγο διαφορετικά.

Ειδικά αν τσεκάρεις τα πάντα «στο βάρος». Σε περίπτωση τυχαίου λάθους, μπορεί να γίνει όπως έκανα εγώ, θα βγει καπνός από τη μονάδα, που θα χαλάσει πολύ τη διάθεση. Και ο πιο σωστός τρόπος είναι να χρησιμοποιήσετε ένα breadboard με συνδέσμους προσαρμογέα (για Arduino Nano, νομίζω ότι υπάρχει κατάλληλη υποδοχή για το μικροκύκλωμα).

Αφού ελέγξετε τις σωστές συνδέσεις στο breadboard, συνδέοντας τη μονάδα Arduino σε αυτήν, μπορείτε να τη συνδέσετε στην υποδοχή USB υπολογιστήκαι εκτελέστε το πρόγραμμα S4A. Λάβετε υπόψη ότι όταν συνδέσατε μια αντίσταση 10 kΩ μεταξύ της ψηφιακής εισόδου και της γείωσης, οι ενδείξεις (στο δεξιό παράθυρο του προγράμματος) σταμάτησαν να αλλάζουν τυχαία μεταξύ "false, false" και "true, true". Ξεκινάμε το πρόγραμμά μας κάνοντας διπλό κλικ στο στοιχείο "έναρξη", προσθέτουμε, μεταβαίνοντας στην ενότητα "Επεξεργασία" του κύριου μενού, την εκτέλεση βήμα προς βήμα.

Ρύζι. 5.14. Προσθήκη βήμα προς βήμα εκτέλεσηστη ρουτίνα εντοπισμού σφαλμάτων

Μπορείτε επίσης να επιλέξετε την ταχύτητα εκτέλεσης στο στοιχείο "Ορισμός ενός μόνο βήματος ...". Και τώρα, ενώ το κουμπί δεν είναι πατημένο, βλέπουμε ότι το LED είναι σβηστό και το πρόγραμμα εκτελείται μόνο στο τμήμα όπου έχει ρυθμιστεί.

Κεφάλαιο 5. Arduino, Visual Programming

Ρύζι. 5.15. Εκτέλεση του προγράμματος σε λειτουργία εντοπισμού σφαλμάτων

Στο επάνω δεξιά παράθυρο, μπορείτε να δείτε την κατάσταση της εισόδου Digital1 - false. Η είσοδος είναι στο έδαφος, η είσοδος είναι ένα χαμηλό λογικό επίπεδο και αυτό, από την άποψη του προγράμματος, είναι μια "ψευδής" κατάσταση. Ας πατήσουμε το κουμπί.

Ρύζι. 5.16. Λειτουργία προγράμματος όταν πατηθεί το κουμπί

Η κατάσταση της εισόδου "true" έχει αλλάξει, το LED είναι αναμμένο και το πρόγραμμα εισέρχεται στο τμήμα όπου πληρούται η προϋπόθεση.

Εάν προσέξετε τα πορτοκαλί στοιχεία στην ενότητα "έλεγχος", μπορείτε να δείτε ότι πολλά από τα

Κεφάλαιο 5. Arduino, Visual Programming

έχουν «φωλιές» για την εισαγωγή συνθηκών.

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

Ρύζι. 5.17. Φωλιές για την προσθήκη συνθηκών στα χειριστήρια

Και κάτι ακόμα - δώστε προσοχή στα μαύρα βέλη "κάτω" δίπλα σε πολλά στοιχεία.

Κάντε κλικ σε αυτό το βέλος με το ποντίκι...

Ρύζι. 5.18. Ένα βέλος που ανοίγει μια λίστα πιθανών αισθητήρων

Και έχουμε την ευκαιρία να αλλάξουμε, για παράδειγμα, όπως σε αυτήν την περίπτωση την είσοδο που χρησιμοποιείται. Σε άλλες περιπτώσεις, ας πούμε, αλλάζει μια ακίδα εξόδου ή μια αναλογική είσοδος. Εχουμε μεγάλη επιλογήευκαιρίες πειραματισμού με τη μονάδα Arduino. Ωστόσο, γιατί με τη μονάδα; Μπορεί να χρησιμοποιήσουμε πολλαπλές ενότητες. Αρκετά, για να μην πω ότι αυτός είναι ο μόνος τρόπος, μεταβείτε στην καρτέλα "suits", κάντε δεξί κλικ στο υπάρχον "suit" και επιλέξτε την ενότητα "switch to new object".

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

Κεφάλαιο 5. Arduino, Visual Programming

Ρύζι. 5.19. Προσθήκη δεύτερης μονάδας Arduino

Και η τελευταία παρατήρηση. Ό,τι κάνουμε στο πρόγραμμα S4A, το κάνουμε χρησιμοποιώντας τη γλώσσα προγραμματισμού Scratch. Πώς σας αρέσει αυτό;

28 09.2016

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

Από αυτό το άρθρο θα μάθετε:

Χαιρετίσματα, φίλοι! Για όσους δεν με ξέρουν, με λένε Semyon Gridin. Μπορείτε να διαβάσετε για μένα. Το σημερινό άρθρο θα είναι αφιερωμένο σε δύο βασικά προγράμματα, χωρίς τα οποία δεν θα έχουμε περαιτέρω πρόοδο και αμοιβαία κατανόηση.

Γενική περιγραφή γλωσσών προγραμματισμού

Όπως έγραψα παραπάνω, θα εξετάσουμε δύο δημοφιλή περιβάλλοντα ανάπτυξης. Κατ' αναλογία με, μπορεί να χωριστεί σε επεξεργαστής γραφικώνκαι έξυπνο σημειωματάριο. Αυτά είναι τα προγράμματα Arduino IDE και FLprog.

Η βάση του περιβάλλοντος ανάπτυξης είναι η Επεξεργασία / Καλωδίωση - αυτή είναι η συνηθισμένη C ++, που συμπληρώνεται με λειτουργίες και διάφορες βιβλιοθήκες. Υπάρχουν πολλές εκδόσεις για λειτουργία συστήματα windows, Mac OS και Linux.

Ποια είναι η θεμελιώδης διαφορά τους; Το Arduino IDE είναι ένα περιβάλλον ανάπτυξης που περιγράφει τον κώδικα προγράμματος. Και το FLprog είναι παρόμοιο με το CFC CoDeSyS, το οποίο σας επιτρέπει να σχεδιάζετε διαγράμματα. Ποιο περιβάλλον είναι καλύτερο; Και τα δύο είναι καλά και βολικά με τον δικό τους τρόπο, αλλά αν θέλετε να ασχοληθείτε σοβαρά με τους ελεγκτές, είναι καλύτερο να μάθετε γλώσσες όπως η C. Το κύριο πλεονέκτημά τους είναι η ευελιξία και ο απεριόριστος αλγόριθμος. Μου αρέσει πολύ το Arduino IDE.

Περιγραφή του Arduino IDE

Μπορείτε να κατεβάσετε τη διανομή από επίσημη ιστοσελίδα. Κατεβάστε το αρχείο, χρειάζεται λίγο περισσότερο από 100 mb. Η εγκατάσταση είναι τυπική, όπως όλες οι εφαρμογές για Windows. Στη συσκευασία πρέπει να εγκατασταθούν προγράμματα οδήγησης για όλους τους τύπους πλακών. Και κάπως έτσι φαίνεται παράθυρο εργασίαςπρογράμματα.

Το περιβάλλον ανάπτυξης Arduino αποτελείται από:

  • επεξεργαστής κώδικα?
  • περιοχές μηνυμάτων?
  • παράθυρα εξόδου κειμένου.
  • γραμμές εργαλείων με κουμπιά για εντολές που χρησιμοποιούνται συχνά.
  • πολλαπλά μενού

Ρυθμίσεις Arduino IDE

Καλείται ένα πρόγραμμα γραμμένο στο περιβάλλον ανάπτυξης Arduinoσκίτσο. Το σκίτσο είναι γραμμένο σε ένα πρόγραμμα επεξεργασίας κειμένου που έχει έγχρωμη επισήμανση του παραγόμενου κώδικα προγράμματος. Ένα παράδειγμα απλού προγράμματος στην παρακάτω εικόνα.

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

Πολλές βιβλιοθήκες παρέχονται με παραδείγματα που βρίσκονται στο φάκελοπαράδειγμα.Η επιλογή μιας βιβλιοθήκης από το μενού θα προστεθεί πηγήγραμμές:

Arduino

#περιλαμβάνω

#περιλαμβάνω

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

Αφού συνδέσαμε την ηλεκτρονική πλακέτα στον υπολογιστή. πραγματοποιούμε παρακάτω ρυθμίσεις- επιλέξτε την πλακέτα Arduino και την Com-port στην οποία θα συνδεθούμε.

Arduino

void setup() ( // αρχικοποίηση ψηφιακής ακίδας 13 ως έξοδο. pinMode(13, OUTPUT); ) void loop() ( digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000 )

void setup()(

// αρχικοποιήστε την ψηφιακή ακίδα 13 ως έξοδο.

pinMode(13, OUTPUT) ;

void loop()(

digitalWrite (13 , HIGH ) ;

καθυστέρηση(1000) ;

digitalWrite (13 , LOW ) ;

καθυστέρηση(1000) ;

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

Υπάρχει ένα ακόμη εύχρηστο πράγμα. ΛέγεταιΣειριακή οθόνη (Σειριακή οθόνη). Εμφανίζει τα δεδομένα που αποστέλλονται στην πλατφόρμαArduino.Συνήθως κοιτάζω τι σήματα μου δίνουν διάφορους αισθητήρεςσυνδεδεμένο με την πλακέτα.

Σύνδεση Βιβλιοθηκών

Υπάρχει διαφορετικοί τρόποιγια να προσθέσετε προσαρμοσμένες δυνατότητες. Υπάρχουν τρεις τρόποι συμπερίληψης βιβλιοθηκών:

  1. Χρήση του Library Manager
  2. Με εισαγωγή ως αρχείο .zip
  3. Εγκατάσταση χειροκίνητα.

1. Χρησιμοποιώντας το Library Manager.Στο παράθυρο εργασίας του προγράμματος, επιλέξτε την καρτέλα Σκίτσο. Στη συνέχεια, κάντε κλικ στο κουμπί Προσθήκη βιβλιοθήκης. Ο υπεύθυνος της βιβλιοθήκης θα ανοίξει μπροστά μας. Το παράθυρο θα εμφανιστεί ήδη εγκατεστημένα αρχείαμε υπογραφήεγκατεστημένο,και αυτά που μπορούν να εγκατασταθούν.

2. Με εισαγωγή ως αρχείο .zip.Συχνά στο Διαδίκτυο μπορείτε να βρείτε αρχεία βιβλιοθήκης συσκευασμένα σε αρχεία με την επέκταση zip. Περιέχει ένα αρχείο κεφαλίδας .h και ένα αρχείο κώδικα .cpp. Κατά την εγκατάσταση, δεν χρειάζεται να αποσυσκευάσετε το αρχείο. Αρκεί στο μενού Sketch - Connect Library - Add .ZIP library

3.Χειροκίνητη εγκατάσταση.Αρχικά, κλείστε το πρόγραμμα Arduino IDE. Αρχικά αποσυσκευάζουμε το αρχείο μας. Και μεταφέρουμε αρχεία με κατάληξη .h και .cpp σε φάκελο με το ίδιο όνομα με το αρχείο. Ρίχνουμε το φάκελο στον ριζικό κατάλογο.

Τα έγγραφά μου\Arduino\βιβλιοθήκες

Περιγραφή του FLPprog

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

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

Ας προσπαθήσουμε να δημιουργήσουμε ένα απλό έργο μαζί σας. Θα αλλάξουμε την έξοδο 13 στο LED.

Δημιουργώ νέο έργο. ΣΤΟ επάνω παράθυροπροσθέστε τον απαιτούμενο αριθμό εισόδων και εξόδων, ορίστε το όνομα και εκχωρήστε τη φυσική είσοδο ή έξοδο του πίνακα.

Βγάζουμε τα στοιχεία που χρειαζόμαστε από το δέντρο του αντικειμένου, τα στοιχεία που χρειαζόμαστε στον καμβά επεξεργασίας. Στην περίπτωσή μας, μπορούμε να χρησιμοποιήσουμε ένα απλό flip-flop RS για ενεργοποίηση και απενεργοποίηση.

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

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

Στις 22 Σεπτεμβρίου συμμετείχα σε ένα σεμινάριο στο Κρασνοντάρ "Ελεγκτές πάνελ αφής ARIES SPK". Πραγματοποιήσαμε το συνέδριο σε ένα μοντέρνο και όμορφο ξενοδοχείο«Μπρίστολ». Ήταν πολύ ενδιαφέρον και δροσερό.

Στο πρώτο μέρος του σεμιναρίου, μας είπαν για τις δυνατότητες και τα πλεονεκτήματα των προϊόντων OWEN. Μετά ακολούθησε διάλειμμα για καφέ με λουκουμάδες. Πήρα ένα σωρό από όλα, και ντόνατς, και μπισκότα και γλυκά, γιατί πεινούσα πολύ. =)

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

Θα δημοσιεύσω μια σειρά άρθρων για το CoDeSyS 3.5 στο εγγύς μέλλον. Έτσι, αν κάποιος ενδιαφέρεται, εγγραφείτε ή απλά ελάτε να επισκεφθείτε. Θα είμαι πάντα χαρούμενος!

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

Τα λέμε στα επόμενα άρθρα.

Με εκτίμηση, Gridin Semyon.

Οι συμβατές πλακέτες Arduino είναι προγραμματισμένες στη γλώσσα Wiring, η οποία είναι πολύ παρόμοια στη σύνταξη με τη γλώσσα C. Ωστόσο, μου προσωπική εμπειρίαΑυτή η γλώσσα είναι δύσκολο να κατακτήσουν τα παιδιά ηλικίας 11-13 ετών, ειδικά αν πριν από αυτό τα παιδιά δημιουργούσαν προγράμματα στο LabView σύροντας μπλοκ στην επιφάνεια εργασίας. Πολλά παιδιά που αγαπούν τη ρομποτική γνωρίζουν καλά την οπτική γλώσσα προγραμματισμού Scratch, βάσει της οποίας υπάρχουν ήδη πολλές λύσεις για την εκπαίδευση. Μεταξύ τέτοιων λύσεων για το Arduino, έχει δημιουργηθεί ένα εργαλείο γραμμένο σε Java που ονομάζεται ArduBloсk.

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

Λοιπόν, τι είναι το ArduBlock;Είναι ένα περιβάλλον γραφικού προγραμματισμού. Σχεδόν πλήρως μεταφρασμένο στα ρωσικά. Αλλά στο ArduBloсk, το αποκορύφωμα δεν είναι μόνο αυτό, αλλά και το γεγονός ότι το πρόγραμμα ArduBloсk που γράφτηκε από εμάς μετατρέπεται σε κώδικα Arduino IDE. Αυτό το πρόγραμμα είναι ενσωματωμένο στο περιβάλλον προγραμματισμού Arduino IDE, δηλαδή είναι ένα πρόσθετο!

Παρακάτω είναι ένα παράδειγμα ενός LED που αναβοσβήνει και ενός προγράμματος που έχει μετατραπεί στο Arduino IDE. Όλη η εργασία με το πρόγραμμα είναι πολύ απλή και κάθε μαθητής μπορεί να την καταλάβει.


Ως αποτέλεσμα της εργασίας στο πρόγραμμα, μπορείτε όχι μόνο να προγραμματίσετε το Arduino, αλλά και να μάθετε εντολές που είναι ακατανόητες για εμάς στο μορφή κειμένου Arduino IDE, αλλά αν είστε πολύ τεμπέλης για να γράψετε τυπικές εντολές, θα πρέπει να σχεδιάσετε γρήγορα ένα απλό πρόγραμμα στο ArduBlok με γρήγορους χειρισμούς του ποντικιού και να το διορθώσετε στο Arduino IDE.

Για να εγκαταστήσετε το ArduBlok, πρέπει να ακολουθήσετε τις παρακάτω οδηγίες, αλλά και πάλι θα πρέπει να χορέψετε με ένα ντέφι, αφού το πιο πρόσφατες εκδόσεις Arduino IDE αυτό το πρόσθετο δεν λειτουργεί. Αν δεν θέλετε να χορέψετε με ντέφι, τότε σας προτείνω να κατεβάσετε το αρχείο με το ήδη ενσωματωμένο εργαλείο ArduBloсk για το Arduino IDE 1.6.11. Αυτή η έκδοση δεν απαιτεί εγκατάσταση. Χρειάζεται μόνο να αποσυμπιέσετε το φάκελο σε μια βολική τοποθεσία και να εκκινήσετε το Arduino IDE. Και ΜΗΝ ΞΕΧΑΣΕΙΣεγκαθιστώ εικονική μηχανή Java, είναι απαραίτητο για την κανονική λειτουργία αυτού του πρόσθετου, μπορείτε να κάνετε λήψη Java από τον επίσημο ιστότοπο, η εγκατάσταση διαρκεί 1-2 λεπτά.

Κατεβάστε το Arduino IDE 1.6.11 με το ArduBlock

Οδηγίες για χορό με ντέφι:Για να ξεκινήσετε, κατεβάστε και εγκαταστήστε το Arduino IDE από τον επίσημο ιστότοπο. Arduino και ασχοληθείτε με τις ρυθμίσεις όταν εργάζεστε με την πλακέτα Arduino UNO. Πώς να το κάνετε αυτό περιγράφεται στον ίδιο ιστότοπο ή στο Amperke ή δείτε το στο YouTube. Λοιπόν, όταν καταλάβαμε όλα αυτά, πρέπει να κατεβάσετε το ArduBlok από τον επίσημο ιστότοπο, εδώ .

Στη συνέχεια, μετονομάζουμε το ληφθέν αρχείο σε ardublock-all και στον φάκελο "έγγραφα". Δημιουργήστε τους παρακάτω φακέλους: Arduino > tools > ArduBlockTool > tool και στον τελευταίο ρίχνουμε το ληφθέν και μετονομασμένο αρχείο. Το ArduBlok λειτουργεί για όλους λειτουργικά συστήματα, ακόμα και σε Linux, το δοκίμασα προσωπικά σε XP, Win7, Win8, όλα τα παραδείγματα είναι για Win7. Η εγκατάσταση του προγράμματος είναι ίδια για όλα τα συστήματα.

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

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

Η δομή του προγράμματος Arduino.

Η δομή του προγράμματος Arduino είναι αρκετά απλή και στην ελάχιστη μορφή του αποτελείται από δύο μέρη setup() και loop().

void setup()(

void loop() (

Η συνάρτηση setup() εκτελείται μία φορά, όταν ο ελεγκτής ενεργοποιείται ή γίνεται επαναφορά. Συνήθως, οι αρχικές ρυθμίσεις των μεταβλητών και των καταχωρητών λαμβάνουν χώρα σε αυτό. Η συνάρτηση πρέπει να υπάρχει στο πρόγραμμα, ακόμα κι αν δεν υπάρχει τίποτα σε αυτό.

Αφού ολοκληρωθεί η setup(), ο έλεγχος περνά στη συνάρτηση loop(). Εκτελεί τις εντολές που είναι γραμμένες στο σώμα του (ανάμεσα σε σγουρά άγκιστρα) σε έναν άπειρο βρόχο. Στην πραγματικότητα, αυτές οι εντολές εκτελούν όλες τις αλγοριθμικές ενέργειες του ελεγκτή.

Οι αρχικοί συντακτικοί κανόνες της γλώσσας C.

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

z = x + y
z= x
+y;

( ) άγκιστραορίστε μια συνάρτηση ή μπλοκ έκφρασης. Για παράδειγμα, στις συναρτήσεις setup() και loop().

/* … */ μπλοκ σχολίωνφροντίστε να κλείσετε.

/* αυτό είναι ένα μπλοκ σχολίων */

// σχόλιο μονής γραμμής, δεν χρειάζεται κλείσιμο, ισχύει μέχρι το τέλος της γραμμής.

// αυτή είναι μια γραμμή σχολίων

Μεταβλητές και τύποι δεδομένων.

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

Τύπος δεδομένων Λίγο βάθος, λίγο Εύρος αριθμών
boolean 8 Σωστό Λάθος
απανθρακώνω 8 -128 … 127
ανυπόγραφο χαρ 8 0 … 255
ψηφιόλεξη 8 0 … 255
ενθ 16 -32768 … 32767
ανυπόγραφο ενθ 16 0 … 65535
λέξη 16 0 … 65535
μακρύς 32 -2147483648 … 2147483647
ανυπόγραφο μακρύ 32 0 … 4294967295
μικρός 16 -32768 … 32767
φλοτέρ 32 -3.4028235+38 … 3.4028235+38
διπλό 32 -3.4028235+38 … 3.4028235+38

Οι τύποι δεδομένων επιλέγονται με βάση την απαιτούμενη ακρίβεια υπολογισμού, τις μορφές δεδομένων κ.λπ. Δεν είναι απαραίτητο, για παράδειγμα, για έναν μετρητή που μετράει μέχρι το 100, να επιλέξετε το μακρύ τύπο. Θα λειτουργήσει, αλλά η λειτουργία θα πάρει περισσότερα δεδομένα και μνήμη προγράμματος, θα πάρει περισσότερο χρόνο.

Δήλωση μεταβλητών.

Καθορίζεται ο τύπος δεδομένων, ακολουθούμενος από το όνομα της μεταβλητής.

intx; // δήλωση μεταβλητής με όνομα x τύπου int
float-widthBox; // δήλωση μιας μεταβλητής με το όνομα widthBox τύπου float

Όλες οι μεταβλητές πρέπει να δηλωθούν πριν χρησιμοποιηθούν.

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

  • Οι μεταβλητές που δηλώνονται στην αρχή του προγράμματος, πριν από τη συνάρτηση void setup(), θεωρούνται καθολικές και είναι διαθέσιμες οπουδήποτε στο πρόγραμμα.
  • Οι τοπικές μεταβλητές δηλώνονται μέσα σε συναρτήσεις ή μπλοκ όπως ένας βρόχος for και μπορούν να χρησιμοποιηθούν μόνο μέσα σε δηλωμένα μπλοκ. Είναι δυνατές πολλές μεταβλητές με το ίδιο όνομα αλλά διαφορετικά πεδία.

intmode? Η μεταβλητή // είναι διαθέσιμη σε όλες τις συναρτήσεις

void setup()(
// κενό μπλοκ, δεν απαιτούνται αρχικές ρυθμίσεις
}

void loop() (

μακρά καταμέτρηση? // η μεταβλητή count είναι διαθέσιμη μόνο στη συνάρτηση loop().

για (int i=0; i< 10;) // переменная i доступна только внутри цикла
{
i++;
}
}

Όταν δηλώνετε μια μεταβλητή, μπορείτε να ορίσετε την αρχική της τιμή (initialize).

int x = 0; Η // μεταβλητή x δηλώνεται με αρχική τιμή 0
char d = 'a'; // η μεταβλητή d δηλώνεται με αρχική τιμή ίση με τον κωδικό χαρακτήρα "a"

Στο αριθμητικές πράξειςΜε ΔΙΑΦΟΡΕΤΙΚΟΙ ΤΥΠΟΙτα δεδομένα μετατρέπονται αυτόματα σε τύπους δεδομένων. Αλλά είναι καλύτερο να χρησιμοποιείτε πάντα μια ρητή μετατροπή.

intx; // μεταβλητή int
επιφυλακτικός; // μεταβλητή char
intz; // μεταβλητή int

z = x + (int) y; // μεταβλητή y μετατρέπεται ρητά σε int

Αριθμητικές πράξεις.

πράξεις σχέσης.

λογικές πράξεις.

Λειτουργίες σε δείκτες.

λειτουργίες bit.

& Και
| Ή
^ ΑΠΟΚΛΕΙΣΤΙΚΟ Ή
~ ΑΝΤΙΣΤΡΟΦΗ
<< SHIFT ΑΡΙΣΤΕΡΑ
>> SHIFT ΔΕΞΙΑ

Μικτές εργασίες ανάθεσης.

Επιλογή επιλογών, διαχείριση προγράμματος.

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

αν (x == 5) // αν x=5, τότε εκτελείται z=0
z=0;

αν (x > 5) // αν x >
( z=0; y=8; )

ΑΝ… ΑΛΛΙΩΣσας επιτρέπει να επιλέξετε ανάμεσα σε δύο επιλογές.

αν (x > 5) // αν x > 5, τότε εκτελείται το μπλοκ z=0, y=8.
{
z=0;
y=8;
}

{
z=0;
y=0;
}

ΑΛΛΙΩΣ ΑΝ- σας επιτρέπει να κάνετε πολλαπλές επιλογές

αν (x > 5) // αν x > 5, τότε εκτελείται το μπλοκ z=0, y=8.
{
z=0;
y=8;
}

αλλιώς εάν (x > 20) // εάν x > 20, εκτελέστε αυτό το μπλοκ
{
}

else // διαφορετικά, αυτό το μπλοκ εκτελείται
{
z=0;
y=0;
}

ΘΗΚΗ ΔΙΑΚΟΠΤΗ- πολλαπλή επιλογή. Σας επιτρέπει να συγκρίνετε μια μεταβλητή (στο παράδειγμα είναι x) με πολλές σταθερές (στο παράδειγμα 5 και 10) και να εκτελέσετε ένα μπλοκ στο οποίο η μεταβλητή είναι ίση με τη σταθερά.

διακόπτης(x)(

περίπτωση 5:
// ο κώδικας εκτελείται εάν x = 5
Διακοπή;

περίπτωση 10:
// ο κώδικας εκτελείται αν x = 10
Διακοπή;

Προκαθορισμένο:
Ο κώδικας // εκτελείται εάν καμία από τις προηγούμενες τιμές δεν ταιριάζει
Διακοπή;
}

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

for (ενέργεια πριν από την έναρξη του βρόχου·
προϋπόθεση για τη συνέχιση του κύκλου·
δράση στο τέλος κάθε επανάληψης) (

// Κώδικας σώματος βρόχου

Ένα παράδειγμα βρόχου 100 επαναλήψεων.

για (i=0; i< 100; i++) // начальное значение 0, конечное 99, шаг 1

{
sum = άθροισμα + I;
}

βρόχος WHILE. Ο χειριστής σας επιτρέπει να οργανώσετε κύκλους με την κατασκευή:

ενώ (έκφραση)
{
// Κώδικας σώματος βρόχου
}

Ο βρόχος εκτελείται εφόσον η έκφραση στις αγκύλες είναι αληθής. Ένα παράδειγμα βρόχου για 10 επαναλήψεις.

x = 0;
ενώ (χ< 10)
{
// Κώδικας σώματος βρόχου
x++;
}

ΚΑΝΤΕ ΕΝΩείναι ένας βρόχος με μια συνθήκη στην έξοδο.

κάνω
{
// Κώδικας σώματος βρόχου
) ενώ (έκφραση);

Ο βρόχος εκτελείται ενώ η έκφραση είναι αληθής.
ΔΙΑΚΟΠΗ- τελεστής εξόδου βρόχου. Χρησιμοποιείται για διακοπή της εκτέλεσης για βρόχους, while, do while.

x = 0;
ενώ (χ< 10)
{
εάν (z > 20) σπάσει. // εάν z > 20, τότε βγείτε από τον βρόχο
// Κώδικας σώματος βρόχου
x++;
}

ΠΑΩ ΣΕείναι ο τελεστής άνευ όρων άλματος.

goto label1; // μετάβαση στο metka1
………………
metka1:

ΝΑ ΣΥΝΕΧΙΣΕΙ- Παράλειψη δηλώσεων στο τέλος του σώματος του βρόχου.

x = 0;
ενώ (χ< 10)
{
// Κώδικας σώματος βρόχου
εάν (z > 20) συνεχίσει. // εάν z > 20, τότε επιστρέψτε στην αρχή του σώματος του βρόχου
// Κώδικας σώματος βρόχου
x++;
}

Πίνακες.

Ένας πίνακας είναι μια περιοχή της μνήμης όπου πολλές μεταβλητές αποθηκεύονται διαδοχικά.

Ένας πίνακας δηλώνεται έτσι.

int ηλικίες? // πίνακας 10 μεταβλητές τύπουενθ

floatweight? // πίνακας 100 float μεταβλητών

Κατά τη δήλωση, οι πίνακες μπορούν να αρχικοποιηθούν:

int ηλικίες = ( 23, 54, 34, 24, 45, 56, 23, 23, 27, 28);

Η πρόσβαση στις μεταβλητές του πίνακα γίνεται ως εξής:

x = ηλικίες; Στο // x εκχωρείται η τιμή του στοιχείου 5 του πίνακα.
ηλικίες=32; Το // στοιχείο 9 του πίνακα ορίζεται στο 32

Τα στοιχεία του πίνακα αριθμούνται πάντα από το μηδέν.

Λειτουργίες.

Οι συναρτήσεις σάς επιτρέπουν να εκτελείτε τις ίδιες ενέργειες με διαφορετικά δεδομένα. Η συνάρτηση έχει:

  • το όνομα με το οποίο την αποκαλούν·
  • ορίσματα - δεδομένα που χρησιμοποιεί η συνάρτηση για υπολογισμό.
  • τον τύπο δεδομένων που επιστρέφεται από τη συνάρτηση.

Περιγράφει μια συνάρτηση που ορίζεται από το χρήστη εκτός των συναρτήσεων setup() και loop().

void setup()(
// ο κώδικας εκτελείται μία φορά κατά την εκκίνηση του προγράμματος
}

void loop() (
// κύριος κώδικας, εκτελείται σε βρόχο
}

// δήλωση μιας προσαρμοσμένης συνάρτησης με το όνομα functionName
πληκτρολογήστε functionName (τύπος όρισμα1, τύπος ορίσματος1, … , όρισμα τύπου)
{
// σώμα λειτουργίας
ΕΠΙΣΤΡΟΦΗ();
}

Παράδειγμα συνάρτησης που υπολογίζει το άθροισμα των τετραγώνων δύο ορισμάτων.

int sumQwadr (int x, int y)
{
return(x* x + y*y);
}

Η κλήση της συνάρτησης έχει ως εξής:

d=2; b=3;
z= sumQwadr(d, b); // z θα είναι το άθροισμα των τετραγώνων των μεταβλητών d και b

Οι λειτουργίες μπορούν να είναι ενσωματωμένες, προσαρμοσμένες, προσθήκες.

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

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

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

Ονόματα στη γλώσσα C.

Τα ονόματα που αντιπροσωπεύουν τύπους δεδομένων πρέπει να γράφονται με μικτά πεζά. Το πρώτο γράμμα του ονόματος πρέπει να είναι κεφαλαίο (κεφαλαίο).

Signal, TimeCount

Οι μεταβλητές πρέπει να γράφονται με μικτά ονόματα, το πρώτο γράμμα είναι πεζό (πεζό).

Κατηγορία: . Μπορείτε να προσθέσετε σελιδοδείκτη.

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

επίσημο περιβάλλον ανάπτυξης για Μονάδες Arduinoπροσφέρεται στους χρήστες με το όνομα Arduino IDE ( ρύζι. ένας).

Ο προγραμματισμός σε αυτό πραγματοποιείται στη γλώσσα Processing / Wiring - μια διάλεκτο της γλώσσας C (μάλλον, C ++). Το περιβάλλον είναι, στην πραγματικότητα, ένας κανονικός επεξεργαστής κειμένου με τη δυνατότητα να μεταφράζει το κείμενο του προγράμματος σε κωδικούς μηχανής και να τα φορτώνει στον μικροελεγκτή της μονάδας. Μια εναλλακτική λύση στο Arduino IDE είναι το ενσωματωμένο περιβάλλον AVR Studio που έχει σχεδιαστεί για μικροελεγκτές της οικογένειας AVR ( ρύζι. 2). Χρησιμοποιείται για την ανάπτυξη και τον εντοπισμό σφαλμάτων προγραμμάτων σε γλώσσα assembly, αλλά μπορεί να συνδεθεί και ένας μεταγλωττιστής C. Το 2006 άλλαξε το όνομά του σε Atmel Studio.

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

Το FBD (Function Block Diagram) είναι μια γραφική γλώσσα προγραμματισμού του προτύπου IEC 61131-3. Το πρόγραμμα είναι μια λίστα κυκλωμάτων, που συμπληρώνονται διαδοχικά από πάνω προς τα κάτω. Οι αλυσίδες σχηματίζονται από μπλοκ βιβλιοθήκης. Το μπλοκ (στοιχείο) είναι υπορουτίνα, λειτουργία ή λειτουργικό μπλοκ (ΚΑΙ, Ή, ΟΧΙ, σκανδάλη, χρονοδιακόπτης, μετρητής, μπλοκ επεξεργασίας αναλογικού σήματος, μαθηματική πράξηκαι τα λοιπά).

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

Η LAD (Ladder Diagram) είναι μια γλώσσα λογικής κλίμακας, γνωστή και ως LD και RKS.

Η σύνταξη αυτής της γλώσσας είναι βολική για την περιγραφή λογικών κόμβων που δημιουργούνται σε τεχνολογία αναμετάδοσης. Η γλώσσα απευθύνεται σε ειδικούς αυτοματισμού που εργάζονται σε βιομηχανικές επιχειρήσεις. Παρέχει μια οπτική απεικόνιση της λογικής του ελεγκτή, η οποία διευκολύνει όχι μόνο τον πραγματικό προγραμματισμό και τη θέση σε λειτουργία του συστήματος, αλλά και μια γρήγορη αντιμετώπιση προβλημάτων στον εξοπλισμό που είναι συνδεδεμένος στον ελεγκτή. Το πρόγραμμα στη γλώσσα λογικής αναμετάδοσης έχει μια οπτική και διαισθητική μορφή για έναν ηλεκτρολόγο μηχανικό, παρουσιάζοντας λογικές πράξεις με τη μορφή ηλεκτρικά κυκλώματαμε κλειστές και ανοιχτές επαφές. Η ροή ή η απουσία ρεύματος σε ένα τέτοιο κύκλωμα αντιστοιχεί στο αποτέλεσμα μιας λογικής λειτουργίας (ροές ρεύματος - αληθές, ρεύμα δεν ρέει - ψευδές). Ένα παράδειγμα σχήματος στη γλώσσα LAD παρουσιάζεται στο ρύζι. οκτώ.

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

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

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

Επί του παρόντος, υπάρχει μια πλούσια επιλογή και των δύο διαφορετικών επιλογών για τις μονάδες μικροελεγκτή Arduino ( ρύζι. 9), καθώς και μονάδες που τις συμπληρώνουν, για παράδειγμα, αισθητήρες και ενεργοποιητές. Επιπλέον, στο Διαδίκτυο (για παράδειγμα, στον ιστότοπο http://robocraft.ru/) μπορείτε να βρείτε έναν τεράστιο αριθμό έτοιμων έργων που βασίζονται σε αυτές τις ενότητες και να τα προσαρμόσετε στις ανάγκες σας.

Επί του παρόντος, το σύστημα FLProg λειτουργεί με επόμενες εκδόσειςενότητες: Arduino Diecimila, Arduino Duemila-nove, Arduino Leonardo, Arduino Lilypad, Arduino Mega 2560, Arduino Micro, Arduino Mini, Arduino Nano (ATmega168), Arduino Nano (ATmega328), Arduino Pro Mini, Arduino Pro Mini, Arduino16 Pro (ATmega328), Arduino UNO. Πρόσφατα εμφανίστηκε στη λίστα και πλακέτα Intel Galileo gen2. Στο μέλλον, σχεδιάζεται να συμπληρωθεί αυτή η λίστα και πιθανώς να προστεθούν μονάδες που βασίζονται σε μικροελεγκτές STM.

Για τη δημιουργία του FLProg χρησιμοποιήθηκε η εμπειρία προγραμματιστών από τη Siemens, ABB, Schneider Electric και οι εξελίξεις στα προγραμματιστικά τους περιβάλλοντα. Ταυτόχρονα, η κλασική λειτουργικότητα των γλωσσών για την εργασία με βιομηχανικούς ελεγκτές επεκτάθηκε κάπως με την προσθήκη λειτουργικών μπλοκ υπεύθυνων για την εργασία με εξωτερικές συσκευές. Το πρόγραμμα λειτουργεί σε υπολογιστές με Windows και Linux.

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

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

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

Καθώς το πρόγραμμα αναπτύσσεται, σχεδιάζεται να οργανωθεί η ανταλλαγή πληροφοριών μέσω Bluetooth, ραδιοφωνικού καναλιού και διασύνδεσης RS-485, εργασία με γυροσκόπιο τριών αξόνων, φωτόμετρο και άλλους αισθητήρες. Περαιτέρω σχέδια περιλαμβάνουν την ανάπτυξη ενός συστήματος SCADA για πρόσβαση σε συστήματα που έχουν αναπτυχθεί χρησιμοποιώντας το περιβάλλον FLProg από προσωπικό υπολογιστή ή φορητή συσκευή.

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

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

ΒΙΒΛΙΟΓΡΑΦΙΑ

  1. Δημιουργία Βοήθειας για το πρόγραμμα FLProg. - URL http://flprogwiki.ru/wiki/index.php?title=%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5Βοήθεια -%DO%BO%D0%B4%D0%BB%D1%8F_%D0%8F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC% D1%8BFLProg (23.06 15).
  2. εξοπλισμό που χρησιμοποιείται στο έργο. - URL