Πίνακας περιεχομένων:
- Βήμα 1: Ο σχεδιασμός
- Βήμα 2: BluChip Explorer Kit
- Βήμα 3: Εφαρμογή NRF Connect
- Βήμα 4: Προγραμματισμός του BluChip
- Βήμα 5: Χτίζοντας τις Αυτοματοποιημένες Κουρτίνες
- Βήμα 6: Διαμόρφωση υλικολογισμικού BluChip
- Βήμα 7: Περίληψη
Βίντεο: Αυτοματοποιημένες κουρτίνες σπιτιού - Mini Project With MakerChips’BluChip (nRF51 BLE) Ενότητα: 7 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Φανταστείτε να ξυπνάτε και να θέλετε να περάσετε μια ηλιαχτίδα από τα παράθυρά σας ή να κλείσετε τις κουρτίνες για να κοιμηθείτε περισσότερο, χωρίς να προσπαθείτε να πλησιάσετε τις κουρτίνες, αλλά με το πάτημα ενός κουμπιού στο smartphone σας. Με το αυτοματοποιημένο σύστημα κουρτινών σπιτιού, μπορείτε να το επιτύχετε με εξαρτήματα που δεν κοστίζουν περισσότερο από $ 90!
Δείτε αυτό το σεμινάριο στο Github
Βήμα 1: Ο σχεδιασμός
Στην καρδιά του συστήματος αυτοματοποιημένων κουρτινών σπιτιού βρίσκεται η μονάδα BluChip της MakerChips.
Το BluChip είναι μια μικροσκοπική μονάδα Bluetooth 16,6x11,15mm που μπορεί να χρησιμεύσει ως περιφερειακό σε smartphone μέσω BTLE.
Κάντε κλικ εδώ για μια εισαγωγή στο Bluetooth Low Energy (BTLE).
Η ενότητα αποτελείται από ένα nRF51 SoC by Nordic Semiconductors, μια εξαιρετική πλατφόρμα για εφαρμογές BLE καθώς υποστηρίζει πολλές ενσωματωμένες δυνατότητες τόσο στις εφαρμογές Android όσο και στην Apple.
Βήμα 2: BluChip Explorer Kit
Για να δημιουργήσω αυτό το έργο, πήρα το BluChip Explorer Kit από το MakerChips το οποίο έφτασε σε 2 ξεχωριστά κουτιά, ένα για τον προγραμματιστή CMSIS-DAP και ένα άλλο κουτί που περιέχει το BluChip σε ένα breadboard με 2 LED RGB, μια αντίσταση φωτογραφιών και μια μπαταρία CR2032.
Όπως έχετε παρατηρήσει, η μονάδα BluChip είναι εξαιρετικά μικρή, καθιστώντας την ιδανική για μικρά ενσωματωμένα έργα χαμηλής ισχύος Bluetooth. Ταιριάζει σε ένα αποτύπωμα μόνο 6x4 κεφαλίδων 0,1 "σε ένα breadboard και έχει επιπλέον κεφαλίδες 0,05" στο πάνω μέρος του πίνακα, αρκετά εντυπωσιακό για ένα εμπορικά πιστοποιημένο πακέτο FCC!
Ακολουθούν ορισμένα βασικά χαρακτηριστικά του BluChip από τον ιστότοπο της MakerChips:
- 14 προσβάσιμες καρφίτσες GPIO
- Επεξεργαστής ARM Cortex M0 32bit και φλας 256KB και 32KB RAM
- 16,6 mm x 11,15 mm Διατίθεται η μικρότερη μονάδα Bluetooth-για επιβίβαση στο ψωμί
- Το τροφοδοτικό υποστηρίζει 1,8V - 3,6V
-
Λειτουργίες Bluetooth
- BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
- Bluetooth® και Ιαπωνία, FCC, IC
- Ενσωματωμένο ρολόι συστήματος 32 Mhz
- Ισχύς εξόδου: τυπική +4dBm
-
Συχνότητα: 2402 έως 2480 MHz
Ενσωματωμένη κεραία μοτίβου υψηλής απόδοσης
- Single Mode Bluetooth® Smart Slave/Master
- Υποστηριζόμενες διεπαφές: SPI, UART, I2C και ADC 8/9/10bit
-
Δύο σειρές ακίδων προγραμματισμού
- .05 "κεφαλίδες για εύκολη σύνδεση με συσκευές CMSIS-DAP και J-Link
- .1 "κεφαλίδες για διασύνδεση με σανίδες ψωμιού
- Λογισμικό ελεγχόμενο κόκκινο LED
Βήμα 3: Εφαρμογή NRF Connect
Μόλις ανοίξετε το πλαίσιο εξερεύνησης BluChip, το βλέπετε να ζωντανεύει με LED που αναβοσβήνει, ένα συναρπαστικό θέαμα, έτσι δεν είναι;
Για να δείτε τι υπάρχει με αυτήν την ενότητα BLE, προχωρήστε και εγκαταστήστε την εφαρμογή nRF Connect από το Google Play ή το App Store.
Θα συνδεθούμε στο BluChip με το τηλέφωνό μας, οπότε ανοίξτε την εφαρμογή nRF Connect, περιηγηθείτε στην οθόνη υποδοχής και πατήστε Ενεργοποίηση για να ενεργοποιήσετε το Bluetooth. Στη συνέχεια, πατήστε Σάρωση και σύντομα θα ανακαλύψετε ότι η συσκευή σας BluChip παρατίθεται στην καρτέλα Σαρωτής.
Πριν συνδεθούμε πραγματικά με το BluChip, ας πάρουμε ένα LED και το τοποθετήσουμε στο breadboard δίπλα στις ακίδες 026 (+ve) και 021 (-ve). Η λυχνία LED θα πρέπει να ανάψει αμέσως επειδή ο πείρος 026 εξάγει 3.3V (λογικό επίπεδο Υ HIGHΗΛΟΣ) ενώ ο ακροδέκτης 021 είναι λογικός ΧΑΜΗΛΟΣ (Γείωση).
Προχωρήστε και πατήστε σύνδεση για να δημιουργήσετε μια σύνδεση μεταξύ του smartphone σας και του BluChip, το οποίο στη συνέχεια σας μεταφέρει στην καρτέλα πελάτη της συσκευής στην εφαρμογή.
Η καρτέλα πελάτη BluChip εμφανίζει όλες τις διαθέσιμες υπηρεσίες στη συσκευή σας. Αυτό που μας ενδιαφέρει εδώ είναι η υπηρεσία BlueChip GPIO (αναφέρεται ως Άγνωστη Υπηρεσία). Αγγίξτε το και, στη συνέχεια, πατήστε το βέλος προς τα πάνω, δίπλα στο Χαρακτηριστικό Διαμόρφωσης GPIO (αναφέρεται ως Άγνωστο Χαρακτηριστικό).
Θα εμφανιστεί ένα αναδυόμενο παράθυρο τιμής εγγραφής, δίνοντάς σας την επιλογή να στείλετε δεδομένα στη συσκευή BluChip. Στην περίπτωσή μας, θέλουμε να απενεργοποιήσουμε το LED, οπότε πατήστε το βέλος δίπλα στο BYTE ARRAY και αλλάξτε τη μορφή δεδομένων σε UINT 8. Θα στείλουμε τον αριθμό pin ως πρώτη τιμή, οπότε πληκτρολογήστε 21 για pin021. Αγγίξτε την προσθήκη αξίας για να στείλετε το επόμενο κομμάτι δεδομένων, η κατάσταση του οποίου πρέπει να οριστεί η καρφίτσα (δεκαεξαδική μορφή BYTE). Για να απενεργοποιήσετε τη λυχνία LED, θα θέσουμε τον πείρο 021 σε 3,3V (επίπεδο λογικού υψηλού), οπότε πληκτρολογήστε 01 και μετά πατήστε Αποστολή.
Η λυχνία LED σβήνει ακαριαία! Για να ανάψετε ξανά το LED, στείλτε μια τιμή 0x00 (λογικό επίπεδο LOW) στο pin021. Όπως φαίνεται παρακάτω στο αναγραφόμενο χαρακτηριστικό, εμφανίζεται η τιμή αποστολής (0x) 15-01. {[(δεκαδικό UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501}
Εάν επιλέξετε να αποθηκεύσετε αυτές τις τιμές στο αναδυόμενο παράθυρο τιμής, δίνοντάς του ένα όνομα και, στη συνέχεια, πατώντας αποθήκευση, μπορείτε να τις φορτώσετε στο μέλλον ως προεπιλογές για εύκολη διαμόρφωση GPIO!
Βήμα 4: Προγραμματισμός του BluChip
Θα είχατε παρατηρήσει από το παραπάνω βίντεο ότι το όνομα της συσκευής BluChip στο τηλέφωνό μου είναι διαφορετικό από το δικό σας, οπότε πώς μπορούμε να το αλλάξουμε σύμφωνα με τις δικές μας προτιμήσεις;
Το υλικολογισμικό εφαρμογής που εκτελείται στο BluChip χρησιμεύει ως περιφερειακή συσκευή (υποτελής) μέσω BLE σε κεντρικές συσκευές (κύρια), όπως smartphone που είναι συνδεδεμένα σε αυτό. Για να αλλάξετε το όνομα της συσκευής μας, ας ψάξουμε να αναβοσβήνει το υλικολογισμικό εφαρμογών στο BluChip μας.
Με το κιτ BluChip Explorer περιλαμβάνεται ο προγραμματιστής ARM (CMSIS-DAP). Το MakerChips παρείχε έναν προσεκτικό οδηγό για τις λεπτομέρειες του αναβοσβήνει υλικολογισμικού στο BluChip με το CMSIS-DAP.
Για να μεταγλωττίσουμε το υλικολογισμικό σε ένα δεκαεξαδικό αρχείο και να το αναβοσβήσουμε, θα χρειαστούμε Keil, nRF51 Software Development Kit (SDK) και υλικολογισμικό BluChip. Προχωρήστε και κατεβάστε τα από τους συνδέσμους στην ενότητα "Το Λογισμικό" στη σελίδα MakerChips Programming the BluChip with CMSIS-DAP και Keil.
Εγκαταστήστε το Keil και ακολουθήστε τα βήματα 1-3 στην ενότητα "Δημιουργία Hex αρχείου".
Σε αυτό το σημείο, μπορείτε να συνεχίσετε στο Βήμα 4, Αναδημιουργία όλων των αρχείων -στόχων.
Εάν λάβετε ένα σφάλμα σχετικά με το "core_cm0.h", θα πρέπει να προσθέσετε τη διαδρομή του στο έργο για να το μεταγλωττίσετε.
Απλώς θα πρέπει να αναζητήσουμε το αρχείο και να εντοπίσουμε τον κατάλογό του, ο οποίος είναι "\ components / toolchain / gcc".
Ας συμπεριλάβουμε αυτόν τον δρόμο στο έργο μας. Κάντε κλικ στην επιλογή Επιλογές για στόχευση, μεταβείτε στην καρτέλα C/C ++ και, στη συνέχεια, συμπεριλάβετε τη διαδρομή, όπως φαίνεται στο σχήμα 16.
Αφού συμπεριλάβουμε τις απαραίτητες εξαρτήσεις, το έργο μας μεταγλωττίζεται και μπορούμε τώρα να δούμε την μεταγλωττισμένη έξοδο, ένα προσαρμοσμένο εξάγωνο αρχείο στη διεύθυνση "nRF51_SDK_10.0.0_dc26b5e / example / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_".
Για να αναβοσβήσετε το εξάγωνο αρχείο στο BluChip, ακολουθήστε τα βήματα 1-8 στην ενότητα "Μεταφορά του αρχείου Εξάγωνο".
Τώρα που έχετε φορτώσει το υλικολογισμικό στο BluChip με ένα προσαρμοσμένο όνομα συσκευής, ενεργοποιήστε την εφαρμογή nRF Connect και σαρώστε τη συσκευή σας. Θα παρατηρήσετε ότι τώρα έχει πάρει το όνομά του από αυτό που έχετε ορίσει στη DEVICE_NAME στο υλικολογισμικό!
Στο επόμενο βήμα, θα αρχίσουμε να ρυθμίζουμε το υλικό, τα ηλεκτρονικά και το λογισμικό του αυτόματου συστήματος κουρτινών σπιτιού μας.
Βήμα 5: Χτίζοντας τις Αυτοματοποιημένες Κουρτίνες
Αφού εξετάσαμε τη διαδικασία σύνταξης και αναβοσβήματος του υλικολογισμικού μας, ας προχωρήσουμε στη δημιουργία των δικών μας κουρτινών bluetooth!
Ένας βηματικός κινητήρας θα χρησιμοποιηθεί για την οδήγηση ενός ιμάντα χρονισμού που μετακινεί τις κουρτίνες ανοιγοκλείνοντας. Ο βηματικός κινητήρας οδηγείται από ένα IC οδηγού Half-H που θα ελέγχεται από το BluChip.
Για τροφοδοσία, θα χρησιμοποιήσουμε έναν ρυθμιστή τάσης 12V AC-DC που τροφοδοτείται στον κινητήρα, μαζί με έναν ρυθμιστή τάσης LM317 DC-DC για να κατεβάσουμε τα 12V στα 3.3V, τα οποία θα τροφοδοτήσουν το IC του BluChip και του Stepper Driver.
Μπορείτε να αποκτήσετε τη δική σας μονάδα BluChip από το ολοκαίνουργιο κατάστημα της MakerChips στο Tindie ή από τον ιστότοπο MakerChips.
Ας πάρουμε τα παρακάτω μέρη εκτός από το BluChip Explorer Kit για να ξεκινήσουμε τη συναρμολόγηση των αυτόματων κουρτινών:
- Προσαρμογέας ρεύματος 12V 1A 3.40 $
- Barrel Jack 0,68 $
- Ρυθμιστής τάσης LM317T 0,80 $
- Αντιστάσεις (200 & 330 Ohm) 1,69 $
- L293D Stepper Driver 1,63 $
- Μονοπολικό Stepper Motor 8,00 $ (ή 1,66 $ <= τροποποιήστε αυτό το μικρότερο μονοπολικό σε διπολικό stepper)
- Ζώνη χρονισμού 6mm 7,31 $
- Gear 6mm 0.54 $ (ή 3D εκτυπώσιμο από το Thingiverse)
- Τροχαλία 6mm 1,17 $ (ή 3D εκτυπώσιμο από το Thingiverse)
- Limit Switch x2 (προαιρετικό) 1,34 $
- Πλαίσιο έργου (προαιρετικό) 1,06 $
- Breadboard Jumper Wires 2,09 $
- Dupont Jumper Wires 2,80 $
- Λουρί από καουτσούκ 1,13 $
- Twist Ties 3,22 $
- 22 AWG Wire (προαιρετικά) 1,22 $
- Φερμουάρ (προαιρετικά) 0,63 $
- Συρρικνωθείτε με σωλήνα (προαιρετικά) 1,97 $
Εργαλεία (προαιρετικά):
- Gun Glue Gun 3,75 $
- Solder Iron 6,79 $
Κατεβάστε το Bill of Materials από το GitHub (Amazon)
Το σχήμα 20 δείχνει πώς θα συνδέσετε το σύστημα, ανάλογα με τις δυνατότητες που θα επιλέξετε να προσθέσετε. Εάν θέλετε πιο ακριβή κίνηση, θα προσθέσετε οριακούς διακόπτες στο έργο.
Οι περιοριστικοί διακόπτες είναι τελικά σημεία στις κουρτίνες που λένε το BluChip όταν ανοίγει ή κλείνει. Χωρίς τους Διακόπτες ορίου, θα πρέπει να διαμορφώσετε το υλικολογισμικό για να υποδείξετε πόσο μακριά κινούνται οι κουρτίνες σας στην επερχόμενη ενότητα "Διαμόρφωση υλικολογισμικού".
Το σχήμα 20 περιλαμβάνει επίσης μια προαιρετική αντίσταση φωτογραφίας που επιτρέπει την ανίχνευση ημέρας και νύχτας, επίσης διαμορφώσιμη στην ενότητα "Διαμόρφωση υλικολογισμικού".
Ξεκινήστε τη συναρμολόγηση του υλικού απενεργοποιώντας το βηματικό μοτέρ, την τροχαλία και τον ιμάντα χρονισμού στην κορυφή των κουρτινών σας. (Εικόνα 21)
Τεντώστε προσωρινά τον ιμάντα χρονισμού με λάστιχο. Αργότερα, πριν ολοκληρώσετε το έργο, θα το συνδέσετε με φερμουάρ για να το κρατήσετε μόνιμα.
Για να στερεώσετε τις κουρτίνες στον ιμάντα χρονισμού σας, βιδώστε το Wire Ties γύρω από τη ζώνη και το γάντζο κουρτινών.
Για να πάρετε μια καλύτερη ιδέα για το πώς να συνδέσετε τις κουρτίνες στη ζώνη, ακολουθήστε το Σχήμα 22. Θα δέσετε την αριστερή κουρτίνα στο πίσω μέρος του ιμάντα χρονισμού με μια συρμάτινη γραβάτα και τη δεξιά κουρτίνα στο μπροστινό μέρος του ιμάντα χρονισμού με συρμάτινη γραβάτα.
Μόλις ασφαλίσετε τη ζώνη και δέσετε την κουρτίνα, αφαιρέστε το βηματικό μοτέρ για να μπορέσουμε να αρχίσουμε να συναρμολογούμε και να δοκιμάζουμε το ηλεκτρονικό κύκλωμα που θα το κινεί. Ξεκινήστε να χτίζετε τα ηλεκτρονικά τοποθετώντας το Bluchip, το L293d IC και τον ρυθμιστή τάσης LM317t στον πίνακα ψωμιού σύμφωνα με στο Σχήμα 20.
Τοποθετήστε τις αντιστάσεις 200 & 330 ohm σύμφωνα με το Σχήμα 20. Οι αντιστάσεις προσαρμόζουν την έξοδο του LM317 έτσι ώστε να παρέχει ~ 3.3V. (Εικόνα 24)
Τοποθετήστε το καλώδιο βραχυκυκλωτήρα και στη συνέχεια έναν ενσύρματο γρύλο κάννης, όπως φαίνεται στο σχήμα 26.
Ας συνδέσουμε τον προσαρμογέα ρεύματος στην πρίζα τοίχου και συνδέστε τον προσαρμογέα στην υποδοχή της κάννης για να δοκιμάσετε τις τάσεις όπως φαίνεται στο σχήμα 27.
Μόλις εξακριβωθούν οι σωστές τάσεις, αφαιρέστε το βύσμα τροφοδοσίας και αρχίστε να τοποθετείτε τα υπόλοιπα καλώδια από βραχίονα, σύμφωνα με το σχήμα 20.
Στη συνέχεια, θα συνδέσουμε τον διπολικό βηματικό κινητήρα μας στο L293d IC.
Αρχικά, τοποθετήστε τα καλώδια βραχυκυκλωτή Dupont στον σύνδεσμο του βηματικού κινητήρα, όπως φαίνεται στο σχήμα 29.
Για να μάθετε ποιο καλώδιο πηγαίνει πού, ακολουθήστε το σχηματικό σχήμα 30.
Όπως φαίνεται στο σχήμα, τα καλώδια από ένα πηνίο πηγαίνουν στο Pin2 & Pin6 του L293D. Οι δυνητικοί πελάτες από το άλλο πηνίο πηγαίνουν στο Pin11 & Pin14.
Ο τροποποιημένος διπολικός βηματικός κινητήρας 28BYJ-48 έχει τέσσερα χρωματιστά καλώδια, όπως φαίνεται στο σχήμα 31.
Συνδέουμε μπλε σε Pin3, κίτρινο σε Pin6, πορτοκαλί σε Pin11 και ροζ σε Pin14 στο L293d.
Το βασικό κύκλωμα έχει πλέον ολοκληρωθεί!
Εάν θέλετε να εφαρμόσετε οριακούς διακόπτες, συνδέστε τα καλώδια NO & C σε κάποιο καλώδιο 22AWG. Στο άλλο άκρο, συνδέστε τους βραχυκυκλωτήρες DuPont για να σχηματίσετε καλώδια που ταιριάζουν στο ψωμί. (Εικόνα 32)
Μπορείτε να τα τοποθετήσετε στη ράγα κουρτίνας όπως φαίνεται στο Σχήμα 33 με λαστιχάκια, ή αν έχετε ένα πιστόλι ζεστής κόλλας στο χέρι, μπορείτε να το συνδέσετε με φερμουάρ στη ράγα και στη συνέχεια να βάλετε μια καλή ποσότητα θερμής κόλλας για να βεβαιωθείτε ότι δεν κινείται περίπου.
Για να πάρετε μια ιδέα για το πού να τα τοποθετήσετε, ανατρέξτε στο Σχήμα 34.
Ένας διακόπτης ορίου είναι προσαρτημένος στο αριστερό άκρο της ράγας κουρτίνας, μεταξύ του πρώτου γάντζου και του δεύτερου, έτσι ώστε όταν ανοίγουν οι κουρτίνες ο γάντζος να πιέζει τον διακόπτη και να τον ενεργοποιεί. Ο άλλος οριακός διακόπτης τοποθετείται απευθείας στο κέντρο της ράγας, στραμμένος προς τα αριστερά. Με αυτόν τον τρόπο, ενεργοποιείται όταν κλείνουν οι κουρτίνες.
Τοποθετήστε τους αγωγούς διακόπτη ορίου στο breadboard σύμφωνα με το Σχήμα 20.
Τέλος, εάν θέλετε οι κουρτίνες σας να ανοίγουν όταν ο ήλιος ανατέλλει και κλείνει όταν δύει, θα πρέπει να συνδέσετε την αντίσταση φωτογραφιών όπως φαίνεται στο Σχήμα 36 και να την τοποθετήσετε κοντά στο σημείο όπου έχει πρόσβαση στο ηλιακό φως κατά την αυγή.
Αφού τελειώσετε με το κύκλωμα του breadboard, ετοιμαστείτε και συνδέστε τον προγραμματιστή σας στο BluChip για να αναβοσβήνει το υλικολογισμικό. Κατεβάστε το υλικολογισμικό από το GitHub και εξαγάγετε το στον κατάλογο SDK όπως κάνατε πριν.
Κατεβάστε το ble_app_ahc.zip από το Github.
Ανοίξτε το έργο, μετά μεταγλωττίστε και ανεβάστε το υλικολογισμικό στο BluChip.
Πριν το δοκιμάσουμε, θα κλείσουμε το breadboard σε ένα κουτί και θα κάνουμε τρύπες για τα καλώδια και το LED Curtain Status LED.
Τοποθετήστε το ψωμί στη βάση του κουτιού περιβλήματος και ανοίξτε τα καλώδια. Το άνοιγμα χρησιμεύει επίσης ως σημείο επικοινωνίας του BluChip με άλλες συσκευές μέσω της κεραίας του. (Εικόνα 37)
Τρυπήστε μια τρύπα στο μέγεθος του LED στο πλάι του περιβλήματος και τοποθετήστε το LED σε αυτό. Συνδέστε το LED σύμφωνα με το σχήμα 20.
Βρείτε ένα κατάλληλο μέρος για να τοποθετήσετε το κουτί περιβλήματος στα αριστερά της ράγας κουρτινών, κοντά σε πρίζα. Αφαιρέστε ξανά τον κινητήρα και κάντε μια τελική δοκιμή τάσης του ιμάντα χρονισμού, βεβαιωθείτε ότι δεν υπάρχει χαλάρωση. (Εικόνα 39)
Τώρα ήρθε η ώρα να δοκιμάσουμε το συναρμολογημένο μας σύστημα. Τοποθετήστε τον προσαρμογέα ρεύματος και ενεργοποιήστε την εφαρμογή nRF Connect. Θα ανακαλύψετε μια συσκευή που ονομάζεται Curtains. BluChip.
Συνδεθείτε με αυτό, στείλτε μια τιμή UINT8 1 (Άνοιγμα κουρτινών) στο Άγνωστο Χαρακτηριστικό στην υπηρεσία Άγνωστο και παρακολουθήστε τις κουρτίνες να ανοίγουν!
Τώρα που δοκιμάσατε επιτυχώς το σύστημά σας, ας ρίξουμε μια ματιά στη διαμόρφωση ορισμένων από τον κώδικα που εκτελεί την εκπομπή στο BluChip.
Βήμα 6: Διαμόρφωση υλικολογισμικού BluChip
Το έργο υλικολογισμικού Automated Home Curtain αποτελείται κυρίως από 4 αρχεία: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.
Κατά την κατασκευή ηλεκτρονικών και υλικού, είχαμε την επιλογή να επιλέξουμε εάν θέλουμε οριακούς διακόπτες για να αυξήσουμε την ακρίβεια του αυτοματοποιημένου μας συστήματος.
Στον κώδικα από το ahc.h, μπορούμε να δούμε #define για LIMIT_SWITCHES.
Η μεταγλώττιση και ο αναβοσβήνει κώδικας με #define LIMIT_SWITCHES επιτρέπει τη χρήση και των δύο οριακών διακοπτών για τον εντοπισμό του πότε ανοίγουν και κλείνουν οι κουρτίνες.
Η μετονομασία του σε #undef απαιτείται LIMIT_SWITCHES εάν επιλέξετε να μην συμπεριλάβετε οριακούς διακόπτες για το έργο σας. Σε αυτήν την περίπτωση, θα πρέπει να ρυθμίσετε με ακρίβεια την απόσταση στην οποία περνάει η κουρτίνα σας στις μεταβλητές CURTAIN_OPEN_STEPS και CURTAIN_CLOSE_STEPS. Προσαρμόστε αυτές τις τιμές για να παρατείνετε ή να συντομεύσετε την απόσταση ταξιδιού με κουρτίνα.
Η άλλη επιλογή, η προσθήκη φωτοαντίστασης, μπορεί να ενεργοποιηθεί τροποποιώντας το #undef LDR στο #define LDR. Το LDR σημαίνει αντίσταση εξαρτώμενη από το φως, γνωστή και ως φωτοαντίσταση. Όταν ενεργοποιούμε το LDR, η φωτοαντίσταση γνωρίζει πότε είναι φωτεινή ή σκοτεινή έξω και σας βοηθά να κλείσετε ή να ανοίξετε τις κουρτίνες σας στην αρχή ή στο τέλος της ημέρας.
Εκτός από τη διαμόρφωση των Limit Switches και Photoresistor, ας ρίξουμε μια ματιά σε μερικά από τα άλλα κύρια μπλοκ κώδικα που σας επιτρέπουν να ανοίγετε και να κλείνετε αυτόματα τις κουρτίνες.
Τα αρχεία ble_ahc_service.c & ble_ahc_service.h περιέχουν κώδικα που μεταδίδει δεδομένα από το τηλέφωνό σας στο BluChip.
Όταν το BluChip λαμβάνει τα δεδομένα, τα αναλύει σύμφωνα με το αν αποσταλεί ένα 0 ή 1. Στη συνέχεια ενεργοποιεί τη λυχνία LED κατάστασης, πραγματοποιεί κίνηση του κινητήρα και στη συνέχεια απενεργοποιεί την ολοκλήρωση της σηματοδότησης LED.
Η συνάρτηση ahc_init () από ahc.h εκτελείται στην αρχή του κύριου βρόχου, αρχικοποιώντας όλες τις ακίδες στο BluChip.
Βήμα 7: Περίληψη
Εν κατακλείδι, αυτό ήταν ένα εξαιρετικά διασκεδαστικό και αρκετά εύκολο έργο για να μάθετε τα βασικά του BLE. Το γεγονός ότι η μονάδα ξεμπλοκαρίσματος του BluChip ταιριάζει απόλυτα σε ένα breadboard καθιστά πολύ εύκολο το γρήγορο πρωτότυπο σε οποιοδήποτε breadboard που μπορεί να έχετε τοποθετήσει.
Θα έλεγα ότι μετά την κατασκευή των αυτοματοποιημένων κουρτινών μου, έχω ήδη σκεφτεί διάφορα άλλα πράγματα για να συνδέσω το BluChip, συμπεριλαμβανομένων έξυπνων νεοπροστατών, OLED για δημιουργία ψηφιακού ρολογιού, ρομπότ ελεγχόμενου από smartphone και πολλά άλλα ηλεκτρονικά έργα χαμηλής ισχύος ιδέες που θα χρειάζονταν συμπαγή ασύρματη επικοινωνία!
Όποιος έχει έντονο ενδιαφέρον για τα ηλεκτρονικά και τον προγραμματισμό θα εκπλαγεί ευχάριστα με το τι έχει να προσφέρει το BluChip, καθώς και με την ευκολία της δημιουργίας και της εφαρμογής του BLE για τη μετατροπή των έργων σε ακόμη πιο δροσερά.
Από τώρα, θα επιστρέψω για να απολαύσω τις εύχρηστες αυτοματοποιημένες κουρτίνες σπιτιού μου.
Συνιστάται:
Έλεγχος δωματίου με ESP8266 - Θερμοκρασία, Κίνηση, Κουρτίνες και Φωτισμός: 8 Βήματα
Έλεγχος δωματίου με ESP8266 | Θερμοκρασία, κίνηση, κουρτίνες και φωτισμός: Αυτό το έργο αποτελείται από ένα σύστημα βασισμένο στη μονάδα NodeMCU ESP8266 που σας επιτρέπει να ελέγχετε τη φωτεινότητα μιας λωρίδας LED και την κουρτίνα του δωματίου σας, επίσης είναι σε θέση να στέλνει δεδομένα σχετικά με τα γεγονότα κίνησης του δωματίου σας και η θερμοκρασία στο σύννεφο με
Ενότητα IoT Power: Προσθήκη δυνατότητας μέτρησης ισχύος IoT στον ελεγκτή ηλιακής φόρτισης: 19 βήματα (με εικόνες)
Ενότητα IoT Power: Προσθήκη δυνατότητας μέτρησης ισχύος IoT στον ελεγκτή ηλιακής φόρτισης: Γεια σε όλους, ελπίζω να είστε όλοι υπέροχοι! Σε αυτό το διδακτικό θα σας δείξω πώς έφτιαξα μια μονάδα μέτρησης ισχύος IoT που υπολογίζει την ποσότητα ενέργειας που παράγεται από τους ηλιακούς συλλέκτες μου, που χρησιμοποιείται από τον ελεγκτή ηλιακού φορτίου μου
Ενότητα DIY Power Measurement για Arduino: 9 βήματα (με εικόνες)
DIY Power Measurement Module για Arduino: Γεια σε όλους, ελπίζω να τα πάτε τέλεια! Σε αυτό το διδακτικό θα σας δείξω πώς έφτιαξα αυτήν τη μονάδα μετρητή ισχύος/ Wattmeter για χρήση με έναν πίνακα Arduino. Αυτός ο μετρητής ισχύος μπορεί να υπολογίσει την ισχύ που καταναλώνεται από και φορτίο DC. Μαζί με την εξουσία
Ενότητα Haptic Proximity - Φθηνή και εύκολη: 5 βήματα (με εικόνες)
Ενότητα Haptic Proximity - Φθηνή και εύκολη: Ο Θεός χάρισε την αίσθηση όρασης στον άνθρωπο είναι μια σημαντική πτυχή της ζωής μας. Αλλά υπάρχουν μερικοί άτυχοι άνθρωποι που δεν έχουν την ικανότητα να απεικονίζουν πράγματα. Υπάρχουν περίπου 37 εκατομμύρια άνθρωποι σε όλο τον κόσμο που είναι τυφλοί, πάνω από 15 εκατομμύρια
Ενότητα ανάγνωσης HC-SR04 για την ανακούφιση του Arduino: 6 βήματα (με εικόνες)
Ενότητα ανάγνωσης HC-SR04 για την ανακούφιση του Arduino: Ο αισθητήρας υπερήχων HC-SR04 είναι πολύ δημοφιλής στη ρομποτική. Βασικά, κάθε αντικείμενο που αποφεύγει το ρομπότ χρησιμοποιεί αυτόν τον αισθητήρα. Και είναι υπέροχο φυσικά, εύκολο στη χρήση φθηνό και ακριβές, αλλά μόλις αρχίσετε να δημιουργείτε πιο πολύπλοκα ρομπότ, μπορείτε να αρχίσετε να βλέπετε ένα