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, Juli
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čev zrak kroz prozore ili zatvoriti zavjese kako biste mogli dalje spavati, bez napora da se približite zavjesama, već pritiskom na dugme na pametnom telefonu. Pomoću automatiziranog sistema kućnih zavjesa to možete postići komponentama koje koštaju ne više od 90 USD!

Pogledajte ovaj vodič na Githubu

Korak 1: Dizajn

Dizajn
Dizajn

U srcu automatizovanog sistema zavesa za kuću je BluChip modul kompanije MakerChips.

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 kompanije Nordic Semiconductors, odlične platforme za BLE aplikacije jer podržava mnoge integrirane funkcije na 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 dobio sam BluChip Explorer Kit od MakerChips-a koji je stigao u 2 zasebne kutije, jednu za CMSIS-DAP programera i drugu kutiju koja sadrži BluChip na ploči s 2 RGB LED diode, foto otpornikom i baterijom CR2032.

Kao što ste primijetili, BluChip modul je izuzetno mali, š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 pakirano FCC pakiranje!

Evo nekih ključnih karakteristika BluChipa sa web stranice MakerChips:

  • 14 Pristupačni GPIO pinovi
  • ARM Cortex M0 32 -bitni procesor i 256KB flash i 32KB RAM -a
  • 16,6 mm x 11,15 mm Najmanji Bluetooth® modul za hleb koji se može vaditi
  • Napajanje podržava 1.8V - 3.6V
  • Bluetooth funkcije

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

      Integrisana antena visokih performansi

    • Single Mode Bluetooth® Smart Slave/Master
  • Podržani interfejsi: 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 sa matičnim pločama
  • Softverski kontrolisana crvena LED dioda

Korak 3: NRF Connect aplikacija

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 sa trepćuć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.

Povezaćemo se sa BluChip telefonom, pa otvorite aplikaciju nRF Connect, pregledajte ekran 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 zaista povežemo na BluChip, nabavimo 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čki nivo VISOK), 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 BluChip klijent 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 pored BYTE ARRAY i promijenite format podataka u UINT 8. Poslat ćemo pin broj kao prvu vrijednost, pa unesite 21 za pin021. Dodirnite dodatnu vrijednost za slanje sljedećeg podatka, stanje u kojem se pin treba postaviti (šesterokutni format BYTE). Da bismo isključili LED, postavit ćemo pin 021 na 3,3 V (logički nivo visok), pa unesite 01, a zatim dodirnite Pošalji.

LED se trenutno isključuje! Za ponovno uključivanje LED -a, pošaljite vrijednost 0x00 (logički nivo 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 postavke za laku 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 na njega povezani. Da bismo promijenili naziv našeg uređaja, ukopčamo se u ažuriranje 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 prebacivanja firmvera na BluChip sa CMSIS-DAP-om.

Za kompajliranje firmvera u heksadecimalnu datoteku i fleširanje trebat će nam Keil, nRF51 Software Development Kit (SDK) i BluChip firmver. Idite naprijed i preuzmite ih sa 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 "Kreiranje heksadecimalne datoteke".

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

Ako dobijete grešku u vezi sa "core_cm0.h", trebali biste dodati njegovu putanju projektu da biste je kompajlirali.

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

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

Nakon uključivanja potrebnih ovisnosti, naš projekt se kompajlira i sada možemo pregledati kompajlirani 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_xxacs"

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

Sada kada ste učitali firmver na BluChip sa prilagođenim imenom uređaja, pokrenite aplikaciju nRF Connect i skenirajte 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 sistema za kućne zavjese.

Korak 5: Izgradnja automatiziranih zavjesa

Image
Image
Izgradnja automatskih zavjesa
Izgradnja automatskih zavjesa
Izgradnja automatskih zavjesa
Izgradnja automatskih zavjesa
Izgradnja automatskih zavjesa
Izgradnja automatskih 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 kojim će upravljati BluChip.

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

Svoj vlastiti BluChip modul možete nabaviti u potpuno novoj trgovini MakerChips -a na adresi Tindie ili sa MakerChips web stranice.

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

  • 12V 1A adapter za struju 3,40 USD
  • Bačvasti priključak 0,68 USD
  • LM317T Regulator napona 0,80 USD
  • Otpornici (200 i 330 ohma) 1,69 USD
  • L293D Stepper Driver 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
  • Zupčanik od 6 mm 0,54 USD (ili 3D štampanje iz Thingiverse -a)
  • Remenica 6 mm 1,17 USD (ili 3D štampanje iz Thingiverse -a)
  • Granični prekidač x2 (opcionalno) 1,34 USD
  • Okvir za kućište projekta (opcionalno) 1,06 USD
  • Breadboard Jumper žice 2,09 USD
  • Dupont kratkospojne žice 2,80 USD
  • Gumene trake 1,13 USD
  • Twist kravate 3,22 USD
  • 22 AWG žica (opcionalno) 1,22 USD
  • Zip kravate (opcionalno) 0,63 USD
  • Skupljajuća cijev (opcionalno) 1,97 USD

Alati (opcionalno):

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

Preuzmite Bill of Materials sa GitHub -a (Amazon)

Slika 20 prikazuje kako ćete povezati sistem, ovisno o tome koje značajke odlučite dodati. Ako želite preciznije kretanje, projektu biste dodali granične prekidače.

Granični 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đe uključuje opcionalni foto otpornik koji omogućava detekciju dana i noći, takođe konfiguriran u odjeljku "Konfiguracija firmvera".

Pokrenite montažu hardvera postavljanjem 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 zakačiti zavjese za remen, slijedite sliku 22. Lijevu ćete zavjesu vezati za stražnju stranu razvodnog remena žičanom vezicom, a desnu zavjesu za prednju stranu razvodnog remena sa žičanom vezicom.

Nakon što ste pričvrstili pojas i zavezali zavjesu, uklonite koračni motor kako bismo mogli početi sastavljati i testirati elektroničko kolo koje ć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 matičnu ploču prema slici 20.

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

Najprije postavite Dupont kratkospojnike u konektor koračnog motora kao što je prikazano na slici 29.

Da biste saznali koja žica 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 je sada završeno!

Ako želite implementirati krajnje sklopke, ožičite NO & C vodiče do neke žice 22AWG. Na drugom kraju pričvrstite DuPont kratkospojnike kako biste oblikovali vodiče koji pristaju na matičnu ploču. (Slika 32)

Možete ih montirati na zavjesu kao što je prikazano na slici 33 gumenim trakama, ili ako imate pištolj za vruće ljepilo pri ruci, 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 okolo.

Da biste dobili ideju o tome 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 prilikom otvaranja zavjesa kuka pritisne prekidač i aktivira ga. Drugi krajnji prekidač postavljen je direktno u središte šine, okrenut lijevo. Na ovaj način se aktivira kada se zavese 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 tokom zore.

Nakon što završite s postavljanjem kružne ploče, pripremite se i povežite svoj programator s BluChip -om radi fleširanja firmvera. Preuzmite firmver s GitHub -a i ekstrahirajte ga u svoj SDK direktorij kao i prije.

Preuzmite ble_app_ahc.zip sa Github -a.

Otvorite projekt, zatim sastavite i učitajte firmver na BluChip.

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

Postavite ploču na dno kutije s kutijom 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. Spojite LED diodu prema slici 20.

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

Sada je vrijeme da testiramo naš sastavljeni sistem. Umetnite adapter za napajanje i pokrenite aplikaciju nRF Connect. Otkrićete uređaj pod imenom Curtains. BluChip.

Povežite se s njim, 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 sistem, 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 automatizirane kućne zavjese sastoji se uglavnom od 4 datoteke: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

Prilikom izgradnje elektronike i hardvera imali smo mogućnost odabrati želimo li granične sklopke za povećanje preciznosti našeg automatiziranog sistema.

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

Sastavljanje i prebacivanje koda s #define LIMIT_SWITCHES omogućava 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 prekidače za svoj projekt. U ovom 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 opcija, 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 prekidača 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.

Kada BluChip primi podatke, on ih analizira 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 pokreće se na početku glavne petlje, inicijalizirajući sve pinove na BluChipu.

Korak 7: Sažetak

Zaključno, ovo je bio izuzetno zabavan i prilično jednostavan projekt za naučiti osnove BLE -a. Činjenica da BluChip -ov modul za probijanje dobro pristaje na matičnu ploču čini zaista lakim brzo prototipiranje na bilo kojoj matičnoj ploči koju možete postaviti.

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 za koje je potrebna kompaktna bežična komunikacija!

Svatko tko ima veliko zanimanje 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čuje se: