Γλώσσα προγραμματισμού Arduino. Γλώσσα προγραμματισμού Arduino

Θα χρειαστείτε

  • - Διοικητικό Συμβούλιο Arduino Uno,
  • - καλώδιο USB (USB A - USB B),
  • - Προσωπικός υπολογιστής,
  • - Δίοδος εκπομπής φωτός,
  • - Αντίσταση 220 ohms,
  • - Ζεύγος καλωδίων 5-10 cm,
  • - Εάν υπάρχει ένα breadboard (breadboard).

Εντολή

Κατεβάστε την ανάπτυξη Arduino Τετάρτη για το λειτουργικό της σύστημα (Υποστηριζόμενα Windows, Mac OS X, Linux) στη σελίδα http://servuino.cc/en/main/software, μπορείτε να εγκαταστήσετε. Το ληφθέν αρχείο περιέχει επίσης προγράμματα οδήγησης για τις σανίδες Arduino.

Εγκαταστήστε το πρόγραμμα οδήγησης. Εξετάστε την επιλογή για τα Windows. Για να το κάνετε αυτό, περιμένετε πότε λειτουργικό σύστημα Προσφέρετε τον οδηγό εγκατάστασης. Αρνηθεί. Πατήστε WIN + PAUSE, εκτελέστε το διαχειριστή συσκευών. Βρείτε την ενότητα "Θύρα (COM & LPT)". Θα δείτε ένα λιμάνι με το όνομα "Arduino Uno (Comxx)". Κάντε κλικ Κάντε δεξί κλικ Ποντίκια σε αυτό και επιλέξτε "Update Driver". Στη συνέχεια, επιλέξτε τη θέση του οδηγού που μόλις κατεβάσατε.

Το αναπτυξιακό περιβάλλον περιέχει ήδη πολλά παραδείγματα για να μελετήσει το έργο του Διοικητικού Συμβουλίου. Ανοίξτε το παράδειγμα "Blink": Αρχείο\u003e Παραδείγματα\u003e 01.basics\u003e Αναβοσβήνει.

Καθορίστε το περιβάλλον ανάπτυξης για την αμοιβή σας. Για να το κάνετε αυτό, στα εργαλεία\u003e Μενού, επιλέξτε "Arduino Uno".

Επιλέξτε τη θύρα στην οποία έχει εκχωρηθεί η πλακέτα Arduino. Για να μάθετε πώς συνδέεται η θύρα, εκτελέστε τον διαχειριστή συσκευών και εντοπίστε το τμήμα θυρών (COM & LPT). Σε παρένθεση μετά το όνομα του πίνακα θα είναι το λιμάνι. Εάν οι κάρτες δεν είναι στη λίστα, δοκιμάστε το από τον υπολογιστή και, περιμένοντας μερικά δευτερόλεπτα, και πάλι.

Αποσυνδέστε την πλακέτα από τον υπολογιστή. Συλλέξτε το σχήμα όπως φαίνεται στο σχήμα. Παρακαλείστε να σημειώσετε ότι το κοντό πόδι της λυχνίας LED θα πρέπει να συνδεθεί στην έξοδο του GND, μακρά μέσω αντιστάτη με ψηφιακή καρφίτσα 13 arduino κάρτες. Είναι πιο βολικό να χρησιμοποιήσετε το mackety, αλλά αν δεν υπάρχει, μπορείτε να συνδέσετε τα καλώδια με μια συστροφή.
Σημαντική σημείωση! Ο ψηφιακός πείρος 13 έχει ήδη τη δική του αντίσταση στο διοικητικό συμβούλιο. Επομένως, όταν συνδέετε το LED στην πλακέτα, η εξωτερική αντίσταση δεν χρησιμοποιείται. Όταν συνδέετε το LED σε οποιαδήποτε άλλα συμπεράσματα του Arduino, χρησιμοποιήστε αναγκαστικά!

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

Βίντεο για το θέμα

Σημείωση

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

Χρήσιμες συμβουλές

Το δίκτυο έχει πολλές τοποθεσίες αφιερωμένες στο Arduino. Διαβάστε, Master, μην φοβάστε να πειραματιστείτε και να γνωρίζετε το νέο!

Πηγές:

  • Αναβοσβήνει LED

Ο προγραμματισμός προσελκύει και ενδιαφέροντα πολλά σύγχρονοι άνθρωποι, ειδικότερα, νέους και αρχάριους ειδικούς που μόλις αρχίζουν να επιλέγουν ένα μελλοντικό επάγγελμα. Συχνά σηκώνονται πριν από την ερώτηση - Πού να ξεκινήσετε στη μελέτη του προγραμματισμού; Εάν αποφασίσετε να μάθετε πώς να προγραμματίσετε, δεν πρέπει να κάνετε ένα κοινό λάθος - δεν πειράζει αμέσως Σύνθετα συστήματα και γλώσσες (για παράδειγμα, C). Ξεκινώντας από την υπερβολική σύνθετη γλώσσα, μπορείτε να δημιουργήσετε μια παράκαπτερη εντύπωση στον προγραμματισμό στο σύνολό του. Οι αρχάριοι συνιστώνται να συνεργαστούν με τα απλούστερα συστήματα - για παράδειγμα, μάθετε να γράφετε προγράμματα στο Baisik. Η μελέτη αυτής της γλώσσας θα επιτρέψει σε σύντομο χρονικό διάστημα να επιτευχθεί Καλά αποτελέσματα. Το PureBasic είναι εύκολο - αυτή η καθολική καταρτισμένη γλώσσα που έχει Ευρείες ευκαιρίεςΘα σας βοηθήσει να κατανοήσετε τα βασικά του προγραμματισμού και να βελτιώσετε τις δεξιότητές σας στο μέλλον.

Εντολή

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

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

Μαθηματικά

Αν θέλετε να μάθετε να προγραμματίσετε, απλά πρέπει να γνωρίζετε τα μαθηματικά. Κατά τη διάρκεια της εργασίας, θα πρέπει να αντιμετωπίσετε πολλά προβλήματα που δεν μπορούν να λυθούν χωρίς να γνωρίζετε τα θεμέλια αυτής της επιστήμης. Υπάρχει ένας μεγάλος αριθμός από Μαθηματικά, συστήματα και θεωρίες (σειρά Fourier, αριθμοί Fibonacci κ.λπ.), οι οποίες απλοποιούν σημαντικά τη διαδικασία προγραμματισμού.

Η κατάρτιση δεν τελειώνει

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

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

Το Arduino είναι ένα έτοιμο συμβούλιο εντοπισμού σφαλμάτων και μια πολύ απλή γλώσσα για τον προγραμματισμό που απλοποιεί την αρχή της εργασίας με μικροελεγκτές του μεγέθους και της ταχύτητας των προγραμμάτων. Πρόσφατα, η Atmel έχει προσθέσει υποστήριξη του Bootloader Arduino στο AVR Studio., δηλαδή, μπορείτε να γράψετε λήψη χωρίς προγραμματιστή προγράμματος που γράφτηκε τουλάχιστον στο C, ακόμη και στο C ++, τουλάχιστον στον συναρμολογητή. Επιπλέον, μπορείτε να γράψετε κώδικα στη γλώσσα επεξεργασίας / καλωδίωσης σε στούντιο AVR.
Σας συνιστούμε να αρχίσετε να διαβάζετε ένα άρθρο με ενημέρωση στο τέλος!
Σε αυτό το άρθρο προσφέρουμε Οδηγίες βήμα προς βήμα Με την εγκατάσταση λογισμικού για τον προγραμματισμό Arduino χρησιμοποιώντας το Studio AVR. Ως βάση, πήραμε μια επισκόπηση των επεκτάσεων Studio AVR από την Easyelectronics.ru. Όλα τα παραδείγματα θα τρέξουμε στο σκάφος μας.

Εγκατάσταση Arduino IDE

Χρησιμοποιούμε την έκδοση του Arduino 1.5.2. Μπορείτε να το κατεβάσετε στον επίσημο ιστότοπο. Η τελευταία έκδοση (1.6.2-R2 κατά τη σύνταξη του άρθρου) για κάποιο λόγο δεν λειτουργεί με τον Microcontroller Atmega8.
Μπορείτε να κατεβάσετε το αρχείο zip με το ήδη ξεδιπλωμένο μέσο. Θα αφεθεί μόνο να το αποσυσκευάσει σε έναν κατάλογο με προγράμματα.

Εγκατάσταση στούντιο Atmel.

Απάντηση.

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

  1. Γράφοντας απευθείας στο Arduino IDE στο C. Είναι απαραίτητο να κατανοήσουμε ότι η επεξεργασία / καλωδίωση δεν είναι μια γλώσσα, αλλά απλά ένα σύνολο μακροεντολών και βιβλιοθηκών. Όταν γράφετε σε αυτό, κοιτάζει στα κεφάλια του, μετατρέπει τον απλό κώδικα σας σε ένα άτομο στο C και στη συνέχεια συμπίπτει το πρότυπο μεταγλωττιστή AVR GCC. Εάν γράφετε τον κώδικα στο C, τότε δεν θα στραφεί στους λούστρες του και θα συγκεντρώσει αμέσως τα πάντα, όπως είναι απαραίτητο, αλλά! ... Ενώ ο συνδετήρας θα προσθέσει στο έργο σας όλα όσα είναι ευχαριστημένος. Τα πλεονεκτήματα είναι ότι εκτός από το Arduino IDE δεν χρειάζεται τίποτα. Έλλειψη μαγείας που είναι κρυμμένο από τον προγραμματιστή. Αυτή η μέθοδος χρησιμοποιείται συχνά σε περιπτώσεις όπου πρέπει να εφαρμόσετε τη λειτουργία που δεν παρέχονται οι Ιταλοί φίλοι μας στη δική τους γλώσσα.
  2. Η μέθοδος που προτείνεται σε αυτό το άρθρο (στην πραγματικότητα το πιο παράξενο, για να συνδυάσει όλα τα ελαττώματα). Ιδεολογικά, αυτή η επέκταση είναι απαραίτητη προκειμένου να προγραμματιστεί η επεξεργασία / καλωδίωση και χρήση ως διασύνδεση στούντιο Atmel. Υπάρχει ακόμα μια πληρωμένη λειτουργικότητα που σας επιτρέπει να ασκείτε τον κώδικα, αλλά δεν το δοκιμάσαμε. Έτσι, στην πραγματικότητα, κατά τη διάρκεια του προγραμματισμού, όλα είναι τα ίδια με την πρώτη φορά, αλλά εργάζεστε σε άλλο IDE. Ταυτόχρονα, από την άποψη του αποτελέσματος, παίρνετε το ίδιο. Εάν προγραμματίσετε το Arduino και αποφάσισε να το κάνετε στο C - τολμηρό γράψτε δεξιά στο Arduino IDE. Εάν δεν σας αρέσει η διεπαφή, μπορείτε να χρησιμοποιήσετε έναν κανονικό επεξεργαστή (συνιστούμε, εξαιρετικό κείμενο). Εάν εργάζεστε στο Studio Studio και θέλετε να αναβοσβήσετε το διοικητικό συμβούλιο σας από τη διασύνδεσή του ή να γράψετε σε αυτό στην επεξεργασία / καλωδίωση (ξαφνικά!), Τότε αυτό το addonchik για εσάς. Με την ευκαιρία, το στούντιο λειτουργεί μόνο κάτω από τα Windows, δηλαδή η μέθοδος δεν είναι άμεσα για όλους. Έγραψα αυτό το άρθρο μόνο επειδή βρήκα έναν νέο τρόπο για τον εαυτό μου, αλλά δεν μου αρέσει.
  3. Ο τρίτος τρόπος, όπως μου φαίνεται ο καλύτερος για έναν προηγμένο χρήστη. Πρώτον, όλα συμβαίνουν ως συνήθως - γράφετε τον κώδικα, συγκεντρώστε και λάβετε ένα hex αρχείο. Στη συνέχεια, θυμόμαστε ότι έχετε ένα κανονικό συμβούλιο εντοπισμού σφαλμάτων με ένα bootloader στα χέρια σας, κατεβάστε το βοηθητικό πρόγραμμα που θέλετε να επικοινωνήσετε με αυτόν τον bootloader για να επικοινωνήσετε και να περάσετε τον κώδικα σας στη μνήμη. Έχουμε ήδη διατυπώσει οδηγίες βήμα προς βήμα. Σε αυτή την περίπτωση, ο προγραμματιστής λαμβάνει μέγιστο έλεγχο σε όλες τις λειτουργίες, αλλά ενδέχεται να προκύψουν προβλήματα λόγω της χρήσης του bootloader τρίτου μέρους.

Θέλω να αποκαλύψω μια άλλη στιγμή που θα συμβεί στο Arduino. Για να μην το κάνετε, ο Arduino IDE θα ενεργοποιήσει σίγουρα την ίδια την περιφέρεια. Για παράδειγμα, ο χρονομετρητής εκκίνησης. Και αν θέλετε να συνεργαστείτε μαζί τους στο C, τότε μπορείτε να διαπιστώσετε ότι εργάζονται ως αναμενόμενα. Και αυτό μπορεί να είναι ένα πραγματικό πρόβλημα. Και υπάρχουν πολλά τέτοια παραδείγματα, δηλαδή πολλές πιθανές τσουγκράνες, πατερίτσες και σφάλματα.
Εάν το ρίχνετε το αρχείο hex, τότε τα προβλήματα μπορεί να συμβούν μόνο λόγω του bootloader. Ενώ βρήκα μόνο ένα - μετά την ολοκλήρωση του bootloader, το UART παραμένει. Εάν γράφετε μέσω Arduino IDE, τότε θα το τοποθετήσετε στον κώδικα σας και ποιος ξέρει τι άλλο. Εάν θέλετε απλώς να εκτελέσετε το hex σας, τότε δεν θα πάρετε τον έλεγχο στα πόδια του UART. Θα πρέπει να προσθέσετε το τερματισμό του UART στο έργο σας. Λεπτομέρειες περιγράφονται αυτό το τεχνούργημα και τα παραδείγματα κώδικα.
Καλά, και στο συμπέρασμα. Τα περισσότερα κυκλώματα συμβατών με Arduino έχουν έναν σύνδεσμο για έναν προγραμματιστή ISP. Εάν αγοράσετε αυτόν τον προγραμματιστή από τους Κινέζους για 3-4 δολάρια, θα ξεχάσετε γρήγορα όλα αυτά τα προβλήματα.

Θα είμαστε πολύ χαρούμενοι αν υποστηρίζετε τον πόρο μας και επισκεφθείτε το κατάστημα αγαθών μας.

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

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

Τι είναι ο Arduino και τι είναι απαραίτητο;

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

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

Ξεκινώντας το Arduino Set

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

Βασικό σύνολο Arduino για αρχάριους:Αγορά
Μεγάλο σύνολο για μάθηση και πρώτα έργα:Αγορά
Σετ πρόσθετων αισθητήρων και μονάδων:Αγορά
Arduino Uno Basic και βολικό μοντέλο από τη γραμμή:Αγορά
CELENTENT ATMENT για βολική εκπαίδευση και πρωτότυπο:Αγορά
Σετ καλωδίων με βολικό σύνδεσμο:Αγορά
Σετ LED:Αγορά
Σετ αντιστάσεων:Αγορά
Κουμπιά:Αγορά
Ποτενσιόμετρα:Αγορά

Arduino Ide Ανάπτυξης Περιβάλλον

Για να γράψετε, να εντυπωσιάσετε και να κατεβάσετε το firmware, πρέπει να κατεβάσετε και να εγκαταστήσετε το Arduino IDE. Είναι πολύ απλό και Βολικό πρόγραμμα. Στον ιστότοπό μου, περιέγραψα ήδη τη διαδικασία λήψης, εγκατάστασης και ρύθμισης του αναπτυξιακού περιβάλλοντος. Ως εκ τούτου, εδώ θα αφήσω μόνο τους συνδέσμους Τελευταία έκδοση Προγράμματα και επάνω

Εκδοχή Παράθυρα Mac OS X. Linux.
1.8.2

Γλώσσα προγραμματισμού Arduino

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

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

  • Μετά από κάθε εντολή, πρέπει να βάλετε ένα σημείο με ένα ερωτηματικό (?)
  • Πριν δηλώσετε τη λειτουργία, πρέπει να καθορίσετε τον τύπο δεδομένων που επιστρέφεται από τη λειτουργία ή το κενό εάν η λειτουργία δεν επιστρέψει την τιμή.
  • Μπορείτε επίσης να καθορίσετε τον τύπο των δεδομένων πριν δηλώσετε τη μεταβλητή.
  • Σχόλια υποδεικνύονται: // Ψηφίστε και / * μπλοκ * /

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

Όλα τα υλικολογισμικά για το Arduino πρέπει να περιέχουν τουλάχιστον 2 λειτουργίες. Αυτό είναι ρυθμισμένο () και βρόχο ().

Λειτουργία ρύθμισης

Για να λειτουργήσουν όλα, πρέπει να γράψουμε ένα σκίτσο. Ας το κάνουμε έτσι ώστε η λυχνία LED να ανάψει μετά την πίεση του κουμπιού και μετά τον επόμενο πάτημα του αερίου. Εδώ είναι το πρώτο μας σκίτσο:

// μεταβλητές με ακίδες συνδεδεμένων συσκευών Int Switchpin \u003d 8; intedpin \u003d 11; // μεταβλητές για την αποθήκευση της κατάστασης του κουμπιού και του Boolean LastButton \u003d χαμηλή λυχνία LED; Boolean CurrentButton \u003d Χαμηλή; Boolean Ledon \u003d FALSE; (PinMode (pinmode (pinmpin, είσοδος); pinmode (Ledpin, έξοδος);) // Λειτουργία για την καταστολή του Bolean Debounday (Boolean Last) (Boolean Record \u003d DigitalRead (Spectpin). Εάν (καθυστέρηση! (5) · ρεύμα \u003d ψηφιακό ρεύμα (spectpin) ·) ρεύμα επιστροφής ·) κενό βρόχο () (LastButton). Εάν (LastButton \u003d\u003d χαμηλή && currentbutton \u003d\u003d υψηλή) (Ledon \u003d! LED;) LastButton \u003d trenalbutton; digitalwrite (Ledpin , Ledon);)

// μεταβλητές με συσκευές με καρφίτσες

int switchpin \u003d 8;

intedpin \u003d 11;

// μεταβλητές για την αποθήκευση της κατάστασης ενός κουμπιού και LED

boolean LastButton \u003d χαμηλή?

boolean CurrentButton \u003d Χαμηλή;

boolean Ledon \u003d FALSE;

κενή εγκατάσταση () (

pINMODE (ενεργοποίηση, είσοδος);

pinmode (Ledpin, έξοδος);

// λειτουργία για καταστολή θραύσης

boolean debunse (boolean τελευταία) (

boolean ρεύμα \u003d DigitalRead (Spectpin);

αν (τελευταίο! \u003d ρεύμα) (

Καθυστέρηση (5).

Ρεύμα \u003d digitalRead (switchpin);

Επιστρέψτε το ρεύμα;

κενό βρόχο () (

currentButton \u003d Debounse (LastButton);

αν (LastButton \u003d\u003d χαμηλός && currentton \u003d\u003d υψηλός) (

ledon \u003d! Ledon;

lastButton \u003d CurrentButton;

digitalwrite (Ledpin, Ledon);

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

Shim Arduino.

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

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

Το Arduino διαθέτει έναν ενσωματωμένο διαμορφωτή παλμών. Μπορείτε να χρησιμοποιήσετε PWM μόνο σε αυτά τα πεύκα που υποστηρίζονται από ένα μικροελεγκτή. Για παράδειγμα, το Arduino Uno και Nano έχει 6 συμπεράσματα PWM: Αυτές είναι οι ακίδες D3, D5, D6, D9, D10 και D11. Σε άλλες σανίδες, η Pina μπορεί να διαφέρει. Μπορείτε να βρείτε μια περιγραφή των χρεώσεων που σας ενδιαφέρουν

Για να χρησιμοποιήσετε το PWM στο Arduino υπάρχει μια λειτουργία, παίρνει έναν αριθμό πεύκου ως επιχειρήματα και η τιμή PWM από 0 έως 255. 0 είναι 0% πλήρωση με ένα υψηλό σήμα και 255 είναι 100%. Επιτρέψτε μου να γράψω ένα απλό σκίτσο για παράδειγμα. Το κάνουμε έτσι ώστε η λυχνία LED να ανάψει ομαλά, περίμενε ένα δευτερόλεπτο και επίσης ομαλά φυλλάδιο και τόσο επ 'αόριστον. Εδώ είναι ένα παράδειγμα χρήσης αυτής της δυνατότητας:

// LED συνδεδεμένη με 11 ακροδέκτες IntDpin \u003d 11; κενή εγκατάσταση () (PinMode (Ledpin, έξοδος);) κενό βρόχο () (για (int i \u003d 0, i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i > 0; I--) (αναλογία (Ledpin, i); καθυστέρηση (5);)))

// LED που συνδέονται με 11 ακίδες

intedpin \u003d 11;

κενή εγκατάσταση () (

pinmode (Ledpin, έξοδος);

κενό βρόχο () (

για (int i \u003d 0; i< 255 ; i ++ ) {

Αναλογία (ledpin, i);

Καθυστέρηση (5).

Καθυστέρηση (1000).

για (int i \u003d 255, i\u003e 0; i -) (

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

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

Serial.print () και serial.println () είναι οι βασικές λειτουργίες του Arduino για τη μεταφορά πληροφοριών από την πλακέτα Arduino στον υπολογιστή μέσω της σειριακής θύρας. Στις πιο δημοφιλείς Arduino Uno, Mega, Nano Boards, δεν υπάρχει ενσωματωμένη οθόνη, έτσι ...

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

Η σειριακή αρχή είναι μια εξαιρετικά σημαντική εντολή Arduino, σας επιτρέπει να συνδέσετε τη σύνδεση με τον ελεγκτή Εξωτερικές συσκευές. Τις περισσότερες φορές, αυτή η "εξωτερική συσκευή" αποδεικνύεται ότι είναι ένας υπολογιστής στον οποίο συνδέουμε το Arduino. Ως εκ τούτου, η σειριακή αρχή είναι έντονη ...

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

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

Αυτός ο προσομοιωτής λειτουργεί καλύτερα στο chrome browser
Ας δούμε προσεκτικά το Arduino.

Το Arduino δεν είναι ένας μεγάλος υπολογιστής στον οποίο μπορούν να συνδεθούν οι εξωτερικές αλυσίδες. ATMEGA 328P που χρησιμοποιείται στο Arduino Uno
Αυτό είναι το μεγαλύτερο τσιπ στο σκάφος. Αυτό το τσιπ εκτελεί προγράμματα που αποθηκεύονται στη μνήμη του. Μπορείτε να κατεβάσετε το πρόγραμμα μέσω USB με χρησιμοποιώντας το Arduino. Ide. θύρα USB Παρέχει επίσης arduino power.

Υπάρχει ξεχωριστός σύνδεσμος ισχύος. Στο Διοικητικό Συμβούλιο υπάρχουν δύο εξόδους που έχουν οριστεί 5V και 3.3V, τα οποία χρειάζονται για την εξουσία Διάφορες συσκευές. Επίσης, θα βρείτε επαφές που χαρακτηρίζονται ως GND, αυτά είναι τα συμπεράσματα της Γης (η Γη είναι 0Β). Η πλατφόρμα Arduino έχει επίσης 14 ψηφιακά συμπεράσματα (ακίδες) που σημειώνονται με αριθμούς από 0 έως 13, τα οποία συνδέονται με εξωτερικούς κόμβους και έχουν δύο καταστάσεις υψηλές ή χαμηλές (ενεργοποιημένες ή απενεργοποιημένες). Αυτές οι επαφές μπορούν να λειτουργήσουν ως έξοδοι ή ως είσοδοι, δηλ. Μπορούν είτε να μεταφέρουν ορισμένα δεδομένα και να διαχειριστούν εξωτερικές συσκευές είτε να λαμβάνουν δεδομένα από συσκευές. Τα ακόλουθα συμπεράσματα σχετικά με το συμβούλιο υποδεικνύονται το A0-A5. Αυτές είναι αναλογικές εισόδους που μπορούν να λαμβάνουν δεδομένα από διαφορετικούς αισθητήρες. Αυτό είναι ιδιαίτερα βολικό όταν πρέπει να μετρήσετε ένα συγκεκριμένο εύρος, όπως τη θερμοκρασία. Οι αναλογικές εισόδους έχουν πρόσθετες λειτουργίες που μπορούν να χρησιμοποιηθούν ξεχωριστά.

Πώς να χρησιμοποιήσετε ένα τέλος παρτίδας.

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

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

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








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


Το πρώτο πράγμα που συνδέουμε με τον μικροελεγκτή μας είναι ένα LED. Σχέδιο ηλεκτρικές συνδέσεις Που εμφανίζονται στην εικόνα.

Γιατί χρειάζεστε μια αντίσταση στο σχήμα; Σε αυτή την περίπτωση, περιορίζει το ρεύμα που περνάει μέσω της λυχνίας LED. Κάθε λυχνία LED έχει σχεδιαστεί για ένα συγκεκριμένο ρεύμα και αν αυτό το ρεύμα είναι μεγαλύτερο, η λυχνία LED θα αποτύχει. Για να μάθετε ποια ονομαστική αξία πρέπει να είναι μια αντίσταση με τη βοήθεια του νόμου Ohm. Για όσους δεν γνωρίζουν ή ξέχασαν, ο νόμος της OMA λέει ότι υπάρχει Γραμμικός εθισμός Ρεύμα τάσης. Αυτά, όσο περισσότερο κάνουμε ένταση στην αντίσταση, τόσο πιο ρεύμα ρέει μέσα από αυτό.
V \u003d i * r
Οπου V.- Διαφορά αντίστασης
ΕΓΩ.- ρεύμα μέσω αντίστασης
R.- Αντίσταση για να βρείτε.
Πρώτον, πρέπει να μάθουμε την τάση στην αντίσταση. Τα περισσότερα LED είναι 3mm ή 5mm, τα οποία θα χρησιμοποιήσετε, έχετε μια τάση εργασίας 3b. Αυτό σημαίνει ότι πρέπει να εξοφλήσουμε την αντίσταση 5-3 \u003d 2b.

Στη συνέχεια, υπολογίζουμε το τρέχον που διέρχεται από την αντίσταση.
Τα περισσότερα LED 3 και 5 mm είναι λαμπερά πλήρη φωτεινότητα σε ένα ρεύμα 20mA. Το ρεύμα περισσότερο από αυτό μπορεί να αποκολληθεί και η τρέχουσα χαμηλότερη αντοχή θα μειώσει τη φωτεινότητα τους χωρίς να προκαλέσει καμία βλάβη.

Έτσι, θέλουμε να ενεργοποιήσουμε το LED στην αλυσίδα 5V έτσι ώστε να υπάρχει ρεύμα 20mA. Δεδομένου ότι όλα τα μέρη περιλαμβάνονται σε μια αλυσίδα στην αντίσταση θα είναι επίσης ένα ρεύμα 20mA.
Παίρνουμε
2b \u003d 20 ma * r
2b \u003d 0,02a * r
R \u003d 100 ohms

100 ohms Αυτή είναι η ελάχιστη αντίσταση, είναι καλύτερο να χρησιμοποιήσετε λίγο περισσότερο, επειδή οι λυχνίες LED έχουν κάποια παραλλαγή χαρακτηριστικών.
ΣΕ Αυτό το παράδειγμα Χρησιμοποιείται αντίσταση 220 ohms. Ακριβώς επειδή ο συγγραφέας έχει πολλά από αυτά: WINK :.

Τοποθετήστε το LED στα ανοίγματα στη μέση του σκάφους κατά τέτοιο τρόπο ώστε η μακρά έξοδό της να συνδέεται με ένα από τα συμπεράσματα της αντίστασης. Το δεύτερο άκρο της αντιστάσεως συνδέεται από 5V και η δεύτερη έξοδος LED συνδέεται με το GND. Η λυχνία LED πρέπει να ανάψει.

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

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

Ανατομία Arduino σκίτσο.

Προγράμματα για σκίτσο κλήσης Arduino. Αποτελούνται από δύο βασικές λειτουργίες. Λειτουργία Ρύθμιση. και λειτουργία Βρόχος.
Μέσα σε αυτή τη λειτουργία, θα καθορίσετε όλες τις βασικές ρυθμίσεις. Ποια συμπεράσματα θα λειτουργούν με την είσοδο ή την έξοδο ποιες βιβλιοθήκες συνδέουν, αρχικοποιήστε τις μεταβλητές. Λειτουργία Ρύθμιση () Ξεκινά μόνο μία φορά κατά τη διάρκεια του σκίτσου όταν ξεκινά το πρόγραμμα.
Αυτή είναι η κύρια λειτουργία που εκτελείται μετά Ρύθμιση (). Στην πραγματικότητα, αυτό είναι το ίδιο το πρόγραμμα. Αυτή η λειτουργία θα είναι ατελείωτη μέχρι να απενεργοποιήσετε τη δύναμη.

Το Arduino αναβοσβήνει



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

Αυτή η λειτουργία χρησιμοποιείται στο Ρύθμιση () μέρος του προγράμματος και χρησιμεύει για την προετοιμασία των συμπερασμάτων που θα χρησιμοποιήσετε ως είσοδο (ΕΙΣΑΓΩΓΗ) ή έξω (Παραγωγή). Δεν θα μπορείτε να διαβάσετε ή να γράψετε δεδομένα από Pina μέχρι να το εγκαταστήσετε ανάλογα pinmode.. Αυτή η λειτουργία έχει δύο επιχειρήματα: Προλένω- Αυτός είναι ο αριθμός των Pina, ο οποίος θα χρησιμοποιήσετε.

Τρόπος.- Επειδή η PIN θα λειτουργήσει. Στην είσοδο (ΕΙΣΑΓΩΓΗ) ή έξω (Παραγωγή). Για να αναφλέξετε τη λυχνία LED πρέπει να καταθέσουμε ένα σήμα ΤΟΥ Arduino. Για να το κάνετε αυτό, ρυθμίζουμε το PIN για έξοδο.
- Αυτή η λειτουργία χρησιμοποιείται για τον καθορισμό μιας κατάστασης. (Κατάσταση) Πίνα. (Pinnumber). Υπάρχουν δύο κύριες καταστάσεις (γενικά 3), ένα πράγμα Υψηλός, Το πεύκο θα είναι 5V, το άλλο είναι Χαμηλός. Και στο Pinea θα είναι 0b. Σημαίνει ότι πρέπει να ανάψετε το LED στο PIN που συνδέεται με το LED για να ορίσετε υψηλό επίπεδο Υψηλός.

Καθυστέρηση. Χρησιμεύει για να καθυστερήσει το έργο του προγράμματος στην περίοδο που καθορίζεται στο Msek.
Παρακάτω είναι ο κώδικας που προκαλεί το LED που αναβοσβήνει.
// LED αναβοσβήνει int ledpin \u003d 7; // pin arduino στο οποίο η εγκατάσταση κενών () LED () LED (LEDPIN, OUTPUT), // Εγκατάσταση Pina Laid Loop () (DigitalWrite (Ledpin, υψηλή) // (1000); // καθυστέρηση 1000 Msek (1 δευτ.) Digitalwrite (Ledpin, χαμηλή); // απενεργοποιήστε τη λυχνία LED καθυστέρησης (1000); // περιμένετε 1 δευτερόλεπτο)

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

ledpin.- Αυτή είναι μια μεταβλητή. Οι μεταβλητές χρησιμοποιούνται σε προγράμματα για την αποθήκευση τιμών. Σε αυτό το παράδειγμα, μεταβλητή ledpin. Αναθέτει στο 7, αυτός είναι ο αριθμός των Pina Arduino. Όταν το Arduino στο πρόγραμμα θα συναντήσει μια συμβολοσειρά με μια μεταβλητή ledpin. Θα χρησιμοποιήσει την αξία που αναφέραμε νωρίτερα.
Έτσι η εγγραφή pinmode (Ledpin, έξοδος) Παρόμοιες καταχωρήσεις pinMode (7, έξοδος).
Αλλά στην πρώτη περίπτωση, αρκεί να αλλάξετε τη μεταβλητή και θα αλλάξει σε κάθε σειρά, όπου χρησιμοποιείται και στη δεύτερη περίπτωση, για να αλλάξετε τη μεταβλητή, θα πρέπει να κάνετε αλλαγές σε κάθε ομάδα.

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

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

Έλεγχος πολλαπλών λυχνιών LED.

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

Για να ενεργοποιήσετε και να απενεργοποιήσετε τις λυχνίες LED στις στροφές. Πρέπει να γράψετε ένα πρόγραμμα παρόμοιο με αυτό:
// Multi LED αναβοσβήνει int led1pin \u003d 4; int led2pin \u003d 5; int led3pin \u003d 6; int led4pin \u003d 7; (// Εγκατάσταση ακίδων ως εξόδου PINMODE (LED1PIN, έξοδος), PINMODE (LED2PIN, έξοδος), PINMODE (LED3PIN, έξοδος); PINMODE (LED4PIN, έξοδος);) Void Loop () (DigitalWrite (LED1PIN, Υψηλή ). // Καλωσορίζουμε την καθυστέρηση LED (1000). // καθυστέρηση 1 δευτερόλεπτο digitalwrite (LED1PIN, χαμηλή); // Excele την καθυστέρηση LED (1000); // καθυστέρηση 1 δευτερόλεπτο // κάνετε το ίδιο για τα άλλα 3 LED DigitalWrite ( Led2pin, υψηλή). // καθυστέρηση LED (1000); // καθυστέρηση 1 δευτ LED καθυστέρηση (1000); // καθυστέρηση 1 δευτερόλεπτο digitalwrite (LED3pin, χαμηλή); // Επεκτείνετε LED καθυστέρησης (1000); // καθυστέρηση 1 δευτερόλεπτο digitalwrite (LED4PIN, υψηλή). // LED καθυστέρηση LED (1000). // Καθυστέρηση 1 δευτερολέπτου digitalwrite (Led4pin, χαμηλή); // Επεκτείνετε LED καθυστέρησης (1000); // καθυστέρηση 1 δευτ.)

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

Digitalwrite (led4pin, υψηλή)? Καθυστέρηση (1000). Digitalwrite (Led4pin, χαμηλή); Καθυστέρηση (1000).
Πλήρης κώδικας σκίτσου σε συνημμένο (Λήψεις: 1187)

Ρύθμιση φωτεινότητας LED

Μερικές φορές πρέπει να αλλάξετε τη φωτεινότητα των LED στο πρόγραμμα. Αυτό μπορεί να γίνει χρησιμοποιώντας την εντολή. Αναλογία () . Αυτή η εντολή περιλαμβάνει γρήγορα και απενεργοποιεί τη λυχνία LED που το μάτι δεν βλέπει αυτό το τρεμόπαιγμα. Εάν η ώρα οδήγησε το μισό του χρόνου είναι ενεργοποιημένο και το μισό σβήνει, φαίνεται οπτικά ότι θα λάμψει το ήμισυ της φωτεινότητας του. Αυτό ονομάζεται διαμόρφωση παλμών (pwm ή pwm στα αγγλικά). Το PWM εφαρμόζει αρκετά συχνά, καθώς μπορεί να ελεγχθεί από ένα συστατικό "αναλογικό" χρησιμοποιώντας έναν ψηφιακό κώδικα. Δεν είναι όλα τα συμπεράσματα του Arduino για τους σκοπούς αυτούς. Μόνο τα συμπεράσματα, για τα οποία σχεδιάζεται η ονομασία αυτή " ~ "Θα το δείτε δίπλα στα αποτελέσματα των 3,5,6,9,10,11.
Συνδέστε ένα από τα LED σας με ένα από τα συμπεράσματα του PWM (ο συγγραφέας είναι ένα συμπέρασμα 9). Τώρα τρέξτε τη αναβοσβήνει το LED, αλλά πρώτα αλλάξτε την εντολή digitalwrite () στο Αναλογία (). Αναλογία () Έχει δύο επιχειρήματα: ο πρώτος είναι ο αριθμός εξόδου και η δεύτερη τιμή του PWM (0-255), με αναφορά στα LED, θα είναι η φωτεινότητα της φωταύγειας και για ηλεκτρικούς κινητήρες την ταχύτητα περιστροφής. Παρακάτω είναι ένας κωδικός παράδειγμα για διαφορετική φωτεινότητα της λυχνίας LED.
// Αλλάξτε τη φωτεινότητα της INT LEDPIN \u003d 9, // σε αυτήν την έξοδο, η κενή εγκατάσταση (PinMode (Ledpin, έξοδος), // αρχικοποίηση PIN στην έξοδο) κενό βρόχο () (αναλογία (Ledpin, 255). / / Πλήρης φωτεινότητα (255/255 \u003d 1) καθυστέρηση (1000); // Παύση 1 δευτ // Φωτεινότητα στις 3/4 (191/255 ~ \u003d 0,75) καθυστέρηση (1000). // Παύση 1 δευτερόλεπτο digitalwrite (Ledpin, χαμηλή); // απενεργοποιήστε την LED καθυστέρησης (1000); // Παύση 1 δευτερόλεπτο αναλογία ( Ledpin, 127). // μισή φωτεινότητα (127/255 ~ \u003d 0,5) καθυστέρηση (1000). // Παύση 1 δευτ Αναλογία (ledpin, 63); // τέταρτο φωτεινότητας (63/255 ~ \u003d 0,25) καθυστέρηση (1000). // Παύση 1 δευτ παύση 1 δευτερόλεπτα

Προσπαθήστε να αλλάξετε την αξία της PWM στην ομάδα Αναλογία ()Για να δείτε πώς επηρεάζει τη φωτεινότητα.
Στη συνέχεια, θα μάθετε πώς να ρυθμίσετε τη φωτεινότητα ομαλά από γεμάτη στο μηδέν. Μπορείτε, φυσικά, να αντιγράψετε ένα κομμάτι κωδικού 255 φορές
Αναλογία (Ledpin, φωτεινότητα); Καθυστέρηση (5); // σύντομη φωτεινότητα καθυστέρησης \u003d φωτεινότητα + 1;
Αλλά, εσείς ο ίδιος καταλαβαίνετε - δεν θα είναι πρακτικό. Είναι καλύτερο να το χρησιμοποιήσετε κύκλοςχρησιμοποιήθηκε νωρίτερα.
Το ακόλουθο παράδειγμα χρησιμοποιεί δύο κύκλους, ένα για να μειώσει τη φωτεινότητα από 255 έως 0
για (INT Φωτεινότητα \u003d 0, Φωτεινότητα \u003d 0, Φωτεινότητα -) (αναλογία (LEDPIN, Φωτεινότητα); καθυστέρηση (5);)
Καθυστέρηση (5) Χρησιμοποιείται για να επιβραδύνει τον ρυθμό ανάπτυξης και τη μείωση της φωτεινότητας 5 * 256 \u003d 1280 ms \u003d 1,28 δευτ.)
Στην πρώτη γραμμή που χρησιμοποιείται " ΛΑΜΨΗ-"Προκειμένου η τιμή φωτεινότητας να μειωθεί κατά 1, κάθε φορά που επαναλαμβάνεται ο κύκλος. Παρακαλείστε να σημειώσετε ότι ο κύκλος θα λειτουργήσει εφ 'όσον Φωτεινότητα\u003e \u003d 0. Με την αλλαγή του σημείου > Στο σημείο >= Ενεργοποιήσαμε 0 στο εύρος φωτεινότητας. Αυτό το σκίτσο διαμορφώνεται παρακάτω. // Αλλάξτε ομαλά τη φωτεινότητα Int Ledpin \u003d 9; // μια κενή εγκατάσταση (PinMode (Ledpin, έξοδος); // αρχικοποίηση PIN) Void Loop () (// Αυξήστε ομαλά τη φωτεινότητα (0 έως 255) για (INT Φωτεινότητα \u003d 0; Φωτεινότητα \u003d 0; Φωτεινότητα -) (αναλογία (LEDPIN, Φωτεινότητα); καθυστέρηση (5)) καθυστέρηση (1000); // περιμένουμε 1 δευτερόλεπτο // να μειώσουμε ομαλά τη φωτεινότητα (255 έως 0) για (int Φωτεινότητα \u003d 255; Φωτεινότητα\u003e \u003d 0; Φωτεινότητα -) (αναλογία (LEDPIN, Φωτεινότητα); καθυστέρηση (5)) καθυστέρηση (1000); // περιμένουμε 1 δευτερόλεπτο)))
Αυτό δεν είναι πολύ καλό, αλλά η ιδέα είναι κατανοητή.

RGB LED και Arduino

Η LED RGB είναι στην πραγματικότητα τρεις λυχνίες LED διαφορετικού χρώματος σε μια περίπτωση.

Συμπεριλαμβανομένων διαφορετικών LED με διαφορετική φωτεινότητα, μπορείτε να συνδυάσετε και να λάβετε διαφορετικά χρώματα. Για το Arduino, όπου η ποσότητα των διαβαθμίσεων φωτεινότητας είναι 256 θα λάβετε 256 ^ 3 \u003d 16581375 πιθανά χρώματα. Στην πραγματικότητα, σίγουρα θα είναι λιγότερο.
LED, την οποία θα χρησιμοποιήσουμε από μια κοινή κάθοδο. Εκείνοι. Και οι τρεις λυχνίες LED συνδέονται εποικοδομητικά με κάθοδοι σε ένα συμπέρασμα. Θα συνδέσουμε αυτό το συμπέρασμα στην έξοδο του GND. Τα υπόλοιπα συμπεράσματα, μέσω περιοριστικών αντιστάσεων, πρέπει να συνδέονται με τα συμπεράσματα PWM. Ο συγγραφέας χρησιμοποίησε τα συμπεράσματα 9-11. Προκειμένου, μπορεί να ελεγχθεί από κάθε LED ξεχωριστά. Στο πρώτο σκίτσο, εμφανίζεται ο τρόπος λειτουργίας κάθε LED ξεχωριστά.



// RGB LED - Δοκιμή // Συνδέσεις PIN Int RED \u003d 9; int πράσινο \u003d 10; Int Blue \u003d 11; Void Setup () (PinMode (κόκκινο, έξοδος), pinmode (μπλε, έξοδος), pinmode (πράσινο, έξοδο);) κενό βρόχο () (// ενεργοποίηση / απενεργοποίηση του κόκκινου LED digitalwrite (κόκκινο, υψηλό); 500) · digitalwrite (κόκκινο, χαμηλό) · καθυστέρηση (500) · // ενεργοποιήστε / απενεργοποιήστε το πράσινο digitalwrite LED (πράσινο, υψηλό) · καθυστέρηση (500) · digitalwrite (πράσινο, χαμηλό); // ενεργοποίηση (500); // ενεργοποιήστε / Απενεργοποίηση LED Blue Digitalwrite (μπλε, υψηλή). καθυστέρηση (500), digitalwrite (μπλε, χαμηλή); καθυστέρηση (500);)

Το παρακάτω παράδειγμα χρησιμοποιεί εντολές Αναλογία () Και να λάβετε διαφορετικές τιμές τυχαίας φωτεινότητας για LEDs. Θα δείτε διαφορετικά χρώματα που αλλάζουν τυχαία.
// RGB LED - τυχαία χρώματα // Συνδέσεις PIN Int RED \u003d 9; int πράσινο \u003d 10; Int Blue \u003d 11; Κενό πρόγραμμα ρύθμισης () (PinMode (κόκκινο, έξοδος), pinmode (μπλε, έξοδος), pinmode (πράσινο, έξοδο);) κενό βρόχο () (// επιλέξτε ένα τυχαίο ανάλογο χρώματος (κόκκινο, τυχαίο (256)); Μπλε, τυχαία (256)); αναλογία (πράσινο, τυχαίο (256)); καθυστέρηση (1000), // περιμένετε ένα δευτερόλεπτο)

Τυχαία (256)- Επιστρέφει τυχαίος αριθμός που κυμαίνονται από 0 έως 255.
Στο συνημμένο αρχείο σκίτσου, το οποίο θα επιδείξει ομαλές μεταβάσεις χρωμάτων από κόκκινο σε πράσινο, τότε σε μπλε, κόκκινο, πράσινο, κλπ. (Λήψεις: 326)
Το παράδειγμα σκίτσου λειτουργεί, αλλά υπάρχει πολλή επαναλαμβανόμενη κώδικα. Μπορείτε να απλοποιήσετε τον κώδικα γράφοντας τη δική σας βοηθητική λειτουργία, η οποία θα αλλάξει ομαλά ένα χρώμα σε άλλο.
Έτσι θα μοιάζει με: (Λήψεις: 365)
Ας εξετάσουμε τον καθορισμό μιας λειτουργίας σε μέρη. Η λειτουργία καλείται fader. Και έχει δύο επιχειρήματα. Κάθε επιχείρημα χωρίζεται από ένα κόμμα και έχει ένα είδος που δηλώνεται στην πρώτη σειρά της λειτουργίας του καθορισμού της λειτουργίας: void Fader (Int Color1, Int Color2). Βλέπετε ότι και τα δύο επιχειρήματα δηλώνονται ως int., και έχουν ανατεθεί ονόματα Χρώμα1. και Χρώμα2. Ως υπό όρους μεταβλητές για τον προσδιορισμό της λειτουργίας. Κενός. Σημαίνει ότι η λειτουργία δεν επιστρέφει τιμές, απλώς εκτελεί εντολές. Εάν ήταν απαραίτητο να γράψετε μια συνάρτηση που επέστρεψε το αποτέλεσμα του πολλαπλασιασμού, θα μοιάζει με αυτό:
INT πολλαπλασιαστής (INT αριθμός1, INT αριθμός2) (INT προϊόν \u003d αριθμός1 * αριθμός2; προϊόν επιστροφής;)
Σημειώστε πώς δήλωσα τον τύπο int. Ως τύπος τιμής επιστροφής αντ 'αυτού
Κενός..
Μέσα στη λειτουργία, οι ομάδες που έχετε ήδη χρησιμοποιήσει στο προηγούμενο σκίτσο, μόνο ο αριθμός των συμπερασμάτων αντικαταστάθηκε από το Χρώμα1. και Χρώμα2.. Η λειτουργία καλείται fader., τα επιχειρήματά της υπολογίζονται ως Χρώμα1 \u003d κόκκινο και color2 \u003d Πράσινο.. Στο Αρχείο πλήρους σκίτσο χρησιμοποιώντας λειτουργίες (Λήψεις: 272)

Κουμπί

Στο επόμενο σκίτσο, ένα κουμπί θα χρησιμοποιηθεί με κανονικά ανοιχτές επαφές, χωρίς καθορισμό.


Αυτό σημαίνει ότι ενώ το κουμπί δεν πιέζεται, το ρεύμα δεν περνάει και μετά την απελευθέρωση, το κουμπί επιστρέφει στην αρχική του θέση.
Στο διάγραμμα, εκτός από το κουμπί, χρησιμοποιείται μια αντίσταση. Σε αυτή την περίπτωση, δεν περιορίζει το σημερινό, και "τραβάει" το κουμπί στο 0b (GND). Εκείνοι. Ενώ το κουμπί δεν πιέζεται στην έξοδο Arduino, στην οποία συνδέεται, θα υπάρχει χαμηλό επίπεδο. Η αντίσταση που χρησιμοποιείται στο 10 com.


// Προσδιορίστε τον τύπο του κουμπιού Int buttonpin \u003d 7. κενή εγκατάσταση () (pinmode (buttonpin, είσοδος); // αρχικοποιήσετε τις ακίδες στην είσοδο Serial.Begin (9600) (9600) (9600) (9600) (9600) (9600) (9600) (9600). // αρχικοποιήστε τη σειριακή θύρα) κενό βρόχο () (εάν (buttonpin) \u003d\u003d υψηλή) (// Εάν το κουμπί πατηθεί από το serial.println ("πιεσμένο"), // εμφανίζεται η επιγραφή "πατημένο") αλλιώς (serial.println ("Unpressed"); // διαφορετικά "Unpresped")))
Σε αυτό το σκίτσο, αρκετές νέες ομάδες.
- Αυτή η εντολή δέχεται υψηλή αξία (υψηλού επιπέδου) και χαμηλή (χαμηλή), αυτή η έξοδος που ελέγξουμε. Εγκατάσταση προ-στη ρύθμιση () Αυτή η έξοδος πρέπει να διαμορφωθεί στην είσοδο.
; // όπου το buttonpin είναι ο αριθμός εξόδου όπου το κουμπί είναι συνδεδεμένο.
Η σειριακή θύρα σάς επιτρέπει να στείλετε μηνύματα Arduino σε έναν υπολογιστή, ενώ ο ίδιος ο ελεγκτής εκτελεί το πρόγραμμα. Αυτό είναι χρήσιμο για την αποσύνδεση του προγράμματος, την αποστολή μηνυμάτων σε άλλες συσκευές ή εφαρμογές. Για να ενεργοποιήσετε τη μεταφορά δεδομένων μέσω μιας σειριακής θύρας (άλλο όνομα UART ή URART), πρέπει να το αρχίσετε στη ρύθμιση ()

Serial.begin () Έχει μόνο ένα επιχείρημα είναι ο ρυθμός μεταφοράς δεδομένων μεταξύ Arduino και ενός υπολογιστή.
Το σκίτσο χρησιμοποιεί μια εντολή για να εμφανιστεί ένα μήνυμα στην οθόνη στο Arduino IDE (εργαλεία \u003e\u003e σειριακή οθόνη).
- Ο σχεδιασμός σας επιτρέπει να ελέγχετε την πρόοδο του προγράμματος, το κάπνισμα αρκετών ελέγχων σε ένα μέρος.
Εάν (αν) DigitalRead επιστρέφει υψηλό, τότε εμφανίζεται η λέξη "πιεσμένη" στην οθόνη. Αλλιώς εμφανίζεται η λέξη "πιεσμένη" στην οθόνη. Τώρα μπορείτε να προσπαθήσετε να ενεργοποιήσετε και να απενεργοποιήσετε το LED πατώντας το κουμπί.
// Πλήκτρο Ανίχνευση Τύπου με έξοδο LED Int Buttonpin \u003d 7; int ledpin \u003d 8; Κενό ρύθμισης () (pinmode (buttonpin, είσοδος), // αυτή τη φορά θα ορίσετε τον κωδικό PIN ως PINMode εισόδου (LEDPIN, έξοδος), Serial.Begin (9600);) Void Loop () (εάν (buttonpin) \u003d \u003d Υψηλή) (digitalwrite (ledpin, υψηλή), serial.println ("πιεσμένο");) αλλού (digitalwrite (Ledpin, χαμηλή), serial.println ("Unpressed")))))

Αναλογική είσοδος.

Αναλογική. Σας επιτρέπει να διαβάσετε τα δεδομένα από μία από τις αναλογικές εξόδους Arduino και εμφανίζει μια τιμή στην περιοχή από 0 (0b) έως 1023 (5V). Εάν η τάση στην αναλογική είσοδο είναι 2.5V, τότε θα εκτυπωθεί 2.5 / 5 * 1023 \u003d 512
Αναλογική. Έχει μόνο ένα επιχείρημα είναι ένας αναλογικός αριθμός εισόδου (A0-A5). Το παρακάτω σκίτσο παρέχει έναν κωδικό ανάγνωσης τάσης με ένα ποτενσιόμετρο. Για να το κάνετε αυτό, συνδέστε μια εναλλασσόμενη αντίσταση, ακραίες εξόδους σε Pins 5V και GND, και η μέση έξοδος στην είσοδο A0.

Εκτελέστε τον ακόλουθο κώδικα και εξετάστε τη σειριακή οθόνη, πώς αλλάζουν οι τιμές ανάλογα με την περιστροφή της λαβής αντίστασης.
// Αναλογική είσοδος int potpin \u003d a0; // σε αυτό το pina, η κεντρική έξοδος του ποτενσιόμετρου κενού () του ποτενσιόμετρου () είναι συνδεδεμένη σε αυτό (// αναλογικό PIN από προεπιλογή συνδέεται με την είσοδο, οπότε η αρχικοποίηση δεν απαιτείται με σειριακό. Ξεκινήστε (9600);) κενό βρόχο () (int potsval \u003d αναλόγου (potpin); // Pottval είναι ένας αριθμός μεταξύ 0 και 1023 serial.println (pottival));
Το παρακάτω σκίτσο συνδυάζει τη δοκιμή του κουμπιού και τον έλεγχο της Skatch της φωτεινότητας της λυχνίας LED. Η λυχνία LED θα ενεργοποιηθεί από το κουμπί και ο έλεγχος της φωτεινότητας της λάμψης θα είναι ένα ποτενσιόμετρο.
// Πλήκτρο Πατήστε Ανίχνευση με έξοδο LED και μεταβλητή ένταση Int buttonpin \u003d 7; int ledpin \u003d 9; Int potpin \u003d a0; κενό ρύθμισης () (pinmode (buttonpin, είσοδος); pinmode (ledpin, έξοδος) · serial.begin (9600) ·) κενό βρόχο () (εάν (digitalRead (buttonpin) \u003d\u003d υψηλό) (// if pressed int AnalogVal \u003d Αναλόγαρα (potpin), int scaledval \u003d χάρτη (αναλογική, 0, 1023, 0, 255). Αναλογία (Ledpin, Scaledval). // ενεργοποιήστε την λυχνία LED με ένταση που έχει ρυθμιστεί από το Pot Serial.Println ("πιεσμένο");) αλλού (Digitalwrite (Ledpin, χαμηλή), // απενεργοποιήστε εάν το κουμπί δεν είναι prasedn serial.println ("Unpressed")))))

Συνεχίζοντας το θέμα:
Λειτουργός

Έχω μια υπηρεσία Web που εγγράφηκα μέσω "Προσθέστε έναν σύνδεσμο στην υπηρεσία" για την οποία απαιτείται https και πιστοποιητικό. Παρακάτω είναι ο κώδικας μου για τη δημιουργία μιας στιγμής ...

Νέα άρθρα
/
Δημοφιλής