Kazalo:

Avtomatizirane domače zavese - mini projekt z modulom MakerChips BluChip (nRF51 BLE): 7 korakov (s slikami)
Avtomatizirane domače zavese - mini projekt z modulom MakerChips BluChip (nRF51 BLE): 7 korakov (s slikami)

Video: Avtomatizirane domače zavese - mini projekt z modulom MakerChips BluChip (nRF51 BLE): 7 korakov (s slikami)

Video: Avtomatizirane domače zavese - mini projekt z modulom MakerChips BluChip (nRF51 BLE): 7 korakov (s slikami)
Video: CS50 2013 - Week 9, continued 2024, Julij
Anonim
Avtomatizirane domače zavese - mini projekt z modulom BluChip (nRF51 BLE) MakerChips
Avtomatizirane domače zavese - mini projekt z modulom BluChip (nRF51 BLE) MakerChips

Predstavljajte si, da se zbudite in si želite skozi okna prestrezati žarek sonca ali zapreti zavese, da boste lahko spali dlje, brez truda, da se približate zavesam, ampak s pritiskom na gumb na pametnem telefonu. Z avtomatskim sistemom zavese za dom lahko to dosežete s komponentami, ki ne stanejo več kot 90 USD!

Oglejte si to vadnico na Githubu

1. korak: Oblikovanje

Dizajn
Dizajn

V središču avtomatiziranega sistema zavese za dom je modul MakerChips BluChip.

BluChip je majhen modul Bluetooth velikosti 16,6 x 11,15 mm, ki lahko služi kot zunanja naprava pametnim telefonom prek BTLE.

Kliknite tukaj za uvod v Bluetooth Low Energy (BTLE).

Modul je sestavljen iz nRF51 SoC podjetja Nordic Semiconductors, odlične platforme za aplikacije BLE, saj podpira številne integrirane funkcije v aplikacijah za Android in Apple.

2. korak: BluChip Explorer Kit

BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit
BluChip Explorer Kit

Za izdelavo tega projekta sem od MakerChips-a dobil BluChip Explorer Kit, ki je prišel v dveh ločenih škatlah, eno za programerja CMSIS-DAP in drugo, ki vsebuje BluChip na plošči z 2 RGB LED, foto-uporom in baterijo CR2032.

Kot ste opazili, je modul BluChip izredno majhen, zato je kot nalašč za majhne vgrajene projekte Bluetooth z nizko porabo energije. Prilega se površini le 6x4 0,1 -palčnih glav na plošči in ima dodatne 0,05 -palčne glave na vrhu plošče, kar je precej impresivno za komercialno certificiran paket FCC!

Tu je nekaj ključnih značilnosti BluChipa s spletnega mesta MakerChips:

  • 14 Dostopni zatiči GPIO
  • 32 -bitni procesor ARM Cortex M0 in 256 KB bliskovnega pogona ter 32 KB pomnilnika
  • 16,6 mm x 11,15 mm Najmanjši modul Bluetooth ®, ki ga lahko krušite
  • Napajanje podpira 1,8 V - 3,6 V.
  • Funkcije Bluetooth

    • BTLE - Bluetooth z nizko porabo energije - (BLE, BT 4.1)
    • Bluetooth® in Japonska, FCC, IC kvalificirano
    • Vgrajena sistemska ura 32 Mhz
    • Izhodna moč: običajno 4dBm
    • Frekvenca: 2402 do 2480 MHz

      Vgrajena visokozmogljiva antena z vzorcem

    • Enojni način Bluetooth® Smart Slave/Master
  • Podprti vmesniki: SPI, UART, I2C in 8/9/10bit ADC
  • Dva niza programskih zatičev

    • .05 "glave za enostavno povezavo z napravami CMSIS-DAP in J-Link
    • .1 "glave za vmesnik s ploščami
  • Rdeča LED s programsko kontrolo

3. korak: Aplikacija NRF Connect

Image
Image
Aplikacija NRF Connect
Aplikacija NRF Connect
Aplikacija NRF Connect
Aplikacija NRF Connect

Takoj, ko odprete polje za raziskovanje BluChip, vidite, da oživi z utripajočimi LED diodami, kar je očarljiv pogled, kajne?

Če si želite ogledati, kaj je na voljo s tem modulom BLE, namestimo aplikacijo nRF Connect iz trgovine Google Play ali App Store.

S telefonom se bomo povezali z BluChipom, zato odprite aplikacijo nRF Connect, pobrskajte po pozdravnem zaslonu in se dotaknite Omogoči, da vklopite Bluetooth. Nato tapnite Optično branje in kmalu boste ugotovili, da je vaša naprava BluChip navedena na zavihku Optično branje.

Preden se dejansko povežemo z BluChipom, vzemimo LED in ga postavimo na ploščo poleg zatičev 026 (+ve) in 021 (-ve). LED mora takoj zasvetiti, ker pin 026 oddaja 3.3V (logična raven VISOKO), medtem ko je pin 021 logično NIZKO (ozemljitev).

Pojdite naprej in se dotaknite povezave, da vzpostavite povezavo med vašim pametnim telefonom in BluChipom, ki vas nato pripelje do zavihka odjemalca naprave v aplikaciji.

Zavihek odjemalca BluChip prikazuje vse storitve, ki so na voljo v vaši napravi. Tukaj nas zanima storitev BlueChip GPIO (navedena kot neznana storitev). Dotaknite se je in nato puščice, obrnjene navzgor, poleg Značilnosti modulacije GPIO (navedene kot neznane značilnosti).

Pojavilo se bo pojavno okno za pisno vrednost, ki vam bo omogočilo pošiljanje podatkov na vašo napravo BluChip. V našem primeru želimo izklopiti LED, zato se dotaknite puščice poleg NAMESTNI NIZ in spremenite obliko podatkov v UINT 8. Številko PIN bomo poslali kot prvo vrednost, zato vnesite 21 za pin021. Dotaknite se dodane vrednosti, da pošljete naslednji podatek, stanje katerega pin mora biti nastavljen (šestkotni format BYTE). Če želite izklopiti LED, bomo pin 021 nastavili na 3,3 V (logična raven visoka), zato vnesite 01 in nato pritisnite Pošlji.

LED se takoj ugasne! Če želite znova vklopiti LED, pošljite vrednost 0x00 (logična raven LOW) na pin021. Kot je prikazano pod navedeno karakteristiko, se prikaže poslana vrednost (0x) 15-01. {[(decimalni UINT8) 21 = (šestnajstiški BYTE) 0x15] + (šestnajstiški BYTE) 0x01 => (šestnajsti BYTE) 0x1501}

Če se odločite, da te vrednosti shranite v pojavnem oknu Zapiši vrednost, tako da mu date ime in se nato dotaknete shrani, jih lahko v prihodnje naložite kot prednastavitve za enostavno modulacijo GPIO!

4. korak: Programiranje BluChipa

Programiranje BluChipa
Programiranje BluChipa
Programiranje BluChipa
Programiranje BluChipa
Programiranje BluChipa
Programiranje BluChipa

Iz zgornjega videoposnetka bi opazili, da je ime naprave BluChip v mojem telefonu drugačno od vašega, torej kako jo spremeniti po lastni želji?

Vdelana programska oprema aplikacije, ki se izvaja na BluChipu, služi kot periferna naprava (pomožna) prek BLE centralnim napravam (glavni), kot so pametni telefoni, povezani z njo. Če želimo spremeniti ime naše naprave, se poglobimo v utripanje vdelane programske opreme aplikacije na naš BluChip.

V kompletu raziskovalca BluChip je programer ARM (CMSIS-DAP). MakerChips je zagotovil natančen vodnik po navodilih o podrobnostih utripanja vdelane programske opreme na BluChip s CMSIS-DAP.

Za sestavljanje strojne programske opreme v šestnajstiško datoteko in njeno utripanje potrebujemo Keil, komplet za razvoj programske opreme nRF51 (SDK) in vdelano programsko opremo BluChip. Pojdite naprej in jih prenesite s povezav v razdelku "Programska oprema" na strani MakerChips "Programiranje BluChipa s CMSIS-DAP in Keil".

Namestite Keil in sledite korakom 1-3 v razdelku "Ustvarjanje šestnajstiške datoteke".

Na tej točki lahko nadaljujete s 4. korakom, obnovite vse ciljne datoteke.

Če dobite napako v zvezi z "core_cm0.h", bi morali projektu dodati njegovo pot, da jo sestavite.

Preprosto bi morali poiskati datoteko in poiskati njen imenik, ki je "\ components / toolchain / gcc".

Vključimo to pot v naš projekt. Kliknite Možnosti za cilj, pojdite na zavihek C/C ++ in vključite pot, kot je prikazano na sliki 16.

Po vključitvi potrebnih odvisnosti se naš projekt sestavi in zdaj si lahko ogledamo zbrani izhod, šestnajstiško datoteko po meri na naslovu "nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xx_s"

Če želite šestnajstiško datoteko utripati na BluChip, sledite korakom 1-8 v razdelku "Prenos šestnajstiške datoteke".

Zdaj, ko ste na BluChip naložili vdelano programsko opremo z imenom naprave po meri, zaženite aplikacijo nRF Connect in poiščite svojo napravo. Opazili boste, da je zdaj poimenovan po tem, kar ste definirali v napravi DEVICE_NAME v vdelani programski opremi!

V naslednjem koraku bomo začeli nastavljati strojno opremo, elektroniko in programsko opremo našega avtomatiziranega sistema zavese za dom.

5. korak: Izdelava avtomatiziranih zaves

Image
Image
Izdelava avtomatiziranih zaves
Izdelava avtomatiziranih zaves
Izdelava avtomatiziranih zaves
Izdelava avtomatiziranih zaves
Izdelava avtomatiziranih zaves
Izdelava avtomatiziranih zaves

Po tem, ko smo pregledali postopek sestavljanja in utripanja naše vdelane programske opreme, nadaljujmo z izdelavo lastnih zaves Bluetooth!

Koračni motor bo uporabljen za pogon jermena, ki odpira in zapira zavese. Koračni motor poganja gonilnik IC Half-H, ki ga bo upravljal BluChip.

Za napajanje bomo uporabili 12V AC-DC regulator napetosti, ki se napaja na motor, skupaj z regulatorjem napetosti DC-DC LM317 za znižanje 12V na 3.3V, ki bo napajal IC BluChip in Stepper Driver.

Svoj lasten modul BluChip lahko dobite v povsem novi trgovini MakerChips v Tindieju ali na spletnem mestu MakerChips.

Za začetek sestavljanja avtomatskih zaves dobimo spodaj navedene dele poleg kompleta Explorer BluChip Explorer:

  • 12V 1A napajalnik 3,40 USD
  • Cevni priključek 0,68 USD
  • Regulator napetosti LM317T 0,80 USD
  • Upori (200 in 330 ohmov) 1,69 USD
  • Koračni gonilnik L293D 1,63 USD
  • Unipolarni koračni motor 8,00 USD (ali 1,66 USD <= spremenite ta manjši unipolarni v bipolarni koračni stroj)
  • 6 mm zobati jermen 7,31 $
  • 6 mm orodje 0,54 USD (ali 3D tiskanje iz Thingiverse)
  • 6 mm škripec 1,17 USD (ali 3D tiskanje iz Thingiverse)
  • Končno stikalo x2 (neobvezno) 1,34 USD
  • Škatla za prilogo projekta (neobvezno) 1,06 USD
  • Mostične žice za ploščice 2,09 USD
  • Dupont žice za skakalce 2,80 USD
  • Gumijasti trakovi 1,13 USD
  • Twist Ties 3,22 USD
  • 22 AWG Wire (neobvezno) 1,22 USD
  • Zadrge (neobvezno) 0,63 USD
  • Krčljiva cev (neobvezno) 1,97 USD

Orodja (neobvezno):

  • Pištola za vroče lepilo 3,75 USD
  • Spajkalno železo 6,79 USD

Prenesite gradivo s spletnega mesta GitHub (Amazon)

Slika 20 prikazuje, kako boste povezali sistem, odvisno od tega, katere funkcije želite dodati. Če želite natančnejše premikanje, bi projektu dodali končna stikala.

Končna stikala so končne točke zaves, ki povedo BluChipu, ko je odprt ali zaprt. Brez mejnih stikal bi morali v prihajajočem razdelku »Konfiguracija vdelane programske opreme« vdelano programsko opremo konfigurirati tako, da pokaže, kako daleč se bodo premaknile vaše zavese.

Slika 20 vključuje tudi izbirni foto upor, ki omogoča zaznavanje dneva in noči, ki ga je mogoče konfigurirati tudi v razdelku "Konfiguracija vdelane programske opreme".

Montažo strojne opreme začnite z montažo koračnega motorja, jermenice in zobatega jermena na vrh zavese. (Slika 21)

Zobati jermen začasno napenjajte z gumijastim trakom. Kasneje, preden dokončate projekt, ga boste povezali z zadrgo, da ga boste trajno držali.

Če želite zavese pritrditi na zobati jermen, okoli pasu in kljuke za zavese zavijte žične vezi.

Če želite bolje razumeti, kako zavese pripeti na pas, sledite sliki 22. Levo zaveso boste z žično vezjo privezali na zadnji del zobatega jermena, desno zaveso pa na sprednjo stran zobatega jermena. z žično vezjo.

Ko pritrdite pas in zavežete zaveso, odstranite koračni motor, da lahko začnemo sestavljati in preizkušati elektronsko vezje, ki ga bo poganjalo. do slike 20.

Vstavite upor 200 in 330 ohmov v skladu s sliko 20. Upori prilagodijo izhod LM317 tako, da zagotavlja ~ 3,3 V. (Slika 24)

Vstavite mostiček in nato ožičeno cevno vtičnico, kot je prikazano na sliki 26.

Priključimo napajalnik v stensko vtičnico in ga priključimo v cevno vtičnico, da preverimo napetosti, kot je prikazano na sliki 27.

Ko ugotovite pravilne napetosti, odstranite vtičnico in začnite postavljati preostale mostične žice v skladu s sliko 20.

Nato bomo naš bipolarni koračni motor priključili na IC L293d.

Najprej vstavite mostičke Dupont v priključek koračnega motorja, kot je prikazano na sliki 29.

Če želite vedeti, katera žica gre kam, sledite shemi na sliki 30.

Kot je prikazano na shemi, vodi enega tuljave do Pin2 in Pin6 L293D. Vodniki iz druge tuljave gredo do Pin11 in Pin14.

Modificirani bipolarni koračni motor 28BYJ-48 ima štiri uporabne barvne žice, kot je prikazano na sliki 31.

Na L293d povežemo modro na Pin3, rumeno na Pin6, oranžno na Pin11 in rožnato na Pin14.

Osnovno vezje je zdaj končano!

Če želite izvesti končna stikala, priključite kable NO & C na kabel 22AWG. Na drugem koncu pritrdite mostičke DuPont, da oblikujete kable, ki se prilegajo na ploščo. (Slika 32)

Lahko jih pritrdite na zavesno zaveso, kot je prikazano na sliki 33, z gumijastimi trakovi ali če imate pri roki pištolo za vroče lepilo, jo lahko pritrdite z zadrgo na tirnico in nato vpijete dobro količino vročega lepila, da se prepričate, da se ne premakne okoli.

Če želite vedeti, kje jih postaviti, si oglejte sliko 34.

Eno končno stikalo je pritrjeno na skrajni levi konec zavese, med prvim in drugim kavljem tirnice, tako da ob odpiranju zaves kavelj pritisne na stikalo in ga aktivira. Drugo končno stikalo je nameščeno neposredno na sredino tirnice, obrnjeno proti levi. Na ta način se aktivira, ko se zavese zaprejo.

Kable končnega stikala vstavite na ploščo v skladu s sliko 20.

Nazadnje, če želite, da se vaše zavese odprejo ob vzhodu sonca in zaprejo, ko zaide, bi morali priključiti fotografski upor, kot je prikazano na sliki 36, in ga postaviti blizu mesta, kjer ima ob zori dostop do sončne svetlobe.

Ko končate z nastavitvijo vezja, pripravite in povežite programirnik z BluChip -om, da vklopite vdelano programsko opremo. Prenesite vdelano programsko opremo z GitHub -a in jo izvlecite v imenik SDK, kot ste to storili prej.

Prenesite ble_app_ahc.zip iz Github -a.

Odprite projekt, nato sestavite in naložite vdelano programsko opremo na BluChip.

Preden ga preizkusimo, bomo ploščo priložili v škatlo in naredili luknje za žice in LED za zavese.

Ohišje postavite na dno omarice in naredite odprtino za žice. Odprtina služi tudi kot točka za komunikacijo z drugimi napravami prek svoje antene. (Slika 37)

Izvrtajte luknjo velikosti LED na strani ohišja in nanjo namestite LED. Priključite LED v skladu s sliko 20.

Poiščite primerno mesto za montažo omarice levo od tirnice, blizu vtičnice. Ponovno namestite motor in opravite zadnji preskus napetosti zobatega jermena, pri tem pazite, da ni zrahljanja. (Slika 39)

Zdaj je čas, da preizkusimo naš sestavljeni sistem. Vstavite napajalnik in zaženite aplikacijo nRF Connect. Odkrili boste napravo z imenom Curtains. BluChip.

Povežite se z njim, pošljite vrednost UINT8 1 (Odprte zavese) v storitev Neznana značilnost v storitvi Neznano in opazujte, kako se zavese odpirajo!

Zdaj, ko ste uspešno preizkusili svoj sistem, si oglejmo konfiguracijo nekaterih kod, ki vodijo oddajo na BluChipu.

6. korak: Konfiguracija vdelane programske opreme BluChip

Konfiguracija vdelane programske opreme BluChip
Konfiguracija vdelane programske opreme BluChip
Konfiguracija vdelane programske opreme BluChip
Konfiguracija vdelane programske opreme BluChip
Konfiguracija vdelane programske opreme BluChip
Konfiguracija vdelane programske opreme BluChip

Projekt vdelane programske opreme za avtomatsko zaveso za dom je sestavljen predvsem iz 4 datotek: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Med gradnjo elektronike in strojne opreme smo imeli možnost izbrati, ali želimo, da mejna stikala povečajo natančnost našega avtomatiziranega sistema.

V kodi iz ahc.h lahko vidimo #define za LIMIT_SWITCHES.

Sestavljanje in utripanje kode z #define LIMIT_SWITCHES omogoča uporabo obeh končnih stikal za zaznavanje, kdaj so se zavese odprle in zaprle.

Preimenovanje v #undef LIMIT_SWITCHES je potrebno, če se za svoj projekt niste odločili vključiti mejnih stikal. V tem primeru bi morali spremenljivki CURTAIN_OPEN_STEPS in CURTAIN_CLOSE_STEPS natančno prilagoditi razdaljo, do katere potuje vaša zavesa. Prilagodite te vrednosti, da podaljšate ali skrajšate razdaljo vožnje.

Drugo možnost, dodajanje fotorezistorja, lahko omogočite tako, da spremenite #undef LDR v #define LDR. LDR pomeni svetlobno odvisen upor, znan tudi kot fotorezistor. Ko omogočimo LDR, fotorezist ve, kdaj je zunaj svetlo ali temno, in vam pomaga zapreti ali odpreti zavese na začetku ali koncu dneva.

Poleg konfiguracije mejnih stikal in fotorezistorja si oglejmo še nekatere druge glavne bloke kode, ki vam omogočajo samodejno odpiranje in zapiranje zaves.

Datoteke ble_ahc_service.c & ble_ahc_service.h vsebujejo kodo, ki prenaša podatke iz vašega telefona na BluChip.

Ko BluChip prejme podatke, jih razčleni glede na to, ali je poslano 0 ali 1. Nato aktivira statusno LED, izvede gibanje motorja in nato deaktivira zaključek LED signalizacije.

Funkcija ahc_init () iz ahc.h se zažene na začetku glavne zanke in inicializira vse zatiče na BluChipu.

7. korak: Povzetek

Za zaključek je bil to izredno zabaven in dokaj enostaven projekt za spoznavanje osnov BLE. Dejstvo, da se BluChip -ov modul za odstranjevanje tesno prilega ploščici, olajša hitro izdelavo prototipov na kateri koli plošči, ki jo imate na razpolago.

Rekel bi, da sem po izdelavi svojih avtomatiziranih zaves že razmišljal o različnih drugih stvareh, s katerimi bi lahko povezal BluChip, vključno s pametnimi neopiksli, OLED -om za ustvarjanje digitalne ure, robotom, ki ga upravlja pametni telefon, in številnimi drugimi elektronskimi projekti z nizko porabo energije. ideje, ki bi potrebovale kompaktno brezžično komunikacijo!

Vsakdo, ki se močno zanima za elektroniko in programiranje, bi bil prijetno presenečen nad ponudbo BluChipa, pa tudi nad udobnostjo nastavitve in izvajanja BLE, da bi projekte spremenili v še bolj hladne.

Zaenkrat bom spet užival v svojih priročnih avtomatiziranih domačih zavesah.

Priporočena: