Inhaltsverzeichnis:

Automatisierte Hausvorhänge – Miniprojekt mit MakerChips BluChip (nRF51 BLE) Modul - Gunook
Automatisierte Hausvorhänge – Miniprojekt mit MakerChips BluChip (nRF51 BLE) Modul - Gunook

Video: Automatisierte Hausvorhänge – Miniprojekt mit MakerChips BluChip (nRF51 BLE) Modul - Gunook

Video: Automatisierte Hausvorhänge – Miniprojekt mit MakerChips BluChip (nRF51 BLE) Modul - Gunook
Video: Touring a $110,000,000 MEGAYACHT with an Indoor Pool! 2024, Juli
Anonim
Automatisierte Hausvorhänge – Miniprojekt mit dem BluChip (nRF51 BLE) Modul von MakerChips
Automatisierte Hausvorhänge – Miniprojekt mit dem BluChip (nRF51 BLE) Modul von MakerChips

Stellen Sie sich vor, Sie wachen auf und möchten einen Sonnenstrahl durch Ihre Fenster werfen oder die Vorhänge zumachen, um weiter zu schlafen, ohne sich an die Vorhänge heranzubewegen, sondern mit einem Knopfdruck auf Ihrem Smartphone. Mit dem Automated Home Curtain System erreichen Sie dies mit Komponenten, die nicht mehr als 90 US-Dollar kosten!

Sehen Sie sich dieses Tutorial auf Github an

Schritt 1: Das Design

Das Design
Das Design

Das Herzstück des Automated Home Curtain Systems ist das BluChip-Modul von MakerChips.

Der BluChip ist ein winziges 16,6x11,15mm Bluetooth-Modul, das über BTLE als Peripheriegerät für Smartphones dienen kann.

Klicken Sie hier für eine Einführung in Bluetooth Low Energy (BTLE).

Das Modul besteht aus einem nRF51-SoC von Nordic Semiconductors, einer großartigen Plattform für BLE-Anwendungen, da es viele integrierte Funktionen sowohl in Android- als auch in Apple-Apps unterstützt.

Schritt 2: BluChip Explorer-Kit

BluChip Explorer-Kit
BluChip Explorer-Kit
BluChip Explorer-Kit
BluChip Explorer-Kit
BluChip Explorer-Kit
BluChip Explorer-Kit

Um dieses Projekt zu bauen, habe ich das BluChip Explorer Kit von MakerChips bekommen, das in 2 separaten Boxen geliefert wurde, eine für den CMSIS-DAP-Programmierer und eine andere Box, die den BluChip auf einem Steckbrett mit 2 RGB-LEDs, einem Fotowiderstand und einer CR2032-Batterie enthält.

Wie Sie bemerkt haben, ist das BluChip-Modul extrem klein, was es perfekt für kleine eingebettete Bluetooth-Projekte mit geringem Stromverbrauch macht. Es passt auf eine Grundfläche von nur 6x4 0,1-Zoll-Stiftleisten auf einem Steckbrett und hat zusätzliche 0,05-Zoll-Stiftleisten auf der Oberseite der Platine, ziemlich beeindruckend für ein kommerziell FCC-zertifiziertes Paket!

Hier sind einige der wichtigsten Funktionen des BluChip von der MakerChips-Website:

  • 14 zugängliche GPIO-Pins
  • ARM Cortex M0 32-Bit-Prozessor und 256 KB Flash und 32 KB RAM
  • 16,6 mm x 11,15 mm Kleinstes steckbares Bluetooth®-Modul auf dem Markt
  • Netzteil unterstützt 1,8V - 3,6V
  • Bluetooth-Funktionen

    • BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
    • Bluetooth® und Japan, FCC, IC-qualifiziert
    • Integrierter 32-MHz-Systemtakt
    • Ausgangsleistung: +4dBm typisch
    • Frequenz: 2402 bis 2480 MHz

      Integrierte Hochleistungs-Pattern-Antenne

    • Single Mode Bluetooth® Smart Slave/Master
  • Unterstützte Schnittstellen: SPI, UART, I2C und 8/9/10bit ADC
  • Zwei Sätze Programmierstifte

    • .05"-Stiftleisten zur einfachen Kopplung mit CMSIS-DAP- und J-Link-Geräten
    • .1 "Header für die Verbindung mit Steckbrettern
  • Software-steuerbare rote LED

Schritt 3: NRF Connect-App

Image
Image
NRF Connect-App
NRF Connect-App
NRF Connect-App
NRF Connect-App

Sobald Sie die BluChip-Explorer-Box aufklappen, sehen Sie, wie sie mit blinkenden LEDs zum Leben erwacht, ein faszinierender Anblick, nicht wahr?

Um zu sehen, was dieses BLE-Modul bietet, installieren wir die nRF Connect-App von Google Play oder App Store.

Wir werden uns mit unserem Telefon mit dem BluChip verbinden, also öffnen Sie die nRF Connect-App, durchsuchen Sie den Begrüßungsbildschirm und tippen Sie auf Aktivieren, um Bluetooth einzuschalten. Tippen Sie als Nächstes auf Scannen und Sie werden bald feststellen, dass Ihr BluChip-Gerät auf der Registerkarte Scanner aufgeführt ist.

Bevor wir uns tatsächlich mit dem BluChip verbinden, holen wir uns eine LED und platzieren sie auf dem Steckbrett neben den Pins 026 (+ve) und 021 (-ve). Die LED sollte sofort aufleuchten, da Pin 026 3,3 V (Logikpegel HIGH) ausgibt, während Pin 021 logisch LOW (Masse) ist.

Fahren Sie fort und tippen Sie auf Verbinden, um eine Verbindung zwischen Ihrem Smartphone und dem BluChip herzustellen, die Sie dann in der App zum Client-Tab des Geräts führt.

Die Registerkarte BluChip-Client zeigt alle auf Ihrem Gerät verfügbaren Dienste an. Was uns hier interessiert, ist der BlueChip GPIO Service (gelistet als Unknown Service). Tippen Sie darauf und dann auf den nach oben weisenden Pfeil neben der GPIO-Modulationscharakteristik (aufgelistet als Unbekannte Charakteristik).

Ein Popup zum Schreiben von Werten wird angezeigt und bietet Ihnen die Möglichkeit, Daten an Ihr BluChip-Gerät zu senden. In unserem Fall möchten wir die LED ausschalten, tippen Sie also auf den Pfeil neben BYTE ARRAY und ändern Sie das Datenformat auf UINT 8. Wir senden die Pinnummer als ersten Wert, geben Sie also 21 für Pin021 ein. Tippen Sie auf Add value, um das nächste Datenelement zu senden, dessen Zustand der Pin gesetzt werden soll (Hex-BYTE-Format). Um die LED auszuschalten, setzen wir Pin 021 auf 3,3 V (Logikpegel hoch), also geben Sie 01 ein und tippen Sie dann auf Senden.

Die LED erlischt sofort! Um die LED wieder einzuschalten, senden Sie einen Wert von 0x00 (Logikpegel LOW) an Pin021. Wie unter der aufgelisteten Kennlinie zu sehen ist, wird der gesendete Wert von (0x) 15-01 angezeigt. {[(dezimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501 }

Wenn Sie diese Werte im Write-Wert-Popup speichern, indem Sie ihm einen Namen geben und dann auf Speichern tippen, können Sie sie in Zukunft als Voreinstellungen für eine einfache GPIO-Modulation laden!

Schritt 4: Programmieren des BluChip

Programmierung des BluChip
Programmierung des BluChip
Programmierung des BluChip
Programmierung des BluChip
Programmierung des BluChip
Programmierung des BluChip

Sie hätten aus dem obigen Video bemerkt, dass sich der BluChip-Gerätename auf meinem Telefon von Ihrem unterscheidet. Wie können wir ihn also nach unseren Wünschen ändern?

Die auf dem BluChip laufende Anwendungs-Firmware dient als Peripheriegerät (Slave) über BLE zu zentralen Geräten (Master) wie z. B. damit verbundenen Smartphones. Um den Namen unseres Geräts zu ändern, tauchen wir in das Flashen der Anwendungsfirmware auf unseren BluChip ein.

Im Lieferumfang des BluChip Explorer-Kits ist der ARM-Programmierer (CMSIS-DAP) enthalten. MakerChips hat eine übersichtliche How-To-Anleitung zu den Details des Flashens von Firmware auf den BluChip mit dem CMSIS-DAP bereitgestellt.

Um Firmware in eine Hex-Datei zu kompilieren und zu flashen, benötigen wir Keil, nRF51 Software Development Kit (SDK) und BluChip-Firmware. Fahren Sie fort und laden Sie sie von den Links im Abschnitt "Die Software" auf der Seite "Programmieren des BluChips mit CMSIS-DAP und Keil" von MakerChips herunter.

Installieren Sie Keil, und befolgen Sie dann die Schritte 1-3 im Abschnitt "Erstellen der Hex-Datei".

An dieser Stelle können Sie mit Schritt 4, Neuaufbau aller Zieldateien, fortfahren.

Wenn Sie einen Fehler bezüglich "core_cm0.h" erhalten, müssen Sie den Pfad zum Projekt hinzufügen, um es zu kompilieren.

Wir müssten einfach nach der Datei suchen und ihr Verzeichnis finden, das "\components\toolchain\gcc" ist.

Lassen Sie uns diesen Weg in unser Projekt einbeziehen. Klicken Sie auf Optionen für Ziel, gehen Sie zur Registerkarte C/C++ und geben Sie den Pfad ein, wie in Abbildung 16 gezeigt.

Nachdem wir die notwendigen Abhängigkeiten aufgenommen haben, wird unser Projekt kompiliert und wir können jetzt die kompilierte Ausgabe anzeigen, eine benutzerdefinierte Hex-Datei unter "nRF51_SDK_10.0.0_dc26b5e\examples\ble_peripheral\ble_app_ahc-master\bluchip\s110_with_dfu\arm4\_buildnrf51422_xxac_s110.hex".

Um die Hex-Datei auf den BluChip zu flashen, befolgen Sie die Schritte 1-8 im Abschnitt "Hex-Datei übertragen".

Nachdem Sie nun die Firmware mit einem benutzerdefinierten Gerätenamen auf den BluChip geladen haben, starten Sie die nRF Connect App und suchen Sie nach Ihrem Gerät. Sie werden feststellen, dass es jetzt nach dem benannt ist, was Sie in DEVICE_NAME in der Firmware definiert haben!

Im nächsten Schritt beginnen wir mit der Einrichtung der Hardware, Elektronik und Software unseres Automated Home Curtain Systems.

Schritt 5: Erstellen der automatisierten Vorhänge

Image
Image
Bau der automatisierten Vorhänge
Bau der automatisierten Vorhänge
Bau der automatisierten Vorhänge
Bau der automatisierten Vorhänge
Bau der automatisierten Vorhänge
Bau der automatisierten Vorhänge

Nachdem wir den Prozess des Kompilierens und Flashens unserer Firmware überprüft haben, gehen wir zum Bau unserer eigenen Bluetooth-Vorhänge über!

Ein Schrittmotor wird verwendet, um einen Zahnriemen anzutreiben, der die Vorhänge öffnet und schließt. Der Schrittmotor wird von einem Half-H-Treiber-IC angetrieben, der vom BluChip gesteuert wird.

Für die Stromversorgung verwenden wir einen 12-V-AC-DC-Spannungsregler, der dem Motor zugeführt wird, zusammen mit einem LM317-DC-DC-Spannungsregler, um 12 V auf 3,3 V abzusenken, die den BluChip und den Stepper-Treiber-IC mit Strom versorgen.

Sie können Ihr eigenes BluChip-Modul im brandneuen Store von MakerChips drüben bei Tindie oder auf der MakerChips-Website erwerben.

Lassen Sie uns die unten aufgeführten Teile zusätzlich zum BluChip Explorer Kit besorgen, um mit der Montage der automatischen Vorhänge zu beginnen:

  • 12V 1A Netzteil $3.40
  • Barrel Jack $0.68
  • LM317T Spannungsregler $0.80
  • Widerstände (200 & 330 Ohm) 1,69
  • L293D Stepper-Treiber 1,63 $
  • Unipolarer Schrittmotor 8,00 USD (oder 1,66 USD <= diesen kleineren unipolaren Schrittmotor in einen bipolaren Schrittmotor umwandeln)
  • 6mm Zahnriemen $7.31
  • 6-mm-Getriebe $ 0,54 (oder 3D-druckbar von Thingiverse)
  • 6-mm-Rolle 1,17 $ (oder 3D-druckbar von Thingiverse)
  • Endschalter x2 (optional) $1,34
  • Projekt-Einschließungsbox (optional) $1,06
  • Steckbrett-Überbrückungsdrähte $2.09
  • Dupont-Überbrückungsdrähte $2,80
  • Gummibänder $1,13
  • Twist Krawatten 3,22 $
  • 22 AWG-Draht (optional) $1,22
  • Kabelbinder (optional) $0.63
  • Schrumpfschlauch (optional) 1,97 $

Werkzeuge (optional):

  • Heißklebepistole $3.75
  • Lötkolben $6.79

Stückliste von GitHub (Amazon) herunterladen

Abbildung 20 zeigt, wie Sie das System verkabeln, je nachdem, welche Funktionen Sie hinzufügen möchten. Wenn Sie eine genauere Bewegung wünschen, fügen Sie dem Projekt Endschalter hinzu.

Endschalter sind Endpunkte der Vorhänge, die dem BluChip mitteilen, wann er geöffnet oder geschlossen wird. Ohne die Endschalter müssten Sie die Firmware konfigurieren, um im kommenden Abschnitt "Firmware-Konfiguration" anzugeben, wie weit sich Ihre Vorhänge bewegen.

Abbildung 20 enthält auch einen optionalen Fotowiderstand, der eine Tag- und Nachterkennung ermöglicht, ebenfalls konfigurierbar im Abschnitt „Firmware-Konfiguration“.

Beginnen Sie mit der Montage der Hardware, indem Sie den Schrittmotor, die Riemenscheibe und den Zahnriemen oben an Ihren Vorhängen montieren. (Abbildung 21)

Den Zahnriemen vorübergehend mit Gummiband spannen. Später, bevor Sie das Projekt abschließen, werden Sie es mit einem Reißverschluss zusammenbinden, um es dauerhaft zu halten.

Um die Vorhänge an Ihrem Zahnriemen zu befestigen, schlingen Sie Drahtbinder um den Gürtel und den Vorhanghaken.

Um eine bessere Vorstellung davon zu bekommen, wie die Vorhänge am Riemen befestigt werden, befolgen Sie Abbildung 22. Sie binden den linken Vorhang mit einem Drahtbinder an der Rückseite des Zahnriemens und den rechten Vorhang an der Vorderseite des Zahnriemens mit einem Kabelbinder.

Sobald Sie den Gürtel gesichert und den Vorhang gebunden haben, entfernen Sie den Schrittmotor, damit wir mit dem Zusammenbau und dem Testen der elektronischen Schaltung beginnen können, die ihn antreibt zu Abbildung 20.

Fügen Sie die 200- und 330-Ohm-Widerstände gemäß Abbildung 20 ein. Die Widerstände stellen den Ausgang des LM317 so ein, dass er ~3,3 V liefert. (Abbildung 24)

Stecken Sie das Überbrückungskabel und dann eine verdrahtete Hohlbuchse ein, wie in Abbildung 26 gezeigt.

Schließen wir unser Netzteil an die Steckdose an und stecken wir den Adapter in die Hohlbuchse, um die Spannungen zu testen, wie in Abbildung 27 gezeigt.

Sobald die korrekten Spannungen festgestellt wurden, entfernen Sie die Strombuchse und beginnen Sie, die verbleibenden Steckbrücken-Überbrückungsdrähte gemäß Abbildung 20 zu platzieren.

Als nächstes werden wir unseren bipolaren Schrittmotor mit dem L293d IC verdrahten.

Stecken Sie zuerst die Dupont-Überbrückungsdrähte in den Schrittmotoranschluss, wie in Abbildung 29 gezeigt.

Um zu wissen, welcher Draht wohin führt, folgen Sie dem Schema in Abbildung 30.

Wie im Schaltplan zu sehen ist, gehen die Leitungen von einer Spule zu Pin2 & Pin6 des L293D. Leitungen von der anderen Spule gehen zu Pin11 & Pin14.

Der modifizierte 28BYJ-48 bipolare Schrittmotor hat vier verwendbare farbige Drähte, wie in Abbildung 31 zu sehen ist.

Wir verdrahten Blau an Pin3, Gelb an Pin6, Orange an Pin11 und Pink an Pin14 am L293d.

Die Grundschaltung ist nun fertig!

Wenn Sie Endschalter implementieren möchten, verdrahten Sie die NO- und C-Leitungen mit einem 22AWG-Draht. Befestigen Sie am anderen Ende DuPont-Jumper, um Kabel zu bilden, die auf das Steckbrett passen. (Abbildung 32)

Sie können sie wie in Abbildung 33 gezeigt mit Gummibändern an der Vorhangschiene montieren, oder wenn Sie eine Heißklebepistole zur Hand haben, können Sie sie mit einem Reißverschluss an der Schiene befestigen und dann eine gute Menge Heißkleber auftupfen, um sicherzustellen, dass sie sich nicht bewegt um herum.

Um eine Vorstellung davon zu bekommen, wo sie platziert werden sollen, sehen Sie sich Abbildung 34 an.

Ein Endschalter ist am linken Ende der Gardinenschiene zwischen dem ersten Schienenhaken und dem zweiten angebracht, so dass der Haken beim Öffnen der Gardinen gegen den Schalter drückt und diesen aktiviert. Der andere Endschalter befindet sich direkt in der Mitte der Schiene nach links. Auf diese Weise wird es aktiviert, wenn sich die Vorhänge schließen.

Stecken Sie die Endschalterkabel gemäß Abbildung 20 auf das Steckbrett.

Wenn Sie schließlich möchten, dass sich Ihre Vorhänge bei Sonnenaufgang öffnen und bei Sonnenuntergang schließen, müssen Sie den Fotowiderstand wie in Abbildung 36 gezeigt verdrahten und ihn in der Nähe eines Ortes aufstellen, an dem er während der Morgendämmerung Zugang zum Sonnenlicht hat.

Nachdem Sie mit dem Einrichten der Steckplatinenschaltung fertig sind, machen Sie sich bereit und verbinden Sie Ihren Programmierer mit dem BluChip, um die Firmware zu flashen. Laden Sie die Firmware von GitHub herunter und extrahieren Sie sie wie zuvor in Ihr SDK-Verzeichnis.

Laden Sie ble_app_ahc.zip von Github herunter.

Öffnen Sie das Projekt, kompilieren Sie die Firmware und laden Sie sie auf den BluChip hoch.

Bevor wir es testen, werden wir das Steckbrett in eine Schachtel legen und Löcher für die Drähte und unsere Vorhangstatus-LED bohren.

Legen Sie das Steckbrett auf den Boden des Gehäusekastens und machen Sie eine Öffnung für die Drähte. Die Öffnung dient auch als Punkt für den BluChip, um über seine Antenne mit anderen Geräten zu kommunizieren. (Abbildung 37)

Bohren Sie ein Loch in der Größe der LED an der Seite des Gehäuses und montieren Sie die LED darauf. Verdrahten Sie die LED gemäß Abbildung 20.

Suchen Sie einen geeigneten Ort, um den Gehäusekasten links von der Vorhangschiene in der Nähe einer Steckdose zu montieren. Montieren Sie den Motor wieder und führen Sie einen letzten Spannungstest des Zahnriemens durch, um sicherzustellen, dass kein Durchhang vorhanden ist. (Abbildung 39)

Jetzt ist es an der Zeit, unser zusammengebautes System zu testen. Stecken Sie das Netzteil ein und starten Sie Ihre nRF Connect App. Sie werden ein Gerät namens Curtains. BluChip entdecken.

Verbinden Sie sich damit, senden Sie einen Wert von UINT8 1 (Offene Vorhänge) an das Unbekannte Merkmal unter Unbekannter Dienst und beobachten Sie, wie sich die Vorhänge öffnen!

Nachdem Sie Ihr System erfolgreich getestet haben, schauen wir uns nun an, wie Sie einen Teil des Codes konfigurieren, der die Show auf dem BluChip ausführt.

Schritt 6: BluChip Firmware-Konfiguration

BluChip Firmware-Konfiguration
BluChip Firmware-Konfiguration
BluChip Firmware-Konfiguration
BluChip Firmware-Konfiguration
BluChip Firmware-Konfiguration
BluChip Firmware-Konfiguration

Das Firmware-Projekt für den Automated Home Curtain besteht hauptsächlich aus 4 Dateien: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Beim Bau der Elektronik und Hardware hatten wir die Möglichkeit zu wählen, ob wir Endschalter wollten, um die Genauigkeit unseres automatisierten Systems zu erhöhen.

Im Code von ahc.h sehen wir #define für LIMIT_SWITCHES.

Das Kompilieren und Blinken des Codes mit #define LIMIT_SWITCHES ermöglicht die Verwendung beider Endschalter, um zu erkennen, wann die Vorhänge geöffnet und geschlossen wurden.

Sie müssen es in #undef LIMIT_SWITCHES umbenennen, wenn Sie sich dafür entschieden haben, keine Endschalter in Ihr Projekt aufzunehmen. In diesem Fall müssen Sie die Fahrstrecke Ihres Vorhangs in den Variablen CURTAIN_OPEN_STEPS und CURTAIN_CLOSE_STEPS feinabstimmen. Passen Sie diese Werte an, um die Bewegungsstrecke des Vorhangs zu verlängern oder zu verkürzen.

Die andere Option, das Hinzufügen eines Fotowiderstands, kann aktiviert werden, indem #undef LDR in #define LDR geändert wird. LDR steht für Light-dependent resistance, auch Photowiderstand genannt. Wenn wir LDR aktivieren, erkennt der Fotowiderstand, wann es draußen hell oder dunkel ist, und hilft Ihnen, Ihre Vorhänge zu Beginn oder am Ende des Tages zu schließen oder zu öffnen.

Lassen Sie uns neben der Konfiguration der Endschalter und des Fotowiderstands einen Blick auf einige der anderen Hauptcodeblöcke werfen, mit denen Sie die Vorhänge automatisch öffnen und schließen können.

Die Dateien ble_ahc_service.c & ble_ahc_service.h enthalten Code, der Daten von Ihrem Telefon auf den BluChip überträgt.

Wenn der BluChip die Daten empfängt, parst er sie danach, ob eine 0 oder eine 1 gesendet wird. Es aktiviert dann die Status-LED, führt die Motorbewegung aus und deaktiviert dann die LED, die den Abschluss signalisiert.

Die Funktion ahc_init() von ahc.h wird am Anfang der Hauptschleife ausgeführt und initialisiert alle Pins auf dem BluChip.

Schritt 7: Zusammenfassung

Zusammenfassend lässt sich sagen, dass dies ein äußerst unterhaltsames und ziemlich einfaches Projekt war, um die BLE-Grundlagen zu erlernen. Die Tatsache, dass das Breakout-Modul von BluChip genau auf ein Steckbrett passt, macht es wirklich einfach, schnell Prototypen auf jedem Steckbrett zu erstellen, das Sie herumliegen haben.

Ich würde sagen, dass ich nach dem Bau meiner automatisierten Vorhänge bereits an verschiedene andere Dinge gedacht habe, um den BluChip anzuschließen, darunter intelligente Neopixel, ein OLED, um eine Digitaluhr zu erstellen, einen Smartphone-gesteuerten Roboter und viele andere stromsparende elektronische Projekte Ideen, die eine kompakte drahtlose Kommunikation erfordern würden!

Jeder, der sich für Elektronik und Programmierung interessiert, wird angenehm überrascht sein, was der BluChip zu bieten hat, sowie die komfortable Einrichtung und Implementierung von BLE, um Projekte noch cooler zu machen.

Ab sofort werde ich wieder meine praktischen automatisierten Home Curtains genießen.

Empfohlen: