Turinys:

Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu: 7 žingsniai (su nuotraukomis)
Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu: 7 žingsniai (su nuotraukomis)

Video: Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu: 7 žingsniai (su nuotraukomis)

Video: Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu: 7 žingsniai (su nuotraukomis)
Video: Dieninės ir naktinės užuolaidos, elektriniai somfy karnizai 2024, Liepa
Anonim
Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu
Automatizuotos namų užuolaidos - mini projektas su „MakerChips“„BluChip“(nRF51 BLE) moduliu

Įsivaizduokite, kad pabudę norite gauti saulės spindulį pro langus arba uždaryti užuolaidas, kad galėtumėte miegoti toliau, nesistengdami priartėti prie užuolaidų, o paspausdami išmaniojo telefono mygtuką. Naudodami automatizuotą namų užuolaidų sistemą galite tai pasiekti naudodami komponentus, kurių kaina ne didesnė kaip 90 USD!

Peržiūrėkite šią pamoką „Github“

1 žingsnis: dizainas

Dizainas
Dizainas

Automatinės namų užuolaidų sistemos pagrindas yra „MakerChips“„BluChip“modulis.

„BluChip“yra mažas 16,6 x 11,15 mm „Bluetooth“modulis, kuris gali būti naudojamas kaip išorinis išmaniųjų telefonų per BTLE periferinis įrenginys.

Spustelėkite čia, jei norite susipažinti su „Bluetooth Low Energy“(BTLE).

Modulį sudaro „Nordic Semiconductors“„nRF51 SoC“, puiki platforma BLE programoms, nes ji palaiko daugybę integruotų funkcijų tiek „Android“, tiek „Apple“programose.

2 veiksmas: „BluChip Explorer“rinkinys

„BluChip Explorer“rinkinys
„BluChip Explorer“rinkinys
„BluChip Explorer“rinkinys
„BluChip Explorer“rinkinys
„BluChip Explorer“rinkinys
„BluChip Explorer“rinkinys

Norėdami sukurti šį projektą, iš „MakerChips“gavau „BluChip Explorer“rinkinį, kuris buvo pristatytas 2 atskirose dėžutėse: viena skirta CMSIS-DAP programuotojui ir kita dėžutė, kurioje yra „BluChip“ant duonos lentos su 2 RGB šviesos diodais, foto rezistorius ir CR2032 baterija.

Kaip pastebėjote, „BluChip“modulis yra labai mažas, todėl puikiai tinka mažiems įterptiems mažos galios „Bluetooth“projektams. Jis tinka tik 6x4 0,1 colio antraščių pėdsakui ant duonos lentos ir turi papildomas 0,05 colio antraštes lentos viršuje, o tai gana įspūdinga komerciškai FCC sertifikuotam paketui!

Štai keletas pagrindinių „BluChip“funkcijų iš „MakerChips“svetainės:

  • 14 prieinami GPIO kaiščiai
  • ARM Cortex M0 32 bitų procesorius ir 256 KB blykstė bei 32 KB RAM
  • 16,6 mm x 11,15 mm Mažiausias prieinamas „Bluetooth ®“modulis su duona
  • Maitinimo šaltinis palaiko 1.8V - 3.6V
  • „Bluetooth“funkcijos

    • BTLE - „Bluetooth“mažai energijos - (BLE, BT 4.1)
    • „Bluetooth®“ir Japonija, FCC, IC
    • Integruotas 32 Mhz sistemos laikrodis
    • Išėjimo galia: +4dBm
    • Dažnis: nuo 2402 iki 2480 MHz

      Integruota didelio našumo modelio antena

    • Vieno režimo „Bluetooth® Smart Slave/Master“
  • Palaikomos sąsajos: SPI, UART, I2C ir 8/9/10bit ADC
  • Du programavimo kaiščių rinkiniai

    • .05 colių antraštės, kurias lengva prijungti prie CMSIS-DAP ir J-Link įrenginių
    • .1 "antraštės, skirtos sąsajai su duonos lentomis
  • Programinė įranga valdomas raudonas šviesos diodas

3 žingsnis: „NRF Connect“programa

Image
Image
„NRF Connect“programa
„NRF Connect“programa
„NRF Connect“programa
„NRF Connect“programa

Kai tik atidarote „BluChip explorer“dėžutę, matote, kad ji atgyja mirksinčiais šviesos diodais, o tai gana žavus vaizdas, ar ne?

Norėdami pamatyti, kas laukia šio BLE modulio, eikime į priekį ir įdiekime „nRF Connect“programą iš „Google Play“arba „App Store“.

Telefonu ketiname prisijungti prie „BluChip“, todėl atidarykite „nRF Connect“programą, naršykite pasveikinimo ekraną ir palieskite „Įjungti“, kad įjungtumėte „Bluetooth“. Tada bakstelėkite Nuskaityti ir netrukus pamatysite, kad jūsų „BluChip“įrenginys yra pateiktas skirtuke „Skaitytuvas“.

Prieš prisijungdami prie „BluChip“, įsigykime šviesos diodą ir padėkite jį ant duonos lentos šalia kaiščių 026 (+ve) ir 021 (-ve). Šviesos diodas turėtų nedelsiant užsidegti, nes 026 kaištis išleidžia 3.3V (loginis lygis HIGH), o 021 kaištis yra loginis LOW (įžeminimas).

Eikite į priekį ir bakstelėkite prisijungti, kad užmegztumėte ryšį tarp savo išmaniojo telefono ir „BluChip“, o tada pateksite į įrenginio kliento skirtuką programoje.

„BluChip“kliento skirtuke rodomos visos jūsų prietaise pasiekiamos paslaugos. Čia mus domina „BlueChip GPIO“paslauga (nurodyta kaip nežinoma paslauga). Bakstelėkite jį, tada bakstelėkite aukštyn nukreiptą rodyklę šalia GPIO moduliacijos charakteristikos (nurodyta kaip nežinoma charakteristika).

Bus rodomas iššokantis rašymo vertės langas, suteikiantis galimybę siųsti duomenis į „BluChip“įrenginį. Mūsų atveju norime išjungti šviesos diodą, todėl bakstelėkite rodyklę šalia „BYTE ARRAY“ir pakeiskite duomenų formatą į „UINT 8.“Kaip pirmąją vertę atsiųsime PIN kodą, todėl PIN021 įveskite 21. Bakstelėkite pridėtinę vertę, kad išsiųstumėte kitą duomenų dalį, kurios būsena turi būti nustatyta (šešiakampis BYTE formatas). Norėdami išjungti šviesos diodą, mes nustatysime 021 kaištį į 3.3V (aukštas loginis lygis), todėl įveskite 01, tada palieskite Siųsti.

Šviesos diodas akimirksniu išsijungia! Norėdami vėl įjungti šviesos diodą, nusiųskite 0x00 (loginis lygis LOW) reikšmę į pin021. Kaip matyti žemiau išvardytos charakteristikos, rodoma išsiųsta (0x) 15-01 vertė. {[(dešimtainis UINT8) 21 = (šešioliktainiai BYTE) 0x15] + (šešioliktainiai BYTE) 0x01 => (šešioliktainiai BYTE) 0x1501}

Jei pasirinksite išsaugoti šias reikšmes iššokančiajame lange „Rašyti vertę“, suteikdami jam pavadinimą ir tada paliesdami „Išsaugoti“, galėsite jas įkelti ateityje kaip iš anksto nustatytas, kad būtų galima lengvai modifikuoti GPIO!

4 žingsnis: „BluChip“programavimas

„BluChip“programavimas
„BluChip“programavimas
„BluChip“programavimas
„BluChip“programavimas
„BluChip“programavimas
„BluChip“programavimas

Iš aukščiau pateikto vaizdo įrašo būtumėte pastebėję, kad mano telefone esantis „BluChip“įrenginio pavadinimas skiriasi nuo jūsų, tad kaip mes galime jį pakeisti pagal savo skonį?

Programos programinė įranga, veikianti „BluChip“, tarnauja kaip periferinis įrenginys (vergas) per BLE į centrinius įrenginius (pagrindinius), pvz., Prie jo prijungtus išmaniuosius telefonus. Norėdami pakeisti savo įrenginio pavadinimą, pasinerkime į mirksinčią programų programinę įrangą mūsų „BluChip“.

„BluChip Explorer“rinkinyje yra ARM programuotojas (CMSIS-DAP). „MakerChips“pateikė tvarkingą „How-To“vadovą, kuriame pateikiama išsami informacija apie mirksinčią programinę-aparatinę įrangą „BluChip“su CMSIS-DAP.

Norėdami surinkti programinę -aparatinę įrangą į šešiabriaunį failą ir jį atnaujinti, mums reikės „Keil“, „nRF51 Software Development Kit“(SDK) ir „BluChip“programinės įrangos. Eikite į priekį ir atsisiųskite juos iš nuorodų, esančių „Programinės įrangos“skiltyje „MakerChips“„BluChip“programavimas naudojant CMSIS-DAP ir Keil puslapį.

Įdiekite „Keil“, tada atlikite 1–3 veiksmus, nurodytus skyriuje „Šešiakampio failo kūrimas“.

Šiuo metu galite tęsti 4 veiksmą „Visų tikslinių failų atkūrimas“.

Jei gausite klaidą dėl „core_cm0.h“, turėsite pridėti jo kelią prie projekto, kad jį sudarytumėte.

Mums tiesiog reikia ieškoti failo ir surasti jo katalogą, kuris yra „\ components / toolchain / gcc“.

Įtraukime šį kelią į savo projektą. Spustelėkite Tikslo parinktys, eikite į skirtuką C/C ++, tada įtraukite kelią, kaip parodyta 16 paveiksle.

Įtraukę būtinas priklausomybes, mūsų projektas surenka ir dabar galime peržiūrėti surinktą išvestį, pasirinktinį šešioliktainį failą adresu „nRF51_SDK_10.0.0_dc26b5e example“ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51410_xxac_s

Norėdami įterpti šešiakampį failą į „BluChip“, atlikite 1-8 veiksmus, nurodytus skyriuje „Šešiakampio failo perkėlimas“.

Dabar, kai į „BluChip“įkėlėte programinę įrangą su pasirinktu įrenginio pavadinimu, paleiskite „nRF Connect“programą ir nuskaitykite savo įrenginį. Pastebėsite, kad dabar jis pavadintas pagal tai, ką programinėje įrangoje apibrėžėte „DEVICE_NAME“!

Kitame žingsnyje pradėsime nustatyti automatinės namų užuolaidų sistemos techninę įrangą, elektroniką ir programinę įrangą.

5 žingsnis: statykite automatines užuolaidas

Image
Image
Automatinių užuolaidų kūrimas
Automatinių užuolaidų kūrimas
Automatinių užuolaidų kūrimas
Automatinių užuolaidų kūrimas
Automatinių užuolaidų kūrimas
Automatinių užuolaidų kūrimas

Peržiūrėję mūsų programinės įrangos sudarymo ir mirksėjimo procesą, pereikime prie savo „Bluetooth“užuolaidų kūrimo!

Žingsninis variklis bus naudojamas paskirstymo diržui vairuoti, kuris užuolaidas atidaro ir uždaro. Žingsninį variklį varo „Half-H“tvarkyklės IC, kurį valdys „BluChip“.

Maitinimui naudosime 12 V AC-DC įtampos reguliatorių, kuris tiekiamas į variklį, kartu su LM317 DC-DC įtampos reguliatoriumi, kad sumažėtų 12 V iki 3,3 V, kuris maitins „BluChip“ir „Stepper Driver IC“.

Savo „BluChip“modulį galite įsigyti visiškai naujoje „MakerChips“parduotuvėje „Tindie“arba „MakerChips“svetainėje.

Norėdami surinkti automatines užuolaidas, kartu su „BluChip Explorer Kit“įsigysime toliau išvardytas dalis:

  • 12V 1A maitinimo adapteris $ 3.40
  • Barelis Džekas 0,68 USD
  • Įtampos reguliatorius LM317T $ 0.80
  • Rezistoriai (200 ir 330 omų) 1,69 USD
  • „L293D Stepper Driver“1,63 USD
  • Unipolinis žingsninis variklis 8,00 USD (arba 1,66 USD <= modifikuokite šį mažesnį vienpolį į bipolinį žingsnį)
  • 6 mm paskirstymo diržas $ 7.31
  • 6 mm pavara 0,54 USD (arba 3D spausdinama iš „Thingiverse“)
  • 6 mm skriemulys 1,17 USD (arba 3D spausdinimas iš „Thingiverse“)
  • Ribinis jungiklis x2 (neprivaloma) $ 1.34
  • Projekto gaubto dėžutė (neprivaloma) 1,06 USD
  • „Breadboard“jungiamieji laidai 2,09 USD
  • „Dupont Jumper“laidai 2,80 USD
  • Guminės juostos 1,13 USD
  • „Twist Ties“3,22 USD
  • 22 AWG viela (neprivaloma) 1,22 USD
  • Užtrauktukai (neprivaloma) 0,63 USD
  • Susitraukiantis vamzdelis (neprivaloma) 1,97 USD

Įrankiai (neprivaloma):

  • Karšto klijų pistoletas $ 3.75
  • Lituoklis 6,79 USD

Atsisiųskite medžiagų sąrašą iš „GitHub“(„Amazon“)

20 paveiksle parodyta, kaip ketinate prijungti sistemą, atsižvelgiant į pasirinktas funkcijas. Jei norite tikslesnio judėjimo, prie projekto pridėtumėte ribinius jungiklius.

Ribiniai jungikliai yra užuolaidų galiniai taškai, kurie praneša „BluChip“, kai jis atidaromas arba uždaromas. Neturėdami ribinių jungiklių, turėsite konfigūruoti programinę -aparatinę įrangą, kad būsimoje skiltyje „Firmware Configuration“(programinės aparatinės įrangos konfigūracija) būtų nurodyta, kiek tolsta jūsų užuolaidos.

20 paveiksle taip pat yra pasirinktinis nuotraukų rezistorius, leidžiantis aptikti dieną ir naktį, taip pat konfigūruojamas skyriuje „Firmware Configuration“.

Pradėkite aparatūros surinkimą, uždėdami žingsninį variklį, skriemulį ir paskirstymo diržą prie užuolaidų viršaus. (21 paveikslas)

Laikinai įtempkite paskirstymo diržą gumine juostele. Vėliau, prieš baigdami projektą, ketinate jį susieti, kad jis būtų nuolat laikomas.

Norėdami pritvirtinti užuolaidas prie paskirstymo diržo, suverkite vielos raiščius aplink diržą ir užuolaidų kablį.

Kad geriau suprastumėte, kaip užuolaidas pritvirtinti prie diržo, sekite 22 paveikslą. Kairę užuolaidą pririšite prie paskirstymo diržo galo vieliniu kaklaraiščiu, o dešinę - prie paskirstymo diržo priekio su vieliniu kaklaraiščiu.

Kai diržas bus pritvirtintas ir uždengta uždanga, nuimkite žingsninį variklį, kad galėtume pradėti surinkti ir išbandyti jį valdančią elektroninę grandinę. Pradėkite kurti elektroniką, padėdami „Bluchip“, L293d IC ir LM317t įtampos reguliatorių ant lentos iki 20 paveikslo.

Įdėkite 200 ir 330 omų rezistorius pagal 20 paveikslą. Rezistoriai sureguliuoja LM317 išėjimą taip, kad užtikrintų ~ 3,3 V. (24 pav.)

Įkiškite jungiamąjį laidą, tada laidinį statinės lizdą, kaip parodyta 26 paveiksle.

Prijunkime maitinimo adapterį prie sieninio lizdo ir prijunkite adapterį prie cilindro lizdo, kad patikrintumėte įtampą, kaip parodyta 27 paveiksle.

Kai bus nustatyta teisinga įtampa, ištraukite maitinimo lizdą ir pradėkite dėti likusius duonos lentos trumpiklius pagal 20 paveikslą.

Toliau mes prijungsime savo bipolinį žingsninį variklį prie L293d IC.

Pirmiausia įdėkite „Dupont“jungiamuosius laidus į žingsninio variklio jungtį, kaip parodyta 29 paveiksle.

Norėdami sužinoti, kuris laidas kur eina, vadovaukitės 30 paveiksle pateikta schema.

Kaip matyti schemoje, laidai iš vienos ritės eina į L293D kaiščius 2 ir 6. Laidai iš kitos ritės eina į „Pin11“ir „Pin14“.

Modifikuotas 28BYJ-48 bipolinis žingsninis variklis turi keturis tinkamus naudoti spalvotus laidus, kaip parodyta 31 paveiksle.

L293d prijungiame mėlyną prie „Pin3“, geltoną - į „Pin6“, oranžinę - į „Pin11“ir rožinę - į „Pin14“.

Pagrindinė grandinė baigta!

Jei norite įdiegti ribinius jungiklius, NO & C laidus prijunkite prie 22AWG laido. Kitame gale pritvirtinkite „DuPont“trumpiklius, kad suformuotumėte laidus, kurie tilptų ant duonos lentos. (32 pav.)

Galite juos pritvirtinti prie užuolaidų bėgelio guminėmis juostomis, kaip parodyta 33 paveiksle, arba, jei po ranka turite karšto klijų pistoletą, galite jį užtrauktuku pritvirtinti prie bėgelio, tada užtepkite daug karštų klijų, kad jie nejudėtų aplinkui.

Norėdami sužinoti, kur juos įdėti, žiūrėkite 34 paveikslą.

Vienas galinis jungiklis yra pritvirtintas prie kairiojo užuolaidų bėgelio galo, tarp pirmojo ir antrojo bėgio kabliuko, kad atidarius užuolaidas kablys prispaustų jungiklį ir jį įjungtų. Kitas galinis jungiklis yra tiesiai bėgio centre, nukreiptas į kairę. Tokiu būdu jis įjungiamas, kai užuolaidos užsidaro.

Įdėkite ribinio jungiklio laidus į duonos lentą pagal 20 paveikslą.

Galiausiai, jei norite, kad jūsų užuolaidos atsidarytų saulei tekant, ir užsidarytų jai tekant, turite prijungti fotorezistorių, kaip parodyta 36 pav., Ir pastatyti jį netoli tos vietos, kur aušros metu ji turi saulės spindulių.

Baigę konfigūruoti duonos lentos grandinę, pasiruoškite ir prijunkite programuotoją prie „BluChip“, kad paleistumėte programinę įrangą. Atsisiųskite programinę -aparatinę įrangą iš „GitHub“ir ištraukite ją į savo SDK katalogą, kaip tai darėte anksčiau.

Atsisiųskite ble_app_ahc.zip iš „Github“.

Atidarykite projektą, tada sukompiliuokite ir įkelkite programinę -aparatinę įrangą į „BluChip“.

Prieš išbandydami, mes įdėsime duonos lentą į dėžę ir padarysime skyles laidams ir užuolaidos būsenos šviesos diodui.

Padėkite duonos lentą ant korpuso dėžutės pagrindo ir padarykite angą laidams. Atidarymas taip pat yra taškas, kuriuo „BluChip“gali bendrauti su kitais įrenginiais per savo anteną. (37 pav.)

Korpuso šone išgręžkite LED dydžio skylę ir pritvirtinkite šviesos diodą. Prijunkite šviesos diodą pagal 20 paveikslą.

Raskite tinkamą vietą korpuso dėžutei pritvirtinti kairėje nuo užuolaidų bėgelio, netoli elektros lizdo. Sumontuokite variklį ir atlikite paskutinį paskirstymo diržo įtempimo testą, įsitikindami, kad nėra laisvumo. (39 pav.)

Dabar atėjo laikas išbandyti mūsų surinktą sistemą. Įdėkite maitinimo adapterį ir įjunkite „nRF Connect“programą. Atrasite prietaisą pavadinimu „Curtains. BluChip“.

Prisijunkite prie jo, nusiųskite UINT8 1 (atidarytos užuolaidos) vertę į „Nežinomą charakteristiką“, esantį „Nežinomas“paslaugoje, ir stebėkite, kaip užuolaidos atsiveria!

Dabar, kai sėkmingai išbandėte savo sistemą, pažiūrėkime, kaip sukonfigūruoti tam tikrą kodą, kuriame rodoma „BluChip“programa.

6 veiksmas: „BluChip“programinės įrangos konfigūracija

„BluChip“programinės įrangos konfigūracija
„BluChip“programinės įrangos konfigūracija
„BluChip“programinės įrangos konfigūracija
„BluChip“programinės įrangos konfigūracija
„BluChip“programinės įrangos konfigūracija
„BluChip“programinės įrangos konfigūracija

Automatinės namų užuolaidos programinės įrangos projektą daugiausia sudaro 4 failai: main.c, ahc.c, ble_ahc_service.c ir ble_ahc_service.h.

Kurdami elektroniką ir techninę įrangą, turėjome galimybę pasirinkti, ar norime ribinių jungiklių, kurie padidintų mūsų automatizuotos sistemos tikslumą.

Kode iš ahc.h galime matyti #define LIMIT_SWITCHES.

Kompiliavimas ir mirksėjimas naudojant #define LIMIT_SWITCHES leidžia naudoti abu galinius jungiklius, kad būtų galima nustatyti, kada užuolaidos atsidarė ir užsidarė.

Jei pasirinkote neįtraukti į projektą ribinių jungiklių, jį reikia pervadinti į #undef LIMIT_SWITCHES. Tokiu atveju kintamaisiais CURTAIN_OPEN_STEPS ir CURTAIN_CLOSE_STEPS turėsite patikslinti atstumą, kuriuo nukeliauja jūsų uždanga. Sureguliuokite šias vertes, kad pailgintumėte arba sutrumpintumėte užuolaidos kelionės atstumą.

Kitas variantas, pridedant fotorezistorių, gali būti įjungtas pakeitus #undef LDR į #define LDR. LDR reiškia nuo šviesos priklausomą rezistorių, dar žinomą kaip fotorezistorius. Kai įjungiame LDR, fotorezistorius žino, kada lauke šviesu ar tamsu, ir padeda uždaryti arba atidaryti užuolaidas dienos pradžioje ar pabaigoje.

Be galinių jungiklių ir fotorezistoriaus konfigūravimo, pažvelkime į kai kuriuos kitus pagrindinius kodo blokus, kurie leidžia automatiškai atidaryti ir uždaryti užuolaidas.

Failuose ble_ahc_service.c ir ble_ahc_service.h yra kodas, kuris perduoda duomenis iš jūsų telefono į „BluChip“.

Kai „BluChip“gauna duomenis, jis juos analizuoja pagal tai, ar siunčiamas 0 ar 1. Tada jis įjungia būsenos šviesos diodą, atlieka variklio judesį ir išjungia šviesos diodų signalizacijos užbaigimą.

Funkcija ahc_init () iš ahc.h paleidžiama pagrindinės kilpos pradžioje, inicijuojant visus „BluChip“kaiščius.

7 žingsnis: santrauka

Apibendrinant, tai buvo labai įdomus ir gana lengvas projektas išmokti BLE pagrindų. Tai, kad „BluChip“pertraukos modulis tvirtai priglunda prie duonos lentos, leidžia greitai sukurti prototipą ant bet kokios lentos, kurią galite uždėti.

Sakyčiau, kad sukūręs automatines užuolaidas, aš jau galvojau apie įvairius kitus dalykus, kuriais galėčiau prijungti „BluChip“, įskaitant išmaniuosius neopikselius, OLED skaitmeniniam laikrodžiui sukurti, išmaniuoju telefonu valdomą robotą ir daugelį kitų mažos galios elektroninių projektų. idėjų, kurioms reikėtų kompaktiško belaidžio ryšio!

Visi, kurie labai domisi elektronika ir programavimu, būtų maloniai nustebinti tuo, ką siūlo „BluChip“, taip pat patogumu nustatyti ir įgyvendinti BLE, kad projektai taptų dar šaunesni.

Nuo šiol vėl galėsiu mėgautis savo patogiomis automatinėmis namų užuolaidomis.

Rekomenduojamas: