Τα πάντα για το arduino και τα ηλεκτρονικά!

Arduino- εμπορικό σήμα υλικού και λογισμικού για την κατασκευή απλά συστήματααυτοματισμού και ρομποτικής, που απευθύνονται σε μη επαγγελματίες χρήστες. Λογισμικόμέρος αποτελείται από ένα κέλυφος ελεύθερου λογισμικού (IDE) για τη σύνταξη προγραμμάτων, τη μεταγλώττιση τους και τον προγραμματισμό υλικού. Σκεύη, εξαρτήματαμέρος είναι ένα σετ συναρμολογημένων πλακών τυπωμένου κυκλώματος, που πωλούνται τόσο από τον επίσημο κατασκευαστή όσο και από τρίτους κατασκευαστές. Η εντελώς ανοιχτή αρχιτεκτονική του συστήματος σας επιτρέπει να αντιγράφετε ή να προσθέτετε ελεύθερα στη σειρά προϊόντων Arduino.

Το όνομα της πλατφόρμας προέρχεται από το όνομα του ομώνυμου ποτηριού κρασιού στην Ivrea, το οποίο επισκέπτονταν συχνά οι ιδρυτές του έργου και αυτό το όνομα, με τη σειρά του, δόθηκε προς τιμή του βασιλιά της Ιταλίας, Arduin of Ivrea.

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

Γιατί να επισκεφτείτε εκθέσεις; Σε μια καλή έκθεση, μπορείτε πάντα να δείτε τι μας περιμένει στο εγγύς μέλλον, ποιες τάσεις και τάσεις θα είναι σχετικές τους επόμενους έξι μήνες.Έκθεση Ηλεκτρονικών του Χονγκ Κονγκ – μόνο μία από αυτές τις εκθέσεις όπου οι εκθέτες επιδεικνύουν τι είναι ικανοί, και εμείς, οι καλεσμένοι της εκδήλωσης, γνωρίζουμε ο ένας τον άλλον και δοκιμάζουμε ενεργά προϊόντα, τα αξιολογούμε και αποφασίζουμε τι θα γίνει επιτυχία, τι απλά αξίζει ενδιαφέρον και αυτό που είναι καταδικασμένο να ξαπλώνει χωρίς επίβλεψη στο περίπτερο. Θυμηθείτε ότι όλα αυτά γίνονται κάτω από τη στέγη του πιο όμορφου εκθεσιακού κέντρου στο Χονγκ Κονγκ -Συνεδριακό & Εκθεσιακό Κέντρο του Χονγκ Κονγκ.

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

Το ηλεκτρικό σύστημα της καρδιάς ελέγχει τη δημιουργία και τη διάδοση ηλεκτρικών σημάτων μέσω του καρδιακού μυός, προκαλώντας την περιοδική συστολή και χαλάρωση της καρδιάς για να αντλήσει αίμα. Κατά τη διάρκεια του κύκλου της καρδιάς, εμφανίζεται μια διατεταγμένη διαδικασία εκπόλωσης. Η εκπόλωση είναι μια ξαφνική αλλαγή στην ηλεκτρική κατάσταση του στοιχείου, όταν το αρνητικό εσωτερικό φορτίο του στοιχείου γίνεται θετικό για μικρό χρονικό διάστημα. Στην καρδιά, η εκπόλωση ξεκινά σε εξειδικευμένα κύτταρα βηματοδότη στον φλεβοκομβικό κόμβο. Περαιτέρω, το κύμα διέγερσης διαδίδεται μέσω του κολποκοιλιακού (κολποκοιλιακού) κόμβου προς τα κάτω στη δέσμη του His, περνώντας στις ίνες Purkinje και περαιτέρω οδηγεί σε συστολή των κοιλιών. Σε αντίθεση με άλλα νευρικά κύτταρα που δεν είναι σε θέση να παράγουν ηλεκτρικό σήμα σε λειτουργία αυτοταλάντωσης, τα κύτταρα του φλεβοκομβικού κόμβου είναι σε θέση να δημιουργήσουν ένα ρυθμικό ηλεκτρικό σήμα χωρίς εξωτερική επίδραση. Πιο συγκεκριμένα, οι εξωτερικές επιρροές (για παράδειγμα, η σωματική δραστηριότητα) επηρεάζουν μόνο τη συχνότητα των ταλαντώσεων, αλλά δεν χρειάζονται για την εκκίνηση αυτής της «γεννήτριας». Σε αυτή την περίπτωση, συμβαίνει περιοδική εκπόλωση και επαναπόλωση των κυττάρων του βηματοδότη. Ο βηματοδότης διαθέτει επίσης μια γεννήτρια σταθερής συχνότητας που λειτουργεί ως φλεβοκόμβος. Οι μεμβράνες των ζωντανών κυττάρων λειτουργούν ως πυκνωτές. Λόγω του γεγονότος ότι οι διεργασίες στις κυψέλες είναι ηλεκτροχημικές και όχι ηλεκτρικές, η εκπόλωση και η επαναπόλωση σε αυτά συμβαίνουν πολύ πιο αργά από ό,τι σε έναν πυκνωτή της ίδιας χωρητικότητας.

Αυτό το άρθρο θα παρέχει ένα παράδειγμα του τρόπου χρήσης αρκετών αισθητήρων θερμοκρασίας 18b20 + προσθήκη της σωστής ποσότητας και εκτέλεση απομακρυσμένης παρακολούθησης χρησιμοποιώντας την πλακέτα esp8266 nodemcu και την εφαρμογή blynk. Αυτό το υλικό θα είναι χρήσιμο εάν χρειάζεται να κάνετε απομακρυσμένες μετρήσεις θερμοκρασίας για παρακολούθηση.

Θέλετε να παίξετε βιντεοπαιχνίδια από την παιδική σας ηλικία; Tanks, Contra, Chip and Dale, Teenage Mutant Ninja Turtles… Όλα αυτά τα παιχνίδια σας περιμένουν! Από αυτό το εγχειρίδιοθα μάθετε πώς να συναρμολογείτε και να διαμορφώνετε γρήγορα και εύκολα μια ρετρό κονσόλα που βασίζεται στο συγκρότημα μικροϋπολογιστή Raspberry Pi και εξομοιωτή RetroPie.

Διαδραστική νιφάδα χιονιού κατάλληλου σχήματος, δημιουργία Arduino Nano. Χρησιμοποιώντας 17 ανεξάρτητα κανάλια PWM και έναν αισθητήρα αφής για εναλλαγή και εφέ.

Η νιφάδα χιονιού αποτελείται από 30 LED ομαδοποιημένα σε 17 ανεξάρτητα τμήματα που μπορούν να ελεγχθούν ξεχωριστά από τον μικροελεγκτή Arduino Nano. Κάθε μπλοκ ελέγχεται από μια ξεχωριστή ακίδα PWM και προσαρμόζει τη φωτεινότητα κάθε μπλοκ LED και εφέ ξεχωριστά.

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

Χαρακτηριστικά έργων στο Arduino Uno

Αρχικά, αξίζει να εξοικειωθείτε με τη λειτουργικότητα του μικροεπεξεργαστή Arduino Uno, στον οποίο κατασκευάζονται τα περισσότερα έργα, και επίσης να εξετάσετε τους λόγους για την επιλογή αυτής της συσκευής. Παρακάτω είναι οι παράγοντες για τους οποίους ένας αρχάριος εφευρέτης πρέπει να σταματήσει στο Arduino uno:

  1. Αρκετά εύκολη στη χρήση διεπαφή. Είναι σαφές πού βρίσκεται η επαφή και πού να συνδέσετε τα καλώδια σύνδεσης.
  2. Το τσιπ στην πλακέτα συνδέεται απευθείας στη θύρα USB. Το πλεονέκτημα αυτής της εγκατάστασης είναι ότι η σειριακή επικοινωνία είναι ένα πολύ απλό πρωτόκολλο που έχει αντέξει στη δοκιμασία του χρόνου και το USB κάνει τη σύνδεση με σύγχρονους υπολογιστές πολύ βολική.
  3. Είναι εύκολο να βρείτε το κεντρικό τμήμα του μικροελεγκτή, που είναι το τσιπ ATmega328. Διαθέτει περισσότερες δυνατότητες υλικού όπως χρονόμετρα, εξωτερικές και εσωτερικές διακοπές, PWM pins και πολλαπλές λειτουργίες ύπνου.
  4. ανοιχτή συσκευή πηγαίος κώδικας, έτσι ένας μεγάλος αριθμός ραδιοερασιτεχνών μπορεί να διορθώσει σφάλματα και δυσλειτουργίες λογισμικό. Αυτό διευκολύνει τον εντοπισμό σφαλμάτων έργων.
  5. Η ταχύτητα ρολογιού είναι 16 MHz, η οποία είναι αρκετά γρήγορη για τις περισσότερες εφαρμογές και δεν επιταχύνει τον μικροελεγκτή.
  6. Είναι πολύ βολικό να ελέγχετε την ισχύ μέσα σε αυτό και έχει ενσωματωμένη λειτουργία ρύθμισης τάσης. Επίσης, ο μικροελεγκτής μπορεί να αποσυνδεθεί από τη θύρα USB χωρίς εξωτερική πηγή ρεύματος. Μπορείτε να συνδέσετε ένα εξωτερικό τροφοδοτικό έως 12 V. Επιπλέον, ο μικροεπεξεργαστής θα καθορίσει ο ίδιος την απαιτούμενη τάση.
  7. Η παρουσία 13 ψηφιακών επαφών και 6 αναλογικών επαφών. Αυτές οι ακίδες σάς επιτρέπουν να συνδέσετε τον εξοπλισμό στην πλακέτα. arduino unoαπό μέσα τρίτων. Οι ακίδες χρησιμοποιούνται ως κλειδί για την επέκταση της υπολογιστικής ισχύος του Arduino uno στον πραγματικό κόσμο. Απλώς συνδέστε τις ηλεκτρονικές συσκευές και τους αισθητήρες σας στις υποδοχές που ταιριάζουν με καθεμία από αυτές τις ακίδες.
  8. Μια κεφαλίδα ICSP είναι διαθέσιμη για παράκαμψη της θύρας USB και διασύνδεση με το Arduino απευθείας ως σειριακή συσκευή. Αυτή η θύρα είναι απαραίτητη για την επαναφορά του τσιπ εάν είναι κατεστραμμένο και δεν μπορεί πλέον να χρησιμοποιηθεί στον υπολογιστή σας.
  9. Διαθεσιμότητα μνήμης flash 32 KB για αποθήκευση του κώδικα του προγραμματιστή.
  10. Ένα LED στην πλακέτα συνδέεται με την ψηφιακή ακίδα 13 για γρήγορο και εύκολο εντοπισμό σφαλμάτων κώδικα.
  11. Τέλος, έχει ένα κουμπί για επαναφορά του προγράμματος στο τσιπ.

Το Arduino δημιουργήθηκε το 2005 από δύο Ιταλούς μηχανικούς, τον David Cuartilles και τον Massimo Banzi, με στόχο να διδάξει στους μαθητές πώς να προγραμματίζουν. Μικροελεγκτής Arduino uno και βελτιώστε τις ηλεκτρονικές σας δεξιότητες και χρησιμοποιήστε τις στον πραγματικό κόσμο.

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

Τώρα ας προχωρήσουμε στα έργα στο Arduino uno.

Το πιο εύκολο έργο για αρχάριους

Εξετάστε μερικά απλά και ενδιαφέροντα έργα Arduino uno που μπορούν να κάνουν ακόμη και αρχάριοι σε αυτήν την επιχείρηση - ένα σύστημα συναγερμού.

Έχουμε ήδη κάνει ένα μάθημα για αυτό το έργο -. Εν συντομία για το τι γίνεται και πώς.

Αυτό το έργο χρησιμοποιεί έναν αισθητήρα κίνησης για την ανίχνευση κινήσεων και εκπομπών υψηλής συχνότητας, καθώς και μια οπτική οθόνη που αποτελείται από αναβοσβήνει Ενδείξεις LED. Το ίδιο το έργο θα σας παρουσιάσει μερικά από τα πρόσθετα που περιλαμβάνονται στο Arduino Starter Kit, καθώς και τις αποχρώσεις της χρήσης του NewPing.

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

Για αυτό το έργο εσείς χρειάζομαι:

  1. Αισθητήρας ping υπερήχων - HC-SR04.
  2. Πιεζοφωνικός βομβητής.
  3. Φωτισμός λωρίδας LED.
  4. Φωτισμός αυτοκινήτου με ταινία RGB. Σε αυτόν τον οδηγό έργου Arduino, θα μάθετε πώς να κάνετε εσωτερικός φωτισμόςΑυτοκίνητο RGB χρησιμοποιώντας μια πλακέτα Arduino uno.

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

Μπορείτε να αλλάξετε το χρώμα του φωτισμού με συσκευές android(τηλέφωνο ή tablet) χρησιμοποιώντας το " Ελεγκτής Bluetooth RGB» (Dev Next Prototypes), από το οποίο μπορείτε να κατεβάσετε δωρεάν παιχνίδι androidκατάστημα. Μπορείτε επίσης να βρείτε το ηλεκτρονικό σχηματικό σχέδιο EasyEDA ή να παραγγείλετε το δικό σας κύκλωμα που βασίζεται σε Arduino σε ένα PCB.

Καταπληκτικά έργα Arduino Uno

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

  1. Προσθήκη ενός τηλεχειριστηρίου υπερύθρων σε ακουστικό σύστημα . Τηλεχειριστήριο σε ηλεκτρονικά είδη ευρείας κατανάλωσης τηλεχειριστήριοείναι ένα συστατικό ηλεκτρονική συσκευήόπως τηλεόραση, DVD player ή άλλη οικιακή συσκευή που χρησιμοποιείται για ασύρματος έλεγχοςσυσκευή από μικρή απόσταση. Το τηλεχειριστήριο είναι, πρώτα απ 'όλα, φιλικό προς τον άνθρωπο και σας επιτρέπει να εργάζεστε με συσκευές που δεν είναι κατάλληλες για την άμεση λειτουργία των χειριστηρίων.
  2. Τρομάζω. Το ρολόι πραγματικού χρόνου χρησιμοποιείται για τη λήψη ακριβούς χρόνου. Εδώ, αυτό το σύστημα εμφανίζει την ημερομηνία και την ώρα στην οθόνη LCD και μπορούμε να ρυθμίσουμε το ξυπνητήρι με τα κουμπιά ελέγχου. Μόλις φτάσει η ώρα του συναγερμού, το σύστημα εκπέμπει ένα ηχητικό σήμα.
  3. βηματικός κινητήρας. σημαίνει κινητήρα ακριβείας που μπορεί να περιστραφεί ένα βήμα τη φορά. Μια τέτοια συσκευή κατασκευάζεται με χρήση ρομποτικής, τρισδιάστατων εκτυπωτών και μηχανών CNC.

    Για αυτό το έργο, πάρτε το φθηνότερο βηματικός κινητήραςπου μπορείτε να βρείτε. Οι κινητήρες είναι διαθέσιμοι στο διαδίκτυο. Αυτό το έργο χρησιμοποιεί το βηματόμετρο 28byj-48, το οποίο είναι κατάλληλο για τα περισσότερα άλλα παρόμοια έργα. Είναι εύκολο να συνδεθεί στην πλακέτα Arduino.
    - Θα χρειαστείτε 6 καλώδια με συνδέσμους θηλυκού σε αρσενικό. Απλά πρέπει να συνδέσετε το μοτέρ στην πλακέτα και τέλος! Μπορείτε επίσης να προσθέσετε ένα μικρό κομμάτι ταινίας στην περιστρεφόμενη κεφαλή για να δείτε αν κάνει περιστροφική κίνηση.

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

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

Το πάθος για την πλατφόρμα Arduino με οδήγησε σε συσκευές που λειτουργούν στο δίαυλο I2C (συντομογραφία για τις αγγλικές λέξεις Inter-Integrated Circuit) που ονομάζονται επίσης συσκευές "Two-Wire". Παράγεται ένας μεγάλος αριθμός μικροκυκλωμάτων που υποστηρίζουν το δίαυλο I2C σε υλικό. Αυτά είναι όλα τα είδη αισθητήρων, ρολόγια σε πραγματικό χρόνο, μνήμη, επέκταση θυρών και πολλά άλλα. Το παρακάτω άρθρο παρουσιάζει την αναβάθμιση του έργου σαρωτή συσκευών με το δίαυλο I2C προς Βάση Arduinoπου περιγράφεται στη διεύθυνση http://playground.arduino.cc/Main/I2cScanner και ένα παράδειγμα πρακτική δουλειάμε μια πρωτότυπη συσκευή αυτόνομη από υπολογιστή.

Πρόγραμμα ελέγχου, μέθοδοι τηλεχειρισμού (bluetooth ή APC220), όλα παραμένουν ίδια.

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

Ανάγνωση

Αυτόματο πότισμα φυτών

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

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

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

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

Bluetooth HC-06 και arduino. Εφαρμογή Android για τον έλεγχο του Ρελέ από το τηλέφωνό σας.

Πώς να συνδεθείτε Bluetooth μοντέλο HC-06 ή HC-05είπε μέσα

Στο μάθημα χρησιμοποιήσαμε τρίτο μέρος εφαρμογές androidτηλέφωνο ή tablet. Σήμερα θα γράψουμε την αίτησή μας mit app εφευρέτης. Ας φτιάξουμε σκίτσο από 11, για εργασία με ρελέ χαμηλής στάθμης. Με ένα μέτρο υψηλού επιπέδου, θα λειτουργήσει χωρίς να αλλάξει το σκίτσο.

Φτιάξτο μόνος σου ρολόι LED σε ελεγχόμενο arduino (Arduino) WS2312 (διεύθυνση)

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

Και για τι λοιπόν μιλάω. Ω ναι. Και έτσι αποφάσισα να εκτυπώσω επίπεδα και μεγάλα κομμάτια. Ήταν αυτοί που βγήκαν από τον ατσάλι του τρισδιάστατου εκτυπωτή μου. Έτυχε ακόμη και να σκιστεί μαζί με την κολλητική ταινία.

Βρήκα ένα μοντέλο Ρολόι LED.

Νυχτερινό φως LED σε μορφή κύβου.

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

Φανάρι Arduino σε digispark και ws2812b

Σήμερα θα μιλήσουμε για αναμμένο φανάρι σε DigiSpark και διευθυνσιοδοτούμενα LED WS2812 . Αυτή είναι η δεύτερη έκδοση φανάρι. Μίλησα για το πρώτο εδώ. Η πρώτη έκδοση αποδείχθηκε αρκετά βολική και αποτελείται από λιγότερα μέρη. Γιατί αποφάσισα να κάνω μια δεύτερη έκδοση; Το γεγονός είναι ότι το κουτί της μπαταρίας που χρησιμοποίησα στην πρώτη έκδοση φανάρι στο Arduino, έχει γίνει πολύ ακριβό. Μερικοί πωλητές το πωλούν για 5 $

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

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

Τι είναι το Arduino και σε τι χρησιμεύει;

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

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

Κιτ εκκίνησης Arduino

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

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

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

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

Εκδοχή Windows MacOS X linux
1.8.2

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

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

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

  • Κάθε δήλωση πρέπει να ακολουθείται από ένα ερωτηματικό (;)
  • Πριν δηλώσετε μια συνάρτηση, πρέπει να καθορίσετε τον τύπο δεδομένων που επιστρέφεται από τη συνάρτηση ή να ακυρώσετε εάν η συνάρτηση δεν επιστρέψει μια τιμή.
  • Είναι επίσης απαραίτητο να καθορίσετε τον τύπο δεδομένων πριν δηλώσετε μια μεταβλητή.
  • Τα σχόλια υποδεικνύονται από: // Inline και /* block */

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

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

λειτουργία εγκατάστασης

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

// μεταβλητές με ακίδες συνδεδεμένων συσκευών int switchPin = 8; int ledPin = 11; // μεταβλητές για την αποθήκευση της κατάστασης του κουμπιού και LED boolean lastButton = LOW; Κουμπί δυαδικού ρεύματος = LOW; boolean ledOn = ψευδής; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // συνάρτηση debounce boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if(last != current) (καθυστέρηση (5 ); (ledPin, ledOn); )

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

int switchPin = 8 ;

int ledPin = 11 ;

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

boolean lastButton = LOW ;

boolean currentButton = LOW ;

boolean ledOn = ψευδής ;

void setup()(

pinMode (switchPin , INPUT ) ;

pinMode (ledPin , OUTPUT ) ;

// συνάρτηση αναπήδησης

boolean debounce (boolean last ) (

boolean ρεύμα = digitalRead(switchPin) ;

αν (τελευταίο != τρέχον) (

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

τρέχον = digitalRead(switchPin) ;

ρεύμα επιστροφής ;

void loop()(

currentButton = debounce(lastButton) ;

εάν (lastButton == LOW && currentButton == HIGH ) (

ledOn = ! ledOn ;

lastButton = currentButton ;

digitalWrite(ledPin, ledOn) ;

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

PWM Arduino

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

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

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

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

// LED συνδεδεμένο στον ακροδέκτη 11 int ledPin = 11; void setup() ( pinMode(ledPin, OUTPUT); ) void loop() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); καθυστέρηση (5); ) )

// LED συνδεδεμένο στον ακροδέκτη 11

int ledPin = 11 ;

void setup()(

pinMode (ledPin , OUTPUT ) ;

void loop()(

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

analogWrite (ledPin , i ) ;

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

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