Sadržaj:

Automatske kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom: 7 koraka (sa slikama)
Automatske kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom: 7 koraka (sa slikama)

Video: Automatske kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom: 7 koraka (sa slikama)

Video: Automatske kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom: 7 koraka (sa slikama)
Video: Питер Джозеф – Где мы сейчас? 2024, Srpanj
Anonim
Automatizirane kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom
Automatizirane kućne zavjese - Mini projekt s MakerChips -ovim BluChip (nRF51 BLE) modulom

Zamislite da se probudite i želite prozračiti sunčevu svjetlost kroz prozore ili zatvoriti zavjese kako biste mogli dalje spavati, bez napora da se približite zavjesama, već pritiskom na gumb na pametnom telefonu. S automatiziranim sustavom kućnih zavjesa to možete postići komponentama koje ne koštaju više od 90 USD!

Pogledajte ovaj vodič na Githubu

Korak 1: Dizajn

Dizajn
Dizajn

U središtu automatiziranog sustava kućnih zavjesa je MakerChips -ov BluChip modul.

BluChip je sićušni Bluetooth modul veličine 16,6 x 11,15 mm koji može poslužiti kao periferija pametnim telefonima putem BTLE -a.

Kliknite ovdje za uvod u Bluetooth Low Energy (BTLE).

Modul se sastoji od nRF51 SoC tvrtke Nordic Semiconductors, izvrsne platforme za BLE aplikacije jer podržava mnoge integrirane značajke u Android i Apple aplikacijama.

Korak 2: BluChip Explorer Kit

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

Za izradu ovog projekta nabavio sam BluChip Explorer Kit od tvrtke MakerChips koji je stigao u 2 zasebne kutije, jednu za programer CMSIS-DAP, a drugu u kojoj se nalazi BluChip na ploči s 2 RGB LED diode, foto otpornikom i baterijom CR2032.

Kao što ste primijetili, modul BluChip iznimno je malen, što ga čini savršenim za male ugrađene Bluetooth projekte niske snage. Odgovara zaglavlju od samo 6x4 zaglavlja od 0,1 "na ploči i ima dodatna zaglavlja 0,05" na vrhu ploče, što je prilično impresivno za komercijalno paket s FCC certifikatom!

Evo nekih ključnih značajki BluChipa s web stranice MakerChips:

  • 14 Pristupačni GPIO pinovi
  • 32 -bitni procesor ARM Cortex M0 i 256 KB flash i 32 KB RAM -a
  • 16,6 mm x 11,15 mm Najmanji dostupan Bluetooth® modul za hljebljenje za kruh
  • Napajanje podržava 1.8V - 3.6V
  • Bluetooth značajke

    • BTLE - Bluetooth s niskom potrošnjom energije - (BLE, BT 4.1)
    • Bluetooth® i Japan, FCC, IC kvalificirani
    • Integrirani sistemski sat od 32 Mhz
    • Izlazna snaga: +4dBm tipično
    • Frekvencija: 2402 do 2480 MHz

      Integrirana antena visokih performansi

    • Single Mode Bluetooth® Smart Slave/Master
  • Podržana sučelja: SPI, UART, I2C i 8/9/10bit ADC
  • Dva seta programskih pinova
    • .05 "zaglavlja za jednostavno spajanje na CMSIS-DAP i J-Link uređaje
    • .1 "zaglavlja za povezivanje s matičnim pločama
  • Softverski kontrolirana crvena LED

Korak 3: Aplikacija NRF Connect

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

Čim otvorite BluChip istraživačku kutiju, vidite da oživljava s treperećim LED diodama, što je prilično fascinantan prizor, zar ne?

Da vidimo što se sprema s ovim BLE modulom, idemo dalje i instalirajmo aplikaciju nRF Connect s Google Playa ili App Storea.

S BluChipom ćemo se povezati svojim telefonom, pa otvorite aplikaciju nRF Connect, pregledajte zaslon dobrodošlice i dodirnite Omogući da biste uključili Bluetooth. Zatim dodirnite Skeniraj i uskoro ćete otkriti da je vaš BluChip uređaj naveden na kartici Skener.

Prije nego što se zapravo povežemo s BluChipom, uzmimo LED diodu i postavimo je na ploču pored pinova 026 (+ve) i 021 (-ve). LED bi trebao odmah zasvijetliti jer pin 026 daje 3.3V (logička razina HIGH), dok je pin 021 logički LOW (uzemljenje).

Samo naprijed i dodirnite povezivanje da biste uspostavili vezu između svog pametnog telefona i BluChipa, koji vas zatim vodi do kartice klijenta uređaja u aplikaciji.

Kartica klijenta BluChip prikazuje sve usluge dostupne na vašem uređaju. Ono što nas ovdje zanima je BlueChip GPIO usluga (navedena kao Nepoznata usluga). Dodirnite je, a zatim dodirnite strelicu okrenutu prema gore pored GPIO modulacijske karakteristike (navedene kao nepoznate karakteristike).

Pojavit će se skočni prozor s vrijednošću upisivanja, dajući vam mogućnost slanja podataka na vaš BluChip uređaj. U našem slučaju želimo isključiti LED, pa dodirnite strelicu pokraj NIZA BITOVA i promijenite format podataka u UINT 8. Mi ćemo poslati pin broj kao prvu vrijednost, pa unesite 21 za pin021. Dodirnite dodatnu vrijednost za slanje sljedećeg podatka, stanje čijeg pina treba postaviti (šesterokutni format BYTE). Da bismo isključili LED, postavit ćemo pin 021 na 3,3 V (visoka logička razina), pa unesite 01, a zatim dodirnite Pošalji.

LED se trenutno gasi! Za ponovno uključivanje LED -a pošaljite vrijednost 0x00 (logička razina LOW) na pin021. Kao što se vidi ispod navedene karakteristike, prikazuje se poslana vrijednost (0x) 15-01. {[(decimalni UINT8) 21 = (heksadecimalni BYTE) 0x15] + (heksadecimalni BYTE) 0x01 => (heksadecimalni BYTE) 0x1501}

Ako odaberete spremanje ovih vrijednosti u skočnom prozoru Upiši vrijednost dajući mu ime, a zatim dodirnite Spremi, možete ih učitati u budućnosti kao unaprijed postavljene za jednostavnu GPIO modulaciju!

Korak 4: Programiranje BluChipa

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

Primijetili ste iz gornjeg videozapisa da se naziv uređaja BluChip na mom telefonu razlikuje od vašeg, pa kako ćemo ga promijeniti po vlastitom nahođenju?

Firmver aplikacije koji radi na BluChipu služi kao periferni uređaj (slave) preko BLE -a na centralne uređaje (master), poput pametnih telefona koji su s njim povezani. Da bismo promijenili naziv uređaja, ukopčamo se u bljeskanje firmvera aplikacije na naš BluChip.

Uz BluChip Explorer komplet dolazi ARM programator (CMSIS-DAP). MakerChips je pružio uredan vodič s detaljnim uputama o detaljima bljeskanja firmvera na BluChip s CMSIS-DAP-om.

Za kompajliranje firmvera u heksadecimalnu datoteku i fleširanje trebat će nam Keil, nRF51 Software Development Kit (SDK) i BluChip firmware. Samo naprijed i preuzmite ih s veza u odjeljku "Softver" na stranici MakerChips "Programiranje BluChipa pomoću CMSIS-DAP-a i stranice Keil".

Instalirajte Keil, a zatim slijedite korake 1-3 u odjeljku "Stvaranje šesterokutne datoteke".

U ovom trenutku možete nastaviti do 4. koraka, ponovna izgradnja svih ciljnih datoteka.

Ako dobijete pogrešku u vezi s "core_cm0.h", trebali biste dodati njegovu putanju u projekt da biste je kompajlirali.

Jednostavno bismo morali potražiti datoteku i locirati njezin direktorij, a to je "\ components / toolchain / gcc".

Uključimo ovaj put u naš projekt. Pritisnite Opcije za cilj, idite na karticu C/C ++, a zatim uključite put kao što je prikazano na slici 16.

Nakon uključivanja potrebnih ovisnosti, naš se projekt kompilira i sada možemo pregledati sastavljeni izlaz, prilagođenu heksadecimalnu datoteku na "nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxxs"

Za prebacivanje heksadecimalne datoteke na BluChip slijedite korake 1-8 u odjeljku "Prijenos heksadecimalne datoteke".

Sada kada ste na BluChip učitali firmver s prilagođenim imenom uređaja, pokrenite aplikaciju nRF Connect i potražite svoj uređaj. Primijetit ćete da je sada nazvan prema onome što ste definirali u DEVICE_NAME u firmveru!

U sljedećem koraku počet ćemo s postavljanjem hardvera, elektronike i softvera našeg automatiziranog sustava za kućne zavjese.

Korak 5: Izgradnja automatiziranih zavjesa

Image
Image
Izrada automatiziranih zavjesa
Izrada automatiziranih zavjesa
Izrada automatiziranih zavjesa
Izrada automatiziranih zavjesa
Izrada automatiziranih zavjesa
Izrada automatiziranih zavjesa

Nakon što smo pregledali proces sastavljanja i ažuriranja našeg firmvera, prijeđimo na izradu vlastitih bluetooth zavjesa!

Koračni motor će se koristiti za pogon razvodnog remena koji pomiče zavjese otvaranjem i zatvaranjem. Koračni motor pokreće Half-H upravljački sklop koji će kontrolirati BluChip.

Za napajanje ćemo koristiti 12V AC-DC regulator napona koji se napaja na motor, zajedno s LM317 DC-DC regulatorom napona za smanjenje 12V na 3.3V koji će napajati IC IC BluChip i Stepper Driver.

Vlastiti BluChip modul možete nabaviti u potpuno novoj trgovini tvrtke MakerChips na adresi Tindie ili na web stranici MakerChips.

Uzmimo dolje navedene dijelove uz BluChip Explorer Kit za početak sastavljanja automatskih zavjesa:

  • Adapter za napajanje 12V 1A 3,40 USD
  • Jack Barrel 0,68 dolara
  • LM317T Regulator napona 0,80 USD
  • Otpornici (200 i 330 ohma) 1,69 USD
  • Upravljački program koraka L293D 1,63 USD
  • Unipolarni koračni motor 8,00 USD (ili 1,66 USD <= izmijenite ovaj manji unipolarni u bipolarni steper)
  • Zupčasti remen od 6 mm 7,31 USD
  • 6 mm zupčanik 0,54 USD (ili 3D ispis iz Thingiversea)
  • Remenica od 6 mm 1,17 USD (ili 3D ispis iz Thingiverse -a)
  • Granični prekidač x2 (izborno) 1,34 USD
  • Okvir za kućište projekta (izborno) 1,06 USD
  • Žice za skakače s kladionice 2,09 USD
  • Dupont žice za skakače 2,80 USD
  • Gumice 1,13 dolara
  • Twist kravate 3,22 USD
  • 22 AWG žica (izborno) 1,22 USD
  • Zip kravate (izborno) 0,63 USD
  • Skupljajuća cijev (izborno) 1,97 USD

Alati (izborno):

  • Pištolj za vruće ljepilo 3,75 USD
  • Lemljeno željezo 6,79 USD

Preuzmite Bill of Materials s GitHub -a (Amazon)

Slika 20 prikazuje način na koji ćete povezati sustav, ovisno o tome koje značajke odlučite dodati. Ako želite preciznije kretanje, projektu biste dodali granične sklopke.

Krajnji prekidači su krajnje točke zavjesa koje govore BluChipu kada se otvori ili zatvori. Bez graničnih sklopki morali biste konfigurirati firmver kako biste naznačili koliko se vaše zavjese pomiču u nadolazećem odjeljku "Konfiguracija firmvera".

Slika 20 također uključuje izborni foto otpornik koji omogućuje detekciju dana i noći, također konfigurabilan u odjeljku "Konfiguracija firmvera".

Pokrenite montažu hardvera montiranjem koračnog motora, remenice i razvodnog remena na vrh zavjesa. (Slika 21)

Privremeno zategnite razvodni remen gumicom. Kasnije, prije dovršetka projekta, spojit ćete ga patentnim zatvaračem kako biste ga trajno držali.

Za pričvršćivanje zavjesa na razvodni remen, obmotajte žičane vezice oko pojasa i kuke za zavjese.

Da biste stekli bolju predodžbu o tome kako pričvrstiti zavjese na remen, slijedite sliku 22. Lijevu zavjesu ćete zavezati žičanom vezicom za stražnju stranu razvodnog remena, a desnu zavjesu za prednju stranu razvodnog remena sa žičanom vezicom.

Nakon što pričvrstite remen i zavežete zavjesu, uklonite koračni motor kako bismo mogli početi sastavljati i testirati elektronički krug koji će ga pokretati. Započnite s izgradnjom elektronike postavljanjem regulatora napona Bluchip, L293d IC i LM317t na ploču prema do slike 20.

Umetnite otpornike od 200 i 330 ohma prema slici 20. Otpornici podešavaju izlaz LM317 tako da daje ~ 3.3V. (Slika 24)

Umetnite kratkospojnik, a zatim žičanu utičnicu kao što je prikazano na slici 26.

Uključimo naš adapter za napajanje u zidnu utičnicu i uključimo adapter u utičnicu za provjeru napona kako je prikazano na slici 27.

Nakon što se utvrde ispravni naponi, uklonite utičnicu za napajanje i počnite postavljati preostale žice kratkospojnika za ploču prema slici 20.

Sljedeće ćemo spojiti naš bipolarni koračni motor na IC L293d.

Najprije postavite Dupont žice kratkospojnika u priključak koračnog motora kao što je prikazano na slici 29.

Da biste saznali koja žica kamo ide, slijedite shemu na slici 30.

Kao što se vidi na shemi, vodiči jedne zavojnice idu do Pin2 i Pin6 L293D. Vodiči s druge zavojnice idu do Pin11 i Pin14.

Modificirani bipolarni koračni motor 28BYJ-48 ima četiri upotrebljive žice u boji kako se vidi na slici 31.

Žicu povezujemo na Pin3, žutu na Pin6, narančastu na Pin11 i ružičastu na Pin14 na L293d.

Osnovno kolo sada je dovršeno!

Ako želite implementirati krajnje sklopke, spojite žice NO & C na neku žicu 22AWG. Na drugom kraju, pričvrstite DuPont kratkospojnike kako biste oblikovali vodiče koji pristaju na ploču s ploču. (Slika 32)

Možete ih montirati na zavjesu kao što je prikazano na slici 33 gumenim vrpcama, ili ako imate pri ruci pištolj za vruće ljepilo, možete ga pričvrstiti patentnim zatvaračem za šinu, a zatim utapkati dobru količinu vrućeg ljepila kako biste bili sigurni da se ne pomiče oko.

Da biste dobili ideju gdje ih postaviti, pogledajte sliku 34.

Jedan krajnji prekidač pričvršćen je na krajnji lijevi kraj zavjese, između prve kuke i druge, tako da kada se zavjese otvore kuka pritisne prekidač i aktivira ga. Drugi krajnji prekidač postavljen je izravno u središte tračnice, okrenut ulijevo. Na taj se način aktivira kad se zavjese zatvore.

Umetnite krajnje prekidače u ploču prema slici 20.

Konačno, ako želite da se vaše zavjese otvaraju kad izlazi sunce i zatvaraju se kad zađe, morat ćete priključiti foto otpornik kao što je prikazano na slici 36 i postaviti ga blizu mjesta gdje ima pristup sunčevoj svjetlosti tijekom zore.

Nakon što završite s postavljanjem kružne ploče, pripremite se i spojite svoj programator na BluChip kako biste fleširali firmver. Preuzmite firmver s GitHub -a i ekstrahirajte ga u svoj SDK direktorij kao i prije.

Preuzmite ble_app_ahc.zip s Githuba.

Otvorite projekt, zatim sastavite i prenesite firmver na BluChip.

Prije nego što ga isprobamo, priložit ćemo ploču u kutiju i napraviti rupe za žice i LED diodu statusa zavjesa.

Postavite ploču na podnožje kutije s kutijama i napravite otvor za žice. Otvor služi i kao točka za BluChip da komunicira s drugim uređajima putem svoje antene. (Slika 37)

Izbušite rupu veličine LED -a sa strane kućišta i postavite LED na njega. Ožičite LED diodu prema slici 20.

Pronađite prikladno mjesto za postavljanje kutije s ogradom lijevo od zavjese, blizu utičnice. Ponovno montirajte motor i napravite posljednje ispitivanje zatezanja razvodnog remena, pazeći da nema labavosti. (Slika 39)

Sada je vrijeme za testiranje našeg sastavljenog sustava. Umetnite adapter za napajanje i pokrenite aplikaciju nRF Connect. Otkrit ćete uređaj po imenu Curtains. BluChip.

Spojite se na njega, pošaljite vrijednost UINT8 1 (Otvorene zavjese) na Nepoznatu karakteristiku u okviru usluge Nepoznato i gledajte kako se zavjese otvaraju!

Sada kada ste uspješno testirali svoj sustav, pogledajmo konfiguriranje dijela koda koji prikazuje emisiju na BluChipu.

Korak 6: Konfiguracija BluChip firmvera

Konfiguracija BluChip firmvera
Konfiguracija BluChip firmvera
Konfiguracija BluChip firmvera
Konfiguracija BluChip firmvera
Konfiguracija BluChip firmvera
Konfiguracija BluChip firmvera

Projekt firmvera za automatizirane kućne zavjese sastoji se uglavnom od 4 datoteke: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Tijekom izgradnje elektronike i hardvera imali smo mogućnost odabrati želimo li granične sklopke za povećanje točnosti našeg automatiziranog sustava.

U kodu iz ahc.h možemo vidjeti #define za LIMIT_SWITCHES.

Sastavljanje i prebacivanje koda s #define LIMIT_SWITCHES omogućuje korištenje oba krajnja prekidača za otkrivanje otvaranja i zatvaranja zavjesa.

Preimenovanje u #undef LIMIT_SWITCHES potrebno je ako ste odlučili ne uključiti granične sklopke za svoj projekt. U tom slučaju trebate prilagoditi udaljenost do koje vaša zavjesa putuje u varijablama CURTAIN_OPEN_STEPS i CURTAIN_CLOSE_STEPS. Podesite ove vrijednosti da biste produžili ili skratili udaljenost zastora.

Druga mogućnost, dodavanje fotootpornika, može se omogućiti promjenom #undef LDR u #define LDR. LDR označava otpornik ovisan o svjetlu, poznat i kao fotootpornik. Kad omogućimo LDR, fotootpornik zna kada je vani svijetlo ili mračno i pomaže vam da zatvorite ili otvorite zavjese na početku ili na kraju dana.

Osim konfiguriranja graničnih sklopki i fotootpornika, pogledajmo neke druge glavne blokove koda koji vam omogućuju automatsko otvaranje i zatvaranje zavjesa.

Datoteke ble_ahc_service.c & ble_ahc_service.h sadrže kôd koji prenosi podatke s vašeg telefona na BluChip.

Kad BluChip primi podatke, analizira ih prema tome je li poslano 0 ili 1. Zatim aktivira statusnu LED, vrši kretanje motora, a zatim deaktivira završetak LED signalizacije.

Funkcija ahc_init () iz ahc.h izvodi se na početku glavne petlje, inicijalizirajući sve pinove na BluChipu.

Korak 7: Sažetak

Za kraj, ovo je bio izuzetno zabavan i prilično jednostavan projekt za upoznavanje osnova BLE -a. Činjenica da BluChip -ov modul za probijanje dobro pristaje na ploču čini ga vrlo lakim za brzo prototipiranje na bilo kojoj ploči koja se nalazi oko vas.

Rekao bih da sam nakon izgradnje svojih automatiziranih zavjesa već razmišljao o raznim drugim stvarima za povezivanje BluChipa, uključujući pametne neopiksele, OLED za stvaranje digitalnog sata, robota upravljanog pametnim telefonom i mnoge druge elektroničke projekte male snage. ideje koje bi trebale kompaktnu bežičnu komunikaciju!

Svatko tko ima veliki interes za elektroniku i programiranje bio bi ugodno iznenađen ponudom BluChipa, kao i pogodnošću postavljanja i implementacije BLE -a kako bi se projekti pretvorili u još hladnije.

Od sada ću se vratiti uživanju u svojim praktičnim automatiziranim kućnim zavjesama.

Preporučeni: