Αναβοσβήνει ένα LED με Arduino - Πλήρης οδηγός

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Η ανάρτηση συζητά διεξοδικά έναν βασικό οδηγό εφαρμογής κώδικα Arduino για να αναβοσβήνει το ενσωματωμένο LED. Τα δεδομένα δημιουργήθηκαν, δοκιμάστηκαν και γράφτηκαν από τον Jack Franko.



ΚΩΔΙΚΑΣ: για απλώς ενσωματωμένο LED στον ακροδέκτη 13 του ARDUINO BOARD από προεπιλογή, προγραμματίζεται να αναβοσβήνει συχνά στα 50 Mili Seconds, όπως στην περιγραφή θα δηλώνεται ως asms (χιλιοστά του δευτερολέπτου).

/ * πρώτο απλό
Πρόγραμμα για το Arudino BY JACKFRANKO * /



int l = 13
//where l is pin 13void setup(){ pinMode
(l,OUTPUT) }void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Σημείωση: Καθώς μελετάμε ένα Arduino UNO R3 Board Programing εάν δεν είστε προγραμματιστής ή σχεδιαστής ή χομπίστες, ως μαθητής πρέπει να ξεκινήσετε από τα βασικά.

Το πρώτο πράγμα είναι να κατανοήσετε το Arduino Uno R3, παίρνοντας ένα κιτ που είναι διαθέσιμο σε ηλεκτρονικά καταστήματα.

Περιγραφή:

όπως κατά παράδοση είναι να πάρουμε το όνομά μας προτού ξεκινήσει το πρόγραμμα ένα καλό IDEA, εδώ είναι το πρώτο βασικό μου πρόγραμμα που αναφέρεται παραπάνω ξεκίνησε με αυτό το σύμβολο / * και το κείμενο του ονόματος και όλα τα πράγματα που θέλετε να πληκτρολογήσετε μεταξύ του * / είναι κάτι που δεν επηρεάζει το πρόγραμμα και δεν αποτελεί μέρος του προγράμματος, επειδή το πρόγραμμα Arduino Compiler γνωρίζει ότι τα πράγματα μεταξύ του σήματος '/ *, * /' πρέπει να παραλειφθούν, είναι απλώς ο τίτλος του προγράμματος.

/ * πρώτο απλό

Πρόγραμμα για το Arudino BY JACKFRANKO * / Next Line int l = 13

// όπου είμαι ο πείρος 13

Είναι ένα μέρος της δήλωσης του προγράμματος όπου πρόκειται να δηλώσουμε τον ακέραιο με την εντολή 'int' ακολουθούμενο από το μικρό αλφάβητο L που είναι ίσο με 13 και τελειώνει με ερωτηματικό και μετά από διπλή κάθετο '//' και κάποιο κείμενο.

Εδώ είχαμε δώσει την εντολή «int», την οποία συνήθως λέμε ακέραιος και μικρός L ίσος με 13 και καταλήξαμε με ερωτηματικό εδώ λέγαμε να μεταγλωττιστεί ότι η τιμή «l» είναι ίση με 13 που βρίσκεται στην καρφίτσα αρ. δεκατρία στον πίνακα arduino, εδώ το 'l' είναι απλώς μια τιμή που έχει οριστεί για την καρφίτσα αρ. 13, ότι το 'l' δεν είναι καμία συνάρτηση ή σενάριο για μεταγλωττιστή, εναπόκειται σε εμάς να κάνουμε τον κώδικα λίγο φιλικός που 'l' αυτό το έργο είναι σύντομη για LED.

Θέλω να κάνω τον κώδικα λίγο μικρότερο και να εξοικονομήσω χώρο. Σε αυτό το σημείο, αν δεν θέλετε να το διατηρήσετε ως 'l', τότε πείτε ότι θέλετε να το κρατήσετε για 'me', τότε σε ολόκληρο τον κώδικα όπου υπάρχει πάντα 'l' πρέπει να το αλλάξετε 'me' διαφορετικά ο μεταγλωττιστής δεν θα λειτουργήσει και θα σας δώσει σφάλμα.

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

Πριν κατανοήσουμε το υπόλοιπο μέρος του κώδικα, πρέπει να κατανοήσουμε τις βασικές λειτουργίες του κώδικα και ότι είναι το 'void setup' και το 'void loop' εδώ αυτές οι δύο λειτουργίες είναι πολύ σημαντικές γιατί πρόκειται να δηλώσουμε τα INPUT, OUTPUT και τι είδους δουλειά γίνεται από αυτό. οπότε ας ξεκινήσουμε με την άκυρη ρύθμιση, αυτό είναι ένα μέρος του κώδικα όπου θα δηλώσουμε τις ΕΙΣΟΔΕΣ & ΑΠΟΤΕΛΕΣΜΑΤΑ που πρέπει να εκτελεστούν μία φορά για το έργο μας. Εδώ πρόκειται να μιλήσουμε για μία μόνο έξοδο σύμφωνα με τον κωδικό μας.

Το Other function void loop είναι το δεύτερο μέρος του κώδικα που πρόκειται να εκτελεστεί με τη μορφή loop. Εδώ και οι δύο λειτουργίες συνίστανται στην καμπύλη βραχίονα ανοιχτή και κλειστή και μετά μετά από σγουρή αγκύλη ανοιχτή κρατώντας κάποιο κωδικό και σγουρή αγκύλη κοντά. Στο επόμενο πρόγραμμα θα δώσω πληροφορίες σχετικά με αυτές τις παρενθέσεις. Εδώ πρέπει να επικεντρωθούμε σε αγκύλες όπου έχουμε έναν κωδικό που περικλείεται μεταξύ αυτών των αγκυλών.

void setup(){ pinMode
(l,OUTPUT) }

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

εδώ pinMode είναι η συνάρτηση που έχει οριστεί σε ακέραιο l ως OUTPUT.

Ως εκ τούτου l έχει οριστεί ως pin 13 στο arduino compiler θα καταλάβει ότι ο pin no 13 ονομάζεται l και l είναι pin no 13 αν βάλουμε 13 στη θέση l μετά τη λειτουργία PinMode
ως έξοδος θα εξετάσει τόσο το 13 όσο και το l.

αν διαγράψουμε int l = 13 δεν θα ληφθεί υπόψη το αλφάβητο l και θα σας δώσει σφάλμα Εδώ είχαμε καρφώσει
αρ. 13 που είναι αλφάβητο l ως έξοδος, είναι πάντα γραμμένο με κεφαλαία γράμματα ως OUTPUT και η συνάρτηση pinmode γράφεται σε pinMode ξεκινώντας με μικρά γράμματα χωρίς κενό διάστημα, άλλη λέξη Λειτουργία ξεκινώντας με κεφαλαία γράμματα που κατανοείται από τον μεταγλωττιστή που είναι πεζός.

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

void loop() { digitalWrite
(l,HIGH) delay(50) digitalWrite
(l,LOW) delay(50)}

Εδώ είχαμε δηλώσει ακέραιο l έως HIGH με τη λειτουργία digitalWrite. Αυτή η δήλωση digitalWrite θα κάνει ακέραιο l HIGH σημαίνει πότε ΕΠΙ θα γυρίσει ΕΠΙ ακίδα 13 στην πλακέτα Arduino, όπως είπαμε, ο πείρος αρ. 13 είναι l που διαχωρίζεται με κόμμα στις αγκύλες καμπύλης.
Εδώ αφού είπαμε ότι η καθυστέρηση (50) αυτή η δήλωση θα μετρήσει χρόνο σε ms (χιλιοστά του δευτερολέπτου) όπου τα 1000ms ισούται με 1 δευτερόλεπτο. Σε αυτό το πρόγραμμα θέλω η οδήγησή μου να αναβοσβήνει 20 φορές σε ένα δευτερόλεπτο μαθηματικό υπολογισμό
μου έδωσε μια τιμή 50 που περικλείεται σε αγκύλες.

Αυτό σημαίνει ότι κάτω από την ενότητα βρόχου, η πρώτη γραμμή θα ανάψει το LED μου που βρίσκεται στον ακροδέκτη 13 και θα περιμένει 5ms. Εάν δεν δώσαμε περαιτέρω λειτουργία στο βρόχο για να σβήσουμε το LED, θα παραμείνει αναμμένο.

Αν και είχαμε πει ότι η καθυστέρηση για 50ms. Έτσι, έχουμε δώσει μια εντολή να σβήσουμε το LED
σε digitalWrite (l, LOW) , αφού δηλώσετε αυτήν τη δήλωση, το LED δεν θα σβήσει επειδή ο βρόχος δεν είναι πλήρης χωρίς καθυστέρηση (50) πρώτα ενεργοποιούμε το LED και μετά περιμένουμε 50ms και μετά απενεργοποιούμε το LED και στη συνέχεια περιμένουμε 50ms να ολοκληρώσουμε τον ένα βρόχο που θα παίξει για ένα άπειρο όσο το Arduino είναι ενεργοποιημένο. Θα ανάψει και απενεργοποιήσει το led σας στο pin no
13 για 20 φορές ανά δευτερόλεπτο.




Προηγούμενο: SPDT Solid State DC Relay Circuit χρησιμοποιώντας MOSFET Επόμενο: Κύκλωμα ελεγκτή μοτέρ αντίστροφης κίνησης προς τα εμπρός