Πίνακας περιεχομένων:
- Βήμα 1: Τροφοδοσία
- Βήμα 2: Digitalηφιακές εισόδους
- Βήμα 3: Digitalηφιακές έξοδοι
- Βήμα 4: Ταλαντωτής μικροελεγκτή
- Βήμα 5: LED ενδείξεων
- Βήμα 6: Κύκλωμα επαναφοράς μικροεπεξεργαστή
- Βήμα 7: Ενότητα SIM800L
- Βήμα 8: Ο μικροελεγκτής
- Βήμα 9: Βελτιστοποίηση μνήμης SRAM
- Βήμα 10: Σειριακό μέγεθος buffer λογισμικού
- Βήμα 11: Δημιουργία του πίνακα υπολογιστών
- Βήμα 12: Συνέλευση του Διοικητικού Συμβουλίου του PC
- Βήμα 13: Προγραμματισμός του AtMega328p
- Βήμα 14: Σύνδεση της μονάδας
- Βήμα 15: Αρχική ρύθμιση
- Βήμα 16: Εντολές SMS
Βίντεο: Μονάδα τηλεχειρισμού GSM/SMS βασισμένη σε Arduino: 16 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
! ! ! ΕΙΔΟΠΟΙΗΣΗ !
Λόγω της αναβάθμισης του τοπικού πύργου κινητής τηλεφωνίας στην περιοχή μου, δεν μπορώ πλέον να χρησιμοποιήσω αυτήν την ενότητα GSM. Ο νεότερος πύργος δεν υποστηρίζει πλέον συσκευές 2G. Επομένως, δεν μπορώ πλέον να υποστηρίξω αυτό το έργο.
Με ένα τόσο ευρύ φάσμα ενοτήτων GSM που διατίθενται για τους χομπίστες, οι περισσότεροι από εμάς σταματήσαμε να αγοράζουμε ένα. Αγόρασα μια μονάδα SIM800L τοπικά και κατέληξα να παίζω με τις διαφορετικές εντολές της μονάδας.
Χρησιμοποιώντας το Arduino Uno και το Arduino IDE, μπόρεσα να μετατρέψω τις ιδέες μου σε πραγματικότητα. Αυτό δεν ήταν εύκολο, με το ΜΟΝΟ ΜΕΓΑΛΥΤΕΡΟ ΤΕΥΧΟΣ να είναι ο περιορισμός μόνο 2KB SRAM. Μετά από πολλή έρευνα στο διαδίκτυο και διαφορετικά φόρουμ, κατάφερα να ξεπεράσω αυτόν τον περιορισμό.
Διαφορετικές τεχνικές προγραμματισμού, μια πολύ καλύτερη κατανόηση του μεταγλωττιστή Arduino και η χρήση της κάρτας SIM και του EEPROM για επιπλέον μνήμη, έσωσαν αυτό το έργο. Μετά από κάποιες αλλαγές στον κώδικα, κατασκευάστηκε και δοκιμάστηκε ένα σταθερό πρωτότυπο σε διάστημα μιας εβδομάδας.
Ένα μειονέκτημα του περιορισμένου SRAM ήταν ότι η μονάδα δεν μπορούσε να εξοπλιστεί με οθόνη και κλειδιά χρήστη. Αυτό είχε ως αποτέλεσμα την πλήρη επανεγγραφή του κώδικα. Χωρίς διεπαφή χρήστη, η μόνη επιλογή που είχε απομείνει για να συνεχίσει με το έργο, ήταν η χρήση μηνυμάτων SMS για τη διαμόρφωση της μονάδας, καθώς και των χρηστών.
Αυτό αποδείχθηκε ένα συναρπαστικό έργο και προστέθηκαν περισσότερα μέλλοντα καθώς η ανάπτυξη συνεχίστηκε.
Ο κύριος στόχος μου ήταν να κολλήσω με το Arduino Uno, ή σε αυτή την περίπτωση, με το ATMEGA328p, και να μην χρησιμοποιήσω εξαρτήματα τοποθέτησης επιφάνειας. Αυτό θα διευκολύνει το ευρύ κοινό να αντιγράψει και να δημιουργήσει τη μονάδα.
Προδιαγραφή της μονάδας:
- Μπορούν να προγραμματιστούν έως και 250 χρήστες στη μονάδα
- Τέσσερις ψηφιακές έξοδοι
- Τέσσερις ψηφιακές εισόδους
- Κάθε έξοδος μπορεί να διαμορφωθεί ως έξοδος PULSE ή ON/OFF
- Η διάρκεια του παλμού εξόδου μπορεί να ρυθμιστεί μεταξύ 0,5.. 10 δευτερολέπτων
- Κάθε είσοδος μπορεί να ρυθμιστεί ώστε να ενεργοποιεί τις αλλαγές OFF σε ON.
- Κάθε είσοδος μπορεί να ρυθμιστεί ώστε να ενεργοποιεί αλλαγές ON και OFF
- Κάθε χρόνος καθυστέρησης εισόδου μπορεί να οριστεί μεταξύ 0 δευτερολέπτων και 1 ώρας
- Τα μηνύματα SMS για αλλαγές στις Εισόδους μπορούν να σταλούν σε 5 διαφορετικούς χρήστες
- Ο χρήστης μπορεί να ορίσει ονόματα και κείμενο κατάστασης για κάθε είσοδο
- Ο χρήστης μπορεί να ορίσει ονόματα και κείμενο κατάστασης για κάθε έξοδο
- Η μονάδα μπορεί να ρυθμιστεί ώστε να λαμβάνει μηνύματα υπολοίπου κάρτας SIM μέσω μηνυμάτων USSD.
- Όλοι οι χρήστες μπορούν να ζητήσουν ενημερώσεις κατάστασης εισόδου/εξόδου της μονάδας
- Όλοι οι χρήστες μπορούν να ελέγχουν μεμονωμένες εξόδους μέσω μηνυμάτων SMS
- Όλοι οι χρήστες μπορούν να ελέγξουν μεμονωμένες εξόδους καλώντας τη μονάδα
Χαρακτηριστικά ασφαλείας
- Η αρχική ρύθμιση της μονάδας μπορεί να γίνει μόνο όταν βρίσκεστε στη μονάδα.
- Η αρχική ρύθμιση μπορεί να πραγματοποιηθεί μόνο από τον MASTER USER
- Οι αρχικές εντολές ρύθμισης απενεργοποιούνται αυτόματα μετά από δέκα λεπτά.
- Μόνο κλήσεις και SMS που αποστέλλονται από γνωστούς χρήστες μπορούν να ελέγξουν τη μονάδα
- Οι χρήστες μπορούν να χειρίζονται μόνο τις εξόδους που τους έχουν ανατεθεί από τον MASTER USER
Αλλα χαρακτηριστικά
- Οι κλήσεις σε αυτήν τη μονάδα είναι δωρεάν, καθώς η κλήση δεν απαντάται ποτέ.
- Όταν καλείται η μονάδα, η κλήση θα σταματήσει μόνο μετά από 2 δευτερόλεπτα. Αυτό είναι επιβεβαίωση για τον καλούντα ότι η μονάδα ανταποκρίθηκε στην κλήση.
- Εάν ο πάροχος υπηρεσιών κάρτας SIM υποστηρίζει μηνύματα USSD, μπορούν να γίνουν ερωτήσεις για το υπόλοιπο από τον MASTER USER. Το μήνυμα USSD που περιέχει το υπόλοιπο, θα προωθηθεί στη συνέχεια στον MASTER USER.
Βήμα 1: Τροφοδοσία
Για να διασφαλιστεί ότι η μονάδα μπορεί να συνδεθεί με τυπικά συστήματα ασφαλείας (συστήματα συναγερμού, ηλεκτρικές γκαραζόπορτες, ηλεκτροκινητήρες), η μονάδα θα τροφοδοτείται από 12V DC, που είναι συνήθως διαθέσιμο σε τέτοια συστήματα.
Η τροφοδοσία εφαρμόζεται στους ακροδέκτες 12V IN και 0V και προστατεύεται από ασφάλεια 1Α. Διατίθενται επιπλέον ακροδέκτες 12V OUT και προστατεύονται επίσης από την ασφάλεια.
Η δίοδος D1 προστατεύει τη μονάδα από συνδέσεις αντίστροφης πολικότητας στις γραμμές 12V.
Οι πυκνωτές C1 και C2 φιλτράρουν κάθε θόρυβο που υπάρχει στις γραμμές τροφοδοσίας 12V. Η τροφοδοσία 12V χρησιμοποιείται για την τροφοδοσία των ρελέ της μονάδας.
Η τροφοδοσία 5V αποτελείται από έναν ρυθμιστή τάσης LM7805L και εξάγει ένα σταθερό +5V που απαιτείται για τη μονάδα SIM800L GSM, καθώς και τον μικροεπεξεργαστή. Οι πυκνωτές C3 και C4 φιλτράρουν κάθε θόρυβο που μπορεί να υπάρχει στη γραμμή τροφοδοσίας +5V. Χρησιμοποιήθηκαν σχετικοί ηλεκτρολυτικοί πυκνωτές μεγάλου μεγέθους, καθώς η μονάδα SIM800L GSM χρησιμοποιεί πολύ μεγάλη ισχύ κατά τη μετάδοση.
Δεν απαιτείται ψύκτρα στον ρυθμιστή τάσης.
Βήμα 2: Digitalηφιακές εισόδους
Τα ψηφιακά σήματα εισόδου είναι όλα 12V και πρέπει να διασυνδέονται με τον μικροελεγκτή 5V. Για αυτό, χρησιμοποιούνται συζεύκτες opto για την απομόνωση των σημάτων 12V από το σύστημα 5V.
Η αντίσταση εισόδου 1Κ περιορίζει το ρεύμα εισόδου στο ζεύκτη opto στα περίπου 10mA.
Λόγω περιορισμών χώρου, δεν υπήρχε διαθέσιμος χώρος στην πλακέτα PC για αντιστάσεις έλξης 5V. Ο μικροελεγκτής έχει ρυθμιστεί για να επιτρέπει στους πείρους εισόδου να είναι αδύναμα τα τραβήγματα.
Χωρίς σήμα στην είσοδο (LOW) του συζεύκτη opto, κανένα ρεύμα δεν θα ρέει μέσα από το LED του opto ζεύκτη. Έτσι το τρανζίστορ opto ζεύκτης απενεργοποιείται. Το αδύναμο τράβηγμα του μικροελεγκτή θα ανεβάσει τον συλλέκτη σχεδόν στα 5V και θα θεωρηθεί ως λογικό Υ HIGHΗΛΟ από τον μικροελεγκτή.
Με 12V εφαρμοσμένα (Υ HIGHΗΛΑ) στην είσοδο του συζεύκτη opto, περίπου 10mA θα ρέουν μέσω του LED opto ζεύκτη. Έτσι το τρανζίστορ opto ζεύκτης θα ενεργοποιηθεί. Αυτό θα κατεβάσει τον συλλέκτη σε σχεδόν 0V και θα θεωρηθεί ως λογικό LOW από τον μικροελεγκτή.
Σημειώστε ότι η είσοδος που βλέπει ο μικροελεγκτής είναι ανεστραμμένη σε σύγκριση με την είσοδο 12V.
Ο κανονικός κώδικας για την ανάγνωση της ακίδας εισόδου φαίνεται ως εξής:
boolean Input = digitalRead (inputpin);
Για να διορθώσετε το ανεστραμμένο σήμα, χρησιμοποιήστε τον ακόλουθο κώδικα:
boolean Input =! digitalRead (inputpin); // ΠΡΟΣΟΧΗ το! μπροστά στο διάβασμα
Τώρα, η είσοδος που βλέπει ο μικροελεγκτής θα αντιστοιχεί στην είσοδο στην είσοδο 12V.
Το τελικό κύκλωμα εισόδου αποτελείται από 4 ψηφιακές εισόδους. Κάθε είσοδος συνδέεται με τερματικά στην πλακέτα PC.
Βήμα 3: Digitalηφιακές έξοδοι
Κανονικά, με ένα κύκλωμα που οδηγεί μόνο έναν ελάχιστο αριθμό ρελέ, ο καλύτερος τρόπος είναι να χρησιμοποιήσετε ένα κύκλωμα οδηγού τρανζίστορ όπως φαίνεται. Είναι απλό, χαμηλού κόστους και αποτελεσματικό.
Οι αντιστάσεις παρέχουν έλξη προς τη γείωση και περιορισμό ρεύματος βάσης τρανζίστορ. Το τρανζίστορ χρησιμοποιείται για την αύξηση του διαθέσιμου ρεύματος για την οδήγηση ενός ρελέ. Με μόνο 1mA που αντλείται από τον πείρο του μικροελεγκτή, το τρανζίστορ μπορεί να αλλάξει φορτίο 100mA. Περισσότερο από αρκετό για τους περισσότερους τύπους ρελέ. Η δίοδος είναι μια δίοδος ανατροπής, που προστατεύει το κύκλωμα από αιχμές υψηλής τάσης κατά τη μεταγωγή ρελέ. Το πρόσθετο πλεονέκτημα της χρήσης αυτού του κυκλώματος είναι ότι η τάση λειτουργίας του ρελέ μπορεί να είναι διαφορετική από την τάση του μικροελεγκτή. Έτσι, αντί για χρήση ρελέ 5V, μπορεί κανείς να χρησιμοποιήσει οποιαδήποτε τάση DC έως 48V.
Παρουσίαση του ULN2803
Όσο περισσότερα ρελέ απαιτεί ένα έργο, τόσο υψηλότερος είναι ο αριθμός των εξαρτημάτων. Αυτό θα κάνει τον σχεδιασμό του PCB πιο δύσκολο και ίσως χρησιμοποιήσει πολύτιμο χώρο PCB. Αλλά η χρήση μιας συστοιχίας τρανζίστορ, όπως το ULN2803, θα βοηθήσει σίγουρα να διατηρηθεί το μέγεθος του PCB μικρό. Το ULN2803 είναι ιδανικό για είσοδο 3,3V και 5V από μικροελεγκτή και μπορεί να οδηγήσει ρελέ έως 48V DC. Αυτό το ULN2803 διαθέτει 8 μεμονωμένα κυκλώματα τρανζίστορ, κάθε κύκλωμα εξοπλισμένο με όλα τα εξαρτήματα που απαιτούνται για την αλλαγή ενός ρελέ.
Το τελικό κύκλωμα εξόδου αποτελείται από ένα ULN3803, που οδηγεί 4 ρελέ εξόδου DC 12V. Κάθε επαφή του ρελέ είναι διαθέσιμη στα τερματικά PC Board.
Βήμα 4: Ταλαντωτής μικροελεγκτή
Κύκλωμα ταλαντωτών
Ο μικροελεγκτής χρειάζεται έναν ταλαντωτή για να λειτουργήσει σωστά. Για να διατηρηθεί ο σχεδιασμός Arduino Uno, το κύκλωμα θα χρησιμοποιήσει τον τυπικό ταλαντωτή 16MHz. Δύο επιλογές είναι διαθέσιμες:
Κρύσταλλο
Αυτή η μέθοδος χρησιμοποιεί έναν κρύσταλλο συνδεδεμένο με δύο πυκνωτές φόρτωσης. Αυτή είναι η πιο κοινή επιλογή.
Αντηχείο
Ο συντονιστής είναι βασικά ένας κρύσταλλος και δύο πυκνωτές φόρτωσης σε ένα πακέτο 3 ακίδων. Αυτό μειώνει την ποσότητα των εξαρτημάτων και αυξάνει τον διαθέσιμο χώρο στην πλακέτα PC.
Για να διατηρήσω τον αριθμό των εξαρτημάτων όσο το δυνατόν χαμηλότερος, επέλεξα να χρησιμοποιήσω έναν αντηχείο 16MHz.
Βήμα 5: LED ενδείξεων
Τι θα είναι οποιοδήποτε κύκλωμα χωρίς κάποια LED; Έγινε πρόβλεψη στην πλακέτα PC για LED 3mm.
Οι αντιστάσεις 1Κ χρησιμοποιούνται για τον περιορισμό του ρεύματος μέσω της λυχνίας LED σε λιγότερο από 5mA. Όταν χρησιμοποιείτε LED υψηλής φωτεινότητας 3mm, η φωτεινότητα είναι εξαιρετική.
Για εύκολη ερμηνεία των LED κατάστασης, χρησιμοποιούνται δύο χρώματα. Συνδυάζοντας τα δύο LED με ενδείξεις που αναβοσβήνουν, μπορούν να ληφθούν πολλές πληροφορίες από δύο μόνο LED.
Κόκκινο LED
Η κόκκινη λυχνία LED χρησιμοποιείται για να υποδείξει συνθήκες βλάβης, μεγάλες καθυστερήσεις, τυχόν εσφαλμένες εντολές.
Πράσινο LED
Το πράσινο LED χρησιμοποιείται για να υποδείξει υγιείς και/ή σωστές εισόδους και εντολές.
Βήμα 6: Κύκλωμα επαναφοράς μικροεπεξεργαστή
Για λόγους ασφαλείας, ορισμένες από τις λειτουργίες της μονάδας είναι διαθέσιμες μόνο τα πρώτα 10 λεπτά μετά την ενεργοποίηση της μονάδας.
Με το κουμπί επαναφοράς, η τροφοδοσία στη μονάδα δεν χρειάζεται να απενεργοποιηθεί για επαναφορά της μονάδας.
Πως δουλεύει
Η αντίσταση 10Κ θα διατηρήσει τη γραμμή RESET κοντά στα 5V. Όταν πατηθεί το κουμπί, η γραμμή RESET θα τραβηχτεί στα 0V, διατηρώντας έτσι τον μικροελεγκτή σε επαναφορά. Όταν απελευθερωθεί το κουμπί, η γραμμή RESET επιστρέφει στο %v, ενεργοποιώντας τον μικροελεγκτή.
Βήμα 7: Ενότητα SIM800L
Η καρδιά της μονάδας είναι η μονάδα SIM800L GSM. Αυτή η μονάδα χρησιμοποιεί μόνο 3 ακίδες εισόδου/εξόδου στο μικροελεγκτή.
Η μονάδα διασυνδέεται με τον μικροελεγκτή μέσω μιας τυπικής σειριακής θύρας.
- Όλες οι εντολές στη μονάδα αποστέλλονται μέσω της σειριακής θύρας χρησιμοποιώντας τυπικές εντολές AT.
- Με μια εισερχόμενη κλήση ή όταν λαμβάνεται ένα SMS, οι πληροφορίες αποστέλλονται στον μικροελεγκτή μέσω της σειριακής θύρας χρησιμοποιώντας κείμενο ASCII.
Για εξοικονόμηση χώρου, η μονάδα GSM συνδέεται στην πλακέτα υπολογιστή μέσω κεφαλίδας 7 ακίδων. Αυτό καθιστά εύκολη την αφαίρεση της μονάδας GSM. Αυτό επιτρέπει επίσης στο χρήστη να εισάγει/αφαιρέσει εύκολα την κάρτα SIM στο κάτω μέρος της μονάδας.
Απαιτείται ενεργή κάρτα SIM και η κάρτα SIM πρέπει να είναι σε θέση να στέλνει και να λαμβάνει μηνύματα SMS.
Ρύθμιση της μονάδας SIM800L GSM
Κατά την ενεργοποίηση της μονάδας, ο πείρος επαναφοράς της μονάδας GSM τραβιέται χαμηλά για ένα δευτερόλεπτο. Αυτό διασφαλίζει ότι η μονάδα GSM ξεκινά μόνο αφού σταθεροποιηθεί το τροφοδοτικό. Η μονάδα GSM διαρκεί μερικά δευτερόλεπτα για επανεκκίνηση, οπότε περιμένετε 5 δευτερόλεπτα προτού στείλετε εντολές AT στη μονάδα.
Για να διασφαλίσετε ότι η μονάδα GSM έχει ρυθμιστεί ώστε να επικοινωνεί σωστά με τον μικροελεγκτή, χρησιμοποιούνται οι ακόλουθες εντολές AT κατά την εκκίνηση:
ΣΤΟ
χρησιμοποιείται για να καθορίσει εάν είναι διαθέσιμη μια μονάδα GSM
ΣΤΟ+CREG;
Δημοσκοπήστε αυτήν την εντολή μέχρι να καταχωρηθεί η μονάδα GSM στο δίκτυο κινητών τηλεφώνων
AT+CMGF = 1
Ορίστε τη λειτουργία μηνύματος SMS σε ASCII
AT+CNMI = 1, 2, 0, 0, 0
Εάν διατίθεται SMS, στείλτε τα στοιχεία SMS στη σειριακή θύρα της μονάδας GSM
AT+CMGD = 1, 4
Διαγράψτε τυχόν μηνύματα SMS που είναι αποθηκευμένα στην κάρτα SIM
AT+CPBS = / "SM
Ορίστε τον τηλεφωνικό κατάλογο της μονάδας GSM στην κάρτα SIM
AT+COPS = 2, στη συνέχεια AT+CLTS = 1, στη συνέχεια AT+COPS = 0
Ορίστε την ώρα της μονάδας GSM σε ώρα δικτύου κινητής τηλεφωνίας
Περιμένετε 5 δευτερόλεπτα για να ρυθμιστεί ο χρόνος
AT+CUSD = 1
Ενεργοποιήστε τη λειτουργία ανταλλαγής μηνυμάτων USSD
Βήμα 8: Ο μικροελεγκτής
Ο μικροελεγκτής είναι ένα τυπικό AtMega328p, το ίδιο με αυτό που χρησιμοποιήθηκε στο Arduino Uno. Ο κώδικας είναι επομένως συγκρίσιμος και με τα δύο. Για εύκολη ενσωμάτωση προγραμματισμού, μια κεφαλίδα προγραμματισμού 6 ακίδων είναι διαθέσιμη στην πλακέτα PC.
Τα διάφορα τμήματα της μονάδας συνδέονται με τον μικροεπεξεργαστή και περιλαμβάνουν τα ακόλουθα:
- Τέσσερις ψηφιακές εισόδους
- Τέσσερις ψηφιακές έξοδοι
- Ο ταλαντωτής
- Δύο ενδεικτικές λυχνίες LED
- Επαναφορά κυκλώματος
- Ενότητα SIM800L GSM
Όλες οι επικοινωνίες από και προς τη μονάδα GSM γίνονται χρησιμοποιώντας τη λειτουργία SoftwareSerial (). Αυτή η μέθοδος χρησιμοποιήθηκε για την απελευθέρωση της κύριας σειριακής θύρας για το Arduino IDE κατά τη φάση ανάπτυξης.
Με μόνο 2KB SRAM και 1KB EEPROM, δεν υπάρχει αρκετή μνήμη για να αποθηκεύσετε περισσότερους από δύο χρήστες που μπορούν να συνδεθούν με τη μονάδα. Για να απελευθερώσετε το SRAM, όλες οι πληροφορίες χρήστη αποθηκεύονται στην κάρτα SIM στη μονάδα GSM. Με αυτήν τη διάταξη, η μονάδα μπορεί να εξυπηρετήσει έως και 250 διαφορετικούς χρήστες.
Τα δεδομένα διαμόρφωσης της μονάδας αποθηκεύονται στο EEPROM, διαχωρίζοντας έτσι τα δεδομένα χρήστη και τα δεδομένα συστήματος μεταξύ τους.
Υπάρχουν ακόμη αρκετές εφεδρικές ακίδες εισόδου/εξόδου, ωστόσο, η επιλογή προσθήκης οθόνης LCD ή/και πληκτρολογίου δεν ήταν δυνατή λόγω της μεγάλης ποσότητας SRAM που χρησιμοποιούσε το buffer λήψης και μετάδοσης του SoftWareSerial (), Λόγω της έλλειψης κάθε είδους διεπαφής χρήστη στη μονάδα, όλες οι ρυθμίσεις και οι χρήστες προγραμματίζονται χρησιμοποιώντας μηνύματα SMS.
Βήμα 9: Βελτιστοποίηση μνήμης SRAM
Αρκετά νωρίς στο στάδιο ανάπτυξης, το Arduino IDE ανέφερε χαμηλή μνήμη SRAM κατά τη σύνταξη του κώδικα. Χρησιμοποιήθηκαν διάφορες μέθοδοι για να ξεπεραστεί αυτό.
Περιορίστε τα δεδομένα που λαμβάνονται στη σειριακή θύρα
Η μονάδα GSM θα αναφέρει όλα τα μηνύματα στον μικροελεγκτή της σειριακής θύρας. Κατά τη λήψη μερικών μηνυμάτων SMS, το συνολικό μήκος του ληφθέντος μηνύματος μπορεί να υπερβαίνει τους 200 χαρακτήρες. Αυτό μπορεί να καταναλώσει γρήγορα όλο το SRAM που είναι διαθέσιμο στο τσιπ AtMega και θα προκαλέσει προβλήματα σταθερότητας.
για να αποφευχθεί αυτό, θα χρησιμοποιηθούν μόνο οι πρώτοι 200 χαρακτήρες ΟΠΟΙΟΥΔΗΠΟΤΕ μηνύματος λαμβάνεται από τη μονάδα GSM. Το παρακάτω παράδειγμα δείχνει πώς γίνεται αυτό μετρώντας τους λαμβανόμενους χαρακτήρες σε μεταβλητή Counter.
// σάρωση για δεδομένα από σειριακή θύρα λογισμικού
// --------------------------------------------------- RxString = ""; Μετρητής = 0; while (SSerial.available ()) {καθυστέρηση (1); // μικρή καθυστέρηση για να δοθεί χρόνος για την τοποθέτηση νέων δεδομένων στο buffer // λήψη νέου χαρακτήρα RxChar = char (SSerial.read ()); // προσθέστε τους πρώτους 200 χαρακτήρες στη συμβολοσειρά if (Counter <200) {RxString.concat (RxChar); Μετρητής = Μετρητής + 1; }}
Μείωση του κώδικα Serial.print ()
Αν και βολικό κατά την ανάπτυξη, το Arduino Serial Monitor μπορεί να καταναλώσει πολύ SRAM. Ο κώδικας αναπτύχθηκε χρησιμοποιώντας όσο το δυνατόν λιγότερους κώδικες Serial.print (). Ένα τμήμα κώδικα έχει δοκιμαστεί για να λειτουργήσει, όλος ο κώδικας Serial.print () αφαιρέθηκε από αυτό το μέρος του κώδικα.
Χρήση κώδικα Serial.print (F ((""))
Πολλές πληροφορίες που εμφανίζονται κανονικά στο Arduino Serial Monitor είναι πιο λογικές όταν προστίθενται περιγραφές. Πάρτε το ακόλουθο παράδειγμα:
Serial.println ("Αναμονή για συγκεκριμένες ενέργειες");
Η συμβολοσειρά "Αναμονή για συγκεκριμένες ενέργειες" έχει διορθωθεί και δεν μπορεί να αλλάξει.
Κατά τη σύνταξη του κώδικα, ο μεταγλωττιστής θα περιλαμβάνει τη συμβολοσειρά "Αναμονή για συγκεκριμένες ενέργειες" στη μνήμη FLASH.
Επιπλέον, ο μεταγλωττιστής βλέπει ότι η συμβολοσειρά είναι μια σταθερά, που χρησιμοποιείται από την εντολή "Serial.print" ή "Serial.println". Κατά την εκκίνηση του μικροφώνου, αυτή η σταθερά τοποθετείται επίσης στη μνήμη SRAM.
Χρησιμοποιώντας το πρόθεμα "F" στις λειτουργίες Serial.print (), λέει στον μεταγλωττιστή ότι αυτή η συμβολοσειρά είναι διαθέσιμη μόνο στη μνήμη FLASH. Για αυτό το παράδειγμα, η συμβολοσειρά περιέχει 28 χαρακτήρες. Αυτό είναι 28 byte που μπορούν να ελευθερωθούν στο SRAM.
Serial.println (F ("Αναμονή για συγκεκριμένες ενέργειες"));
Αυτή η μέθοδος ισχύει επίσης για τις εντολές SoftwareSerial.print (). Καθώς η μονάδα GSM λειτουργεί σε εντολές AT, ο κώδικας περιέχει πολλές εντολές SoftwareSerial.print ("xxxx"). Χρησιμοποιώντας το πρόθεμα "F" απελευθερώθηκαν σχεδόν 300 byte SRAM.
Μην χρησιμοποιείτε σειριακή θύρα υλικού
Μετά τον εντοπισμό σφαλμάτων κώδικα, η σειριακή θύρα υλικού απενεργοποιήθηκε με την κατάργηση ΟΛΩΝ των εντολών Serial.print (). Αυτό απελευθέρωσε μερικά επιπλέον byte SRAM.
Χωρίς εντολές Serial.print () που έχουν απομείνει στον κώδικα, διατέθηκαν επιπλέον 128 byte SRAM. Αυτό έγινε αφαιρώντας τη σειριακή θύρα υλικού από τον κώδικα. Αυτό αύξησε τα buffer μετάδοσης 64 byte και 64 byte λήψης.
// Serial.begin (9600); // η σειριακή θύρα υλικού απενεργοποιήθηκε
Χρήση EEPROM για συμβολοσειρές
Για κάθε είσοδο και έξοδο, έπρεπε να αποθηκευτούν τρεις συμβολοσειρές. Είναι το όνομα του καναλιού, η συμβολοσειρά όταν το κανάλι είναι ενεργοποιημένο και η συμβολοσειρά όταν το κανάλι είναι απενεργοποιημένο.
Με συνολικά 8 κανάλια εισόδου/εξόδου, θα είναι
- 8 συμβολοσειρές που περιέχουν τα ονόματα των καναλιών, καθένα με 10 χαρακτήρες
- 8 συμβολοσειρές που περιέχουν το κανάλι Περιγραφή, έκαστο 10 χαρακτήρων
- 8 συμβολοσειρές που περιέχουν το κανάλι Απενεργοποίηση περιγραφής, έκαστη 10 χαρακτήρων
Αυτό διαφημίζει έως 240 byte SRAM. Αντί να αποθηκεύσετε αυτές τις συμβολοσειρές στο SRAM, αποθηκεύονται στο EEPROM. Αυτό απελευθέρωσε επιπλέον 240 byte SRAM.
Δήλωση συμβολοσειράς με τα σωστά μήκη
Οι μεταβλητές δηλώνονται κανονικά στην αρχή του κώδικα. Ένα συνηθισμένο λάθος κατά τη δήλωση μιας μεταβλητής συμβολοσειράς είναι ότι δεν δηλώνουμε τη συμβολοσειρά με τον σωστό αριθμό χαρακτήρων.
Συμβολοσειρά GSM_Nr = "";
Συμβολοσειρά GSM_Name = ""; Συμβολοσειρά GSM_Msg = "";
Κατά την εκκίνηση, ο μικροελεγκτής δεν θα διαθέσει μνήμη στο SRAM για αυτές τις μεταβλητές. Αυτό μπορεί αργότερα να προκαλέσει αστάθεια όταν χρησιμοποιούνται αυτές οι συμβολοσειρές.
Για να αποφευχθεί αυτό, δηλώστε τις συμβολοσειρές με τον σωστό αριθμό χαρακτήρων που θα χρησιμοποιήσει η συμβολοσειρά στο λογισμικό.
Συμβολοσειρά GSM_Nr = "1000000000";
String GSM_Name = "2000000000"; String GSM_Msg = "3000000000";
Παρατηρήστε πώς δεν δήλωσα τις χορδές με τους ίδιους χαρακτήρες. Εάν δηλώσετε αυτές τις συμβολοσειρές όλες με τη λέξη "1234567890", ο μεταγλωττιστής θα δει την ίδια συμβολοσειρά στις τρεις μεταβλητές και θα διαθέσει μόνο αρκετή μνήμη στο SRAM για μία από τις συμβολοσειρές.
Βήμα 10: Σειριακό μέγεθος buffer λογισμικού
Στον ακόλουθο κώδικα, θα παρατηρήσετε ότι μπορούν να διαβαστούν έως 200 χαρακτήρες από τη σειριακή θύρα του λογισμικού.
// σάρωση για δεδομένα από σειριακή θύρα λογισμικού
// --------------------------------------------------- RxString = ""; Μετρητής = 0; while (SSerial.available ()) {καθυστέρηση (1); // μικρή καθυστέρηση για να δοθεί χρόνος για την τοποθέτηση νέων δεδομένων στο buffer // λήψη νέου χαρακτήρα RxChar = char (SSerial.read ()); // προσθέστε τους πρώτους 200 χαρακτήρες στη συμβολοσειρά if (Counter <200) {RxString.concat (RxChar); Μετρητής = Μετρητής + 1; }}
Αυτό απαιτεί ένα buffer τουλάχιστον 200 byte για τη σειριακή θύρα του λογισμικού επίσης. από προεπιλογή, το buffer σειριακής θύρας λογισμικού είναι μόνο 64 byte. Για να αυξήσετε αυτό το buffer, αναζητήστε το ακόλουθο αρχείο:
SoftwareSerial.h
Ανοίξτε το αρχείο με έναν επεξεργαστή κειμένου και αλλάξτε το μέγεθος του buffer σε 200.
/******************************************************************************
* Ορισμοί ************************************************ *****************************/ #ifndef _SS_MAX_RX_BUFF #define _SS_MAX_RX_BUFF 200 // RX buffer size #endif
Βήμα 11: Δημιουργία του πίνακα υπολογιστών
Το PC Board σχεδιάστηκε χρησιμοποιώντας την δωρεάν έκδοση του Cadsoft Eagle (πιστεύω ότι το όνομα έχει αλλάξει).
- Το PC Board είναι σχεδιασμός μονής όψης.
- Δεν χρησιμοποιούνται εξαρτήματα τοποθέτησης στην επιφάνεια.
- Όλα τα εξαρτήματα είναι τοποθετημένα στην πλακέτα του υπολογιστή, συμπεριλαμβανομένης της μονάδας SIM800L.
- Δεν απαιτούνται εξωτερικά εξαρτήματα ή συνδέσεις
- Οι βραχυκυκλωτήρες είναι κρυμμένοι κάτω από τα εξαρτήματα για πιο καθαρή εμφάνιση.
Χρησιμοποιώ την ακόλουθη μέθοδο για να φτιάξω πίνακες υπολογιστών:
- Η εικόνα της πλακέτας PC εκτυπώνεται στο Press-n-Peel χρησιμοποιώντας εκτυπωτή λέιζερ.
- Το Press-n-Peel τοποθετείται στη συνέχεια πάνω από ένα καθαρό κομμάτι PC Board και ασφαλίζεται με λίγη ταινία.
- Στη συνέχεια, η εικόνα του πίνακα PC μεταφέρεται από το Press-n-Peel στην κενή πλακέτα PC περνώντας τον πίνακα μέσω ενός πλαστικοποιητή. Για μένα, τα 10 περάσματα λειτουργούν καλύτερα.
- Αφού κρυώσει ο πίνακας PC σε θερμοκρασία δωματίου, το Press-n-Peel ανασηκώνεται αργά από τον πίνακα.
- Το PC Board στη συνέχεια χαράσσεται χρησιμοποιώντας κρυστάλλους υπερθειικού αμμωνίου διαλυμένους σε ζεστό νερό.
- Μετά την χάραξη, το μπλε γραφίτη Press-n-Peel και μαύρο αφαιρείται καθαρίζοντας το χαραγμένο PC Board με λίγο ακετόνη.
- Στη συνέχεια, ο πίνακας κόβεται στο μέγεθος με ένα Dremel
- Οι τρύπες για όλα τα διαμπερή εξαρτήματα ανοίγονται χρησιμοποιώντας ένα τρυπάνι 1mm.
- Οι ακροδέκτες των ακροδεκτών τρυπιούνται χρησιμοποιώντας ένα τρυπάνι 1,2 mm.
Βήμα 12: Συνέλευση του Διοικητικού Συμβουλίου του PC
Η συναρμολόγηση πραγματοποιείται προσθέτοντας πρώτα τα μικρότερα εξαρτήματα και προχωρώντας μέχρι τα μεγαλύτερα εξαρτήματα.
Όλα τα εξαρτήματα που χρησιμοποιούνται σε αυτό το Instructable, εξαιρουμένης της μονάδας SIM800, προέρχονται από τον τοπικό προμηθευτή μου. Τους σκέφτεται ότι έχουν πάντα απόθεμα. Ρίξτε μια ματιά στον ιστότοπό τους στη Νότια Αφρική:
www.shop.rabtron.co.za/catalog/index.php
ΣΗΜΕΙΩΣΗ! Συγκολλήστε πρώτα τους δύο βραχυκυκλωτήρες που βρίσκονται κάτω από το IC ATMEGA328p
Η σειρά έχει ως εξής:
- Αντίσταση και δίοδος
- Κουμπί επαναφοράς
- Υποδοχές IC
- Ρυθμιστής τάσης
- Καρφίτσες κεφαλίδας
- Μικροί πυκνωτές
- LED
- Θήκη ασφάλειας
- Τερματικά μπλοκ
- Ρελέ
- Ηλεκτρολυτικοί πυκνωτές
Πριν τοποθετήσετε τα IC, συνδέστε τη μονάδα στα 12V και δοκιμάστε όλες τις τάσεις να είναι σωστές.
Τέλος, χρησιμοποιώντας κάποια διαφανή λάκα, καλύψτε την χάλκινη πλευρά της πλακέτας PC για να την προστατέψετε από τα στοιχεία.
Όταν στεγνώσει η λάκα, τοποθετήστε τα IC, αλλά αφήστε τη μονάδα GSM μέχρι να προγραμματιστεί το AtMega.
Βήμα 13: Προγραμματισμός του AtMega328p
# # Αναβάθμιση υλικολογισμικού σε έκδοση 3.02 # #
Ενεργοποιημένα SMS που αποστέλλονται στον MASTER USER όταν αποκατασταθεί η ισχύς στη συσκευή
Χρησιμοποιώ ένα Arduino Uno με ασπίδα προγραμματισμού για τον προγραμματισμό της μονάδας. Για περισσότερες πληροφορίες σχετικά με τον τρόπο χρήσης ενός Arduino Uno ως προγραμματιστή, ανατρέξτε σε αυτό το Instructable:
Arduino UNO Ως προγραμματιστής AtMega328P
Η μονάδα GSM πρέπει να αφαιρεθεί από την πλακέτα PC για να αποκτήσετε πρόσβαση στην κεφαλίδα προγραμματισμού. Προσέξτε να μην καταστρέψετε το καλώδιο της κεραίας κατά την αφαίρεση της μονάδας GSM.
Συνδέστε το καλώδιο προγραμματισμού μεταξύ του προγραμματιστή και της μονάδας χρησιμοποιώντας την κεφαλίδα προγραμματισμού στην πλακέτα PC. Και ανεβάστε το σκίτσο στη μονάδα.
Η εξωτερική τροφοδοσία 12V δεν απαιτείται για τον προγραμματισμό της μονάδας. Το PC Board θα τροφοδοτείται από το Arduino μέσω του καλωδίου προγραμματισμού.
Ανοίξτε το συνημμένο αρχείο στο Arduino IDE και προγραμματίστε το στη μονάδα.
Μετά τον προγραμματισμό, αφαιρέστε το καλώδιο προγραμματισμού και τοποθετήστε τη μονάδα GSM.
Η μονάδα είναι τώρα έτοιμη για χρήση.
Βήμα 14: Σύνδεση της μονάδας
Όλες οι συνδέσεις στη μονάδα γίνονται μέσω των βιδωτών ακροδεκτών.
Τροφοδοσία της μονάδας
Βεβαιωθείτε ότι έχετε τοποθετήσει μια καταχωρημένη κάρτα SIM στη μονάδα GSM και ότι η κάρτα SIM είναι σε θέση να στέλνει και να λαμβάνει μηνύματα SMS.
Συνδέστε ένα τροφοδοτικό 12V DC στο 12V IN και σε οποιονδήποτε από τους ακροδέκτες 0V. Μόλις ενεργοποιηθεί, θα ανάψει η κόκκινη λυχνία LED στην πλακέτα PC. Σε περίπου ένα λεπτό, η μονάδα GSM θα πρέπει να έχει συνδεθεί στο δίκτυο κινητής τηλεφωνίας. Το κόκκινο LED θα σβήσει και ένα κόκκινο LED στη μονάδα GSM θα αναβοσβήνει γρήγορα.
Μόλις επιτευχθεί αυτό το στάδιο, η μονάδα είναι έτοιμη για διαμόρφωση.
Συνδέσεις εισόδου
Οι ψηφιακές είσοδοι λειτουργούν σε 12V. Για να ενεργοποιήσετε μια είσοδο, πρέπει να εφαρμοστεί 12V στην είσοδο. Η αφαίρεση των 12V θα απενεργοποιήσει την είσοδο.
Συνδέσεις εξόδου
Κάθε έξοδος αποτελείται από μια επαφή αλλαγής. Συνδέστε κάθε επαφή όπως απαιτείται.
Βήμα 15: Αρχική ρύθμιση
Η αρχική ρύθμιση της μονάδας πρέπει να πραγματοποιηθεί για να διασφαλιστεί ότι όλες οι παράμετροι έχουν οριστεί στις εργοστασιακές προεπιλογές και ότι η κάρτα SIM έχει ρυθμιστεί ώστε να δέχεται πληροφορίες χρήστη σε σωστή μορφή.
Καθώς όλες οι εντολές βασίζονται σε SMS, θα χρειαστείτε άλλο τηλέφωνο για να εκτελέσετε τη ρύθμιση.
Για την αρχική ρύθμιση, πρέπει να βρίσκεστε στη μονάδα.
Ορίστε τον αριθμό τηλεφώνου MASTER USER
Καθώς μόνο ο MASTER USER μπορεί να διαμορφώσει τη μονάδα, αυτό το βήμα πρέπει να εκτελεστεί πρώτα.
- Η μονάδα πρέπει να τροφοδοτείται.
- Πατήστε και αφήστε το κουμπί Reset και περιμένετε να σβήσει το κόκκινο LED στην πλακέτα PC.
- Το LED NET στη μονάδα GSM θα αναβοσβήνει γρήγορα.
- Η μονάδα είναι τώρα έτοιμη να δεχτεί τις αρχικές εντολές εγκατάστασης. Αυτό πρέπει να γίνει μέσα σε 10 λεπτά.
- Στείλτε ένα μήνυμα SMS που περιέχει MASTER, περιγραφή στον αριθμό τηλεφώνου της μονάδας.
- Εάν ληφθεί, η πράσινη λυχνία LED στην πλακέτα PC αναβοσβήνει δύο φορές.
- Ο MASTER USER έχει πλέον προγραμματιστεί.
Επαναφέρετε τη μονάδα στις εργοστασιακές προεπιλογές
Μετά τον προγραμματισμό του MASTER USER, οι ρυθμίσεις της μονάδας πρέπει να ρυθμιστούν στις εργοστασιακές προεπιλογές.
- Στείλτε ένα μήνυμα SMS μόνο με CLEARALL στον αριθμό τηλεφώνου της μονάδας.
- Εάν ληφθεί, το πράσινο και το κόκκινο LED στην πλακέτα PC αναβοσβήνει εναλλακτικά μία φορά το δευτερόλεπτο. Η μονάδα έχει αποκατασταθεί με τις εργοστασιακές προεπιλεγμένες ρυθμίσεις.
- Όλες οι ρυθμίσεις έχουν αποκατασταθεί στις εργοστασιακές προεπιλογές.
- Πατήστε και αφήστε το κουμπί Reset για επανεκκίνηση της μονάδας.
Μορφοποίηση της κάρτας SIM
Το τελευταίο βήμα είναι να διαγράψετε όλες τις πληροφορίες που είναι αποθηκευμένες στην κάρτα SIM και να τις διαμορφώσετε για χρήση σε αυτήν τη μονάδα.
- Πατήστε και αφήστε το κουμπί Reset και περιμένετε να σβήσει το κόκκινο LED στην πλακέτα PC.
- Το LED NET στη μονάδα GSM θα αναβοσβήνει γρήγορα.
- Η μονάδα είναι τώρα έτοιμη να δεχτεί τις αρχικές εντολές εγκατάστασης. Αυτό πρέπει να γίνει μέσα σε 10 λεπτά.
- Στείλτε ένα μήνυμα SMS μόνο με το ERASESIM στον αριθμό τηλεφώνου της μονάδας.
- Εάν ληφθεί, η πράσινη λυχνία LED στην πλακέτα του υπολογιστή θα αναβοσβήνει φορές.
Η μονάδα έχει πλέον διαμορφωθεί και είναι έτοιμη για χρήση.
Βήμα 16: Εντολές SMS
Υπάρχουν τρεις διαφορετικοί τύποι εντολών που χρησιμοποιούνται από τη μονάδα. Όλες οι εντολές αποστέλλονται μέσω SMS και είναι όλες στην ακόλουθη μορφή:
ΕΝΤΟΛΗ,,,,,
- Όλες οι εντολές, εκτός από τις ΚΑΝΟΝΙΚΕΣ εντολές ΧΡΗΣΤΗ, έχουν διάκριση πεζών -κεφαλαίων.
- Οι παράμετροι δεν κάνουν διάκριση πεζών -κεφαλαίων.
Εντολές αρχικής εγκατάστασης
MASTER, όνομα
Ο αριθμός τηλεφώνου του αποστολέα SMS χρησιμοποιείται ως αριθμός τηλεφώνου MASTER USER. μια περιγραφή για τη μονάδα μπορεί να προστεθεί εδώ.
ΤΑ ΚΑΘΑΡΙΖΩ ΟΛΑ
Επαναφέρετε τη μονάδα στις εργοστασιακές προεπιλογές
CLEARSIM
Διαγράψτε όλα τα δεδομένα από την κάρτα SIM
ΕΠΑΝΑΦΟΡΑ
Επανεκκινήστε τη μονάδα
MASTER USER Εντολές για τη διαμόρφωση της μονάδας
OUTMODE, c, m, t ΣΗΜΕΙΩΣΗ! ! ! ΔΕΝ ΥΠΑΡΧΕΙ ΑΚΟΜΑ
Ορίστε συγκεκριμένα κανάλια για έξοδο PULSED, TIMED ή LATCHING. t είναι η χρονική διάρκεια σε λεπτά για τις εξόδους TIMED
PULSE, cccc
Ορίστε συγκεκριμένα κανάλια σε εξόδους PULSED. Εάν δεν οριστεί, τα κανάλια θα ορίζονται ως LATCHING έξοδοι.
PULSETIME, t Ορίζει την παλμική διάρκεια εξόδου σε δευτερόλεπτα (0.. 10s)
INPUTON, cccc
Ορίστε κανάλια που πρέπει να ενεργοποιηθούν και στείλτε ένα μήνυμα SMS όταν η κατάσταση αλλάξει από OFF σε ON
INPUTOFF, cccc
Ορίστε κανάλια που πρέπει να ενεργοποιηθούν και στείλτε ένα μήνυμα SMS όταν η κατάσταση αλλάξει από ON σε OFF
INTIME, c, t
Ρυθμίζει τον χρόνο καθυστέρησης εισόδου για τον εντοπισμό αλλαγών κατάστασης σε δευτερόλεπτα
INTEXT, ch, όνομα, on, off
Ορίστε το όνομα κάθε καναλιού εισόδου, σε κείμενο και εκτός κειμένου
OUTTEXT, ch, όνομα, on, off
Ορίστε το όνομα κάθε καναλιού εξόδου, σε κείμενο και εκτός κειμένου
Προσθήκη, τοποθεσία, αριθμός, Εισερχόμενα, SMSoutputs, είσοδοι
Προσθήκη χρήστη στην κάρτα SIM στη θέση «μνήμης», με τα κανάλια εξόδου και εισόδου να εκχωρούνται στον χρήστη
Del, τοποθεσία
Διαγραφή χρήστη από τη θέση της μνήμης της κάρτας SIM
Όνομα καναλιού
Θα δώσει παλμό εξόδου με το όνομα ChannelName
Όνομα καναλιού, onText ή ChannelName, offText
Θα ενεργοποιήσει/απενεργοποιήσει την έξοδο με το όνομα του ChannelName και onText/offText
Κανονικές εντολές χρήστη για τον έλεγχο της μονάδας
???? Αίτημα ενημέρωσης κατάστασης εισόδου/εξόδου. Τα SMS κατάστασης θα σταλούν στον δημιουργό.
Όνομα καναλιού
Θα δώσει παλμό εξόδου με το όνομα ChannelName
Όνομα καναλιού, onText
Θα ενεργοποιήσει την έξοδο με το όνομα του ChannelName και το κείμενο κατάστασης στοText
Όνομα καναλιού, offText Θα απενεργοποιήσει την έξοδο με το όνομα του ChannelName και το κείμενο κατάστασης απενεργοποιημένοText
Για μια πιο λεπτομερή περιγραφή των εντολών, ανατρέξτε στο συνημμένο έγγραφο PDF.
Συνιστάται:
Μονάδα ελέγχου ArDrone 2.0 Quadcopter Control σε μονάδα MPU6050 και ESP8266: 7 βήματα
Μονάδα ελέγχου ArDrone 2.0 Quadcopter σε μονάδα MPU6050 και ESP8266: Το μέγεθος, η τιμή και η διαθεσιμότητα του Wi-Fi σάς επιτρέπουν να δημιουργήσετε μια μονάδα ελέγχου προϋπολογισμού για το τετρακόπτερο ArDrone 2.0 στην ενότητα ESP8266 (τιμές στο AliExpress, Gearbest). Για έλεγχο, θα χρησιμοποιήσουμε τη μονάδα Gy-521 στο τσιπ MPU6050 (γυροσκόπιο, acc
ARUPI - μια αυτόματη μονάδα εγγραφής χαμηλού κόστους/μονάδα αυτόματης εγγραφής (ARU) για οικολόγους Soundscape: 8 βήματα (με εικόνες)
ARUPI - μια χαμηλού κόστους αυτόματη μονάδα εγγραφής/αυτόνομη μονάδα εγγραφής (ARU) για Soundscape Ecologists: Αυτό το εκπαιδευτικό γράφτηκε από τον Anthony Turner. Το έργο αναπτύχθηκε με πολλή βοήθεια από το Shed in the School of Computing, University of Kent (ο κ. Daniel Knox ήταν μια μεγάλη βοήθεια!). Θα σας δείξει πώς να φτιάξετε μια Αυτόματη Ηχογράφηση U
Το συνηθισμένο κιτ τηλεχειρισμού μετατράπηκε σε τηλεχειριστήριο τεσσάρων καναλιών RC Toy: 4 βήματα
Συνηθισμένο κιτ τηλεχειριστηρίου μετασχηματισμένο σε τετρακάναλο τηλεχειριστήριο RC Toy: 如何 将 通用 62 62 62 62 62 62 62 62 62 62 62改造 方法 非常 简单. 只需 准备 一些 瓦楞纸 板, 然后 按照 视频 教程 完成 这个 电子 项目 并 为 您 服务. 玩具 车船 提供 远程 无线 控制
Έλεγχος κινητήρα βασισμένος σε Arduino GSM (Χωρίς μονάδα GSM): 3 βήματα
Arduino GSM Based Motor Control (Χωρίς μονάδα GSM): Σε αυτό το έργο θα σας δείξω μια βασική αλλά μοναδική μέθοδο για να ενεργοποιήσετε και να απενεργοποιήσετε οτιδήποτε χρησιμοποιώντας ρελέ. Αυτή η ιδέα προήλθε από λίγα άτομα που έκαναν τέτοια έργα, αλλά είχαν πρόβλημα ότι εξαρτώνταν από τις συμπεριφορές του κινητού τηλεφώνου κατά την κλήση. Απλοποιώ
Η θύρα NODEMcu USB δεν λειτουργεί; Ανεβάστε τον κωδικό χρησιμοποιώντας μονάδα USB σε μονάδα TTL (FTDI) σε μόλις 2 βήματα: 3 βήματα
Η θύρα NODEMcu USB δεν λειτουργεί; Ανεβάστε τον Κώδικα χρησιμοποιώντας τη μονάδα USB σε TTL (FTDI) σε μόλις 2 βήματα: Κουραστήκατε να συνδέεστε σε πολλά καλώδια από μονάδα USB σε μονάδα TTL στο NODEMcu, ακολουθήστε αυτήν την οδηγία, για να ανεβάσετε τον κώδικα σε μόλις 2 βήματα. Εάν η θύρα USB του Το NODEMcu δεν λειτουργεί, τότε μην πανικοβληθείτε. Είναι μόνο το τσιπ προγράμματος οδήγησης USB ή η υποδοχή USB