Cuprins:

Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips: 7 pași (cu imagini)
Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips: 7 pași (cu imagini)

Video: Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips: 7 pași (cu imagini)

Video: Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips: 7 pași (cu imagini)
Video: Cum pregatim un proiect de Smart Home cu #Loxone Episodul 1 2024, Iulie
Anonim
Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips
Perdele automate de acasă - Mini proiect cu modulul BluChip (nRF51 BLE) al MakerChips

Imaginați-vă că vă treziți și că doriți să obțineți un fascicul de soare prin ferestrele dvs. sau să închideți perdelele, astfel încât să puteți dormi mai departe, fără efortul de a vă apropia de perdele, ci mai degrabă prin simpla apăsare a unui buton de pe smartphone. Cu sistemul automat de cortină de casă, veți obține acest lucru cu componente care nu costă mai mult de 90 USD!

Vedeți acest tutorial la Github

Pasul 1: Proiectarea

Design-ul
Design-ul

În centrul sistemului automatizat de cortină de acasă se află modulul BluChip al MakerChips.

BluChip este un mic modul Bluetooth de 16,6x11,15 mm care poate servi ca periferic pentru smartphone-uri prin BTLE.

Faceți clic aici pentru o introducere în Bluetooth Low Energy (BTLE).

Modulul constă dintr-un SoC nRF51 de Nordic Semiconductors, o platformă excelentă pentru aplicațiile BLE, deoarece acceptă multe funcții integrate atât pentru aplicațiile Android, cât și pentru cele Apple.

Pasul 2: BluChip Explorer Kit

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

Pentru a construi acest proiect, am primit BluChip Explorer Kit de la MakerChips care a sosit în 2 cutii separate, una pentru programatorul CMSIS-DAP și o altă cutie care conține BluChip pe o placă cu 2 LED-uri RGB, un rezistor foto și o baterie CR2032.

După cum ați observat, modulul BluChip este extrem de mic, făcându-l perfect pentru proiectele mici Bluetooth încorporate de mică putere. Se potrivește pe o suprafață de doar 6x4 0,1 "anteturi pe o placă și are anteturi suplimentare de 0,05" pe partea superioară a plăcii, destul de impresionant pentru un pachet certificat comercial FCC!

Iată câteva caracteristici cheie ale BluChip de pe site-ul MakerChips:

  • 14 pini GPIO accesibile
  • Procesor ARM Cortex M0 pe 32 de biți și 256KB flash și 32KB RAM
  • 16,6 mm x 11,15 mm Modulul Bluetooth ® cel mai mic care poate fi accesibil
  • Sursa de alimentare suportă 1,8V - 3,6V
  • Caracteristici Bluetooth

    • BTLE - Bluetooth cu energie redusă - (BLE, BT 4.1)
    • Bluetooth® și Japonia, FCC, IC calificat
    • Ceas de sistem integrat de 32 MHz
    • Puterea de ieșire: + 4dBm tipic
    • Frecvență: 2402 - 2480 MHz

      Antena integrată cu model de înaltă performanță

    • Single Mode Bluetooth® Smart Slave / Master
  • Interfețe acceptate: SPI, UART, I2C și 8/9 / 10bit ADC
  • Două seturi de pini de programare

    • Anteturi.05 "pentru cuplare ușoară la dispozitivele CMSIS-DAP și J-Link
    • Anteturi.1 "pentru interfațarea cu panourile
  • LED roșu controlabil de software

Pasul 3: aplicația NRF Connect

Image
Image
Aplicația NRF Connect
Aplicația NRF Connect
Aplicația NRF Connect
Aplicația NRF Connect

De îndată ce deschideți caseta de explorare BluChip, vedeți că prinde viață cu LED-uri intermitente, o priveliște destul de fascinantă, nu-i așa?

Pentru a vedea ce este în magazin cu acest modul BLE, haideți să instalăm aplicația nRF Connect din Google Play sau App Store.

Ne vom conecta la BluChip cu telefonul nostru, așa că deschideți aplicația nRF Connect, navigați prin ecranul de întâmpinare și atingeți Activare pentru a activa Bluetooth. Apoi, atingeți Scanare și veți descoperi în curând că dispozitivul dvs. BluChip este listat în fila Scanner.

Înainte de a ne conecta efectiv la BluChip, să luăm un LED și să-l așezăm pe panou lângă pinii 026 (+ ve) și 021 (-ve). LED-ul ar trebui să se aprindă imediat, deoarece pinul 026 iese la 3,3V (nivel logic ÎNALT), în timp ce pinul 021 este logic LOW (masă).

Continuați și atingeți conectare pentru a stabili o conexiune între smartphone-ul dvs. și BluChip, care vă va duce apoi la fila client a dispozitivului din aplicație.

Fila client BluChip afișează toate serviciile disponibile pe dispozitivul dvs. Ceea ce ne interesează aici este serviciul BlueChip GPIO (listat ca serviciu necunoscut). Atingeți-l și apoi apăsați pe săgeata orientată în sus de lângă caracteristica de modulare GPIO (listată ca caracteristică necunoscută).

Va apărea o fereastră pop-up cu valoare de scriere, oferindu-vă opțiunea de a trimite date către dispozitivul dvs. BluChip. În cazul nostru, dorim să oprim LED-ul, așa că atingeți săgeata de lângă BYTE ARRAY și schimbați formatul de date în UINT 8. Vom trimite numărul pinului ca primă valoare, deci introduceți 21 pentru pin021. Apăsați pe adăugare valoare pentru a trimite următoarea bucată de date, starea căreia trebuie setat pinul (format hex BYTE). Pentru a opri LED-ul, vom seta pinul 021 la 3,3V (nivel logic ridicat), așa că introduceți 01, apoi atingeți Trimitere.

LED-ul se stinge instantaneu! Pentru a reporni LED-ul, trimiteți o valoare de 0x00 (nivel logic LOW) la pin021. După cum se vede mai jos caracteristica listată, este afișată valoarea trimisă de (0x) 15-01. {[(zecimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501}

Dacă alegeți să salvați aceste valori în fereastra pop-up Scriere valoare dându-i un nume și apoi atingând Salvare, le puteți încărca în viitor ca presetări pentru o modulare GPIO ușoară!

Pasul 4: Programarea BluChip

Programarea BluChip
Programarea BluChip
Programarea BluChip
Programarea BluChip
Programarea BluChip
Programarea BluChip

Ați fi observat din videoclipul de mai sus că numele dispozitivului BluChip de pe telefonul meu este diferit de al dvs., așa că cum ne putem schimba după propriul nostru gust?

Firmware-ul aplicației care rulează pe BluChip servește ca dispozitiv periferic (slave) prin BLE către dispozitive centrale (master), cum ar fi smartphone-urile conectate la acesta. Pentru a schimba numele dispozitivului nostru, hai să intrăm în firmware-ul aplicației intermitent pe BluChip.

Cu kitul BluChip Explorer este inclus programatorul ARM (CMSIS-DAP). MakerChips a furnizat un ghid îngrijit pentru detalii despre firmware-ul intermitent pe BluChip cu CMSIS-DAP.

Pentru a compila firmware-ul într-un fișier hexagonal și a-l bloca, vom avea nevoie de Keil, nRF51 Software Development Kit (SDK) și firmware BluChip. Mergeți mai departe și descărcați-le din linkurile din secțiunea „Software-ul” din programarea MakerChips cu BluChip cu pagina CMSIS-DAP și Keil.

Instalați Keil, apoi urmați pașii 1-3 din secțiunea „Crearea fișierului Hex”.

În acest moment, puteți continua la Pasul 4, Reconstruirea tuturor fișierelor țintă.

Dacă primiți o eroare legată de „core_cm0.h”, ar trebui să adăugați calea acestuia la proiect pentru a-l compila.

Pur și simplu ar trebui să căutăm fișierul și să localizăm directorul acestuia, care este „\ components / toolchain / gcc”.

Să includem această cale către proiectul nostru. Faceți clic pe Opțiuni pentru țintă, accesați fila C / C ++, apoi includeți calea așa cum se arată în Figura 16.

După includerea dependențelor necesare, proiectul nostru compilează și putem vedea acum rezultatul compilat, un fișier hexagonal personalizat la „nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.hex.

Pentru a bloca fișierul hexagonal pe BluChip, urmați pașii 1-8 din secțiunea „Transferarea fișierului hexagonal”.

Acum că ați încărcat firmware-ul pe BluChip cu un nume de dispozitiv personalizat, porniți aplicația nRF Connect și căutați dispozitivul. Veți observa că acum este numit după ceea ce ați definit în DEVICE_NAME în firmware!

În pasul următor, vom începe să configurăm hardware-ul, electronica și software-ul sistemului nostru automat de cortină de acasă.

Pasul 5: Construirea perdelelor automatizate

Image
Image
Construirea perdelelor automatizate
Construirea perdelelor automatizate
Construirea perdelelor automatizate
Construirea perdelelor automatizate
Construirea perdelelor automate
Construirea perdelelor automate

După ce am analizat procesul de compilare și intermitere a firmware-ului nostru, să trecem la construirea propriilor noastre perdele bluetooth!

Un motor pas cu pas va fi folosit pentru a acționa o curea de distribuție care deplasează și închide perdelele. Motorul pas cu pas este acționat de un driver IC Half-H care va fi controlat de BluChip.

Pentru putere, vom folosi un regulator de tensiune 12V AC-DC care este alimentat la motor, împreună cu un regulator de tensiune DC-DC LM317 pentru a coborî de la 12V la 3,3V, care va alimenta BluChip și IC-ul driverului Stepper.

Puteți obține propriul dvs. modul BluChip din noul magazin MakerChips de la Tindie sau de pe site-ul MakerChips.

Să obținem piesele enumerate mai jos, în plus față de kitul BluChip Explorer, pentru a începe asamblarea perdelelor automate:

  • Adaptor de alimentare 12V 1A 3,40 USD
  • Barrel Jack 0,68 dolari
  • Regulator de tensiune LM317T 0,80 USD
  • Rezistoare (200 și 330 Ohm) 1,69 USD
  • L293D Driver pas cu pas 1,63 dolari
  • Motor pas cu pas unipolar 8,00 USD (sau 1,66 USD <= modificați acest unipolar mai mic într-un pas cu pas bipolar)
  • Curea de distributie de 6 mm 7,31 USD
  • Gear 6mm 0,54 USD (sau imprimabil 3D de la Thingiverse)
  • Rola de 6 mm 1,17 USD (sau imprimabilă 3D de la Thingiverse)
  • Comutator de limită x2 (opțional) 1,34 USD
  • Cutie de incinte pentru proiect (opțional) 1,06 USD
  • Sârme pentru jumper din pană de pâine 2,09 USD
  • Firele jumper Dupont 2,80 USD
  • Benzi de cauciuc 1,13 USD
  • Cravate Twist 3,22 USD
  • 22 AWG Wire (opțional) 1,22 USD
  • Cravate cu fermoar (opțional) 0,63 USD
  • Tub retractabil (opțional) 1,97 USD

Instrumente (opționale):

  • Hot Glue Gun 3,75 USD
  • Fier de lipit 6,79 dolari

Descărcați lista de materiale de la GitHub (Amazon)

Figura 20 arată cum veți conecta sistemul, în funcție de caracteristicile pe care alegeți să le adăugați. Dacă doriți o mișcare mai precisă, ați adăuga comutatoare limită la proiect.

Comutatoarele de limită sunt puncte finale către perdele care indică BluChip când este deschis sau închis. Fără butoanele de limitare, ar trebui să configurați firmware-ul pentru a indica cât de mult se mișcă perdelele în următoarea secțiune „Configurare firmware”.

Figura 20 include, de asemenea, un rezistor foto opțional care permite detectarea zilei și a nopții, configurabil și în secțiunea „Configurare firmware”.

Porniți asamblarea hardware-ului prin montarea motorului pas cu pas, a scripetei și a curelei de distribuție pe partea superioară a perdelelor. (Figura 21)

Tensionați temporar cureaua de distribuție cu bandă de cauciuc. Mai târziu, înainte de a finaliza proiectul, urmează să îl legați cu fermoar pentru a-l ține definitiv.

Pentru a atașa perdelele la cureaua de distribuție, fixați legăturile de sârmă în jurul centurii și cârligului pentru perdea.

Pentru a vă face o idee mai bună despre cum să legați perdelele de curea, urmați Figura 22. Veți lega perdeaua stângă în spatele curelei de distribuție cu o cravată de sârmă, iar perdeaua din dreapta în fața curelei de distribuție. cu o cravată de sârmă.

Odată ce ați fixat centura și veți lega cortina, scoateți motorul pas cu pas, astfel încât să putem începe să asamblați și să testați circuitul electronic care îl va conduce. la Figura 20.

Introduceți rezistențele de 200 și 330 ohmi conform figurii 20. Rezistențele reglează ieșirea LM317 astfel încât să ofere ~ 3.3V. (Figura 24)

Introduceți firul jumperului apoi un cric cu țeavă cablat, așa cum se arată în Figura 26.

Să conectăm adaptorul de alimentare la priza de perete și conectăm adaptorul la mufa butoi pentru a testa tensiunile așa cum se vede în Figura 27.

Odată ce s-au constatat tensiunile corecte, scoateți mufa de alimentare și începeți să plasați firele de jumper rămase din placa de pană conform figurii 20.

În continuare, vom conecta motorul nostru pas cu pas bipolar la IC L293d.

Mai întâi, așezați cablurile jumperului Dupont în conectorul motorului pas cu pas, așa cum se arată în Figura 29.

Pentru a afla ce fir merge unde, urmați schema din Figura 30.

După cum se vede în schemă, cablurile de la o bobină merg la Pin2 și Pin6 ale L293D. Conduce de la cealaltă bobină merge la Pin11 și Pin14.

Motorul pas cu pas bipolar modificat 28BYJ-48 are patru fire colorabile utilizabile așa cum se vede în Figura 31.

Conectăm albastru la Pin3, galben la Pin6, portocaliu la Pin11 și roz la Pin14 pe L293d.

Circuitul de bază este acum complet!

Dacă doriți să implementați întrerupătoare de limită, conectați cablul NO & C la un cablu de 22AWG. La celălalt capăt, atașați jumperii DuPont pentru a forma cabluri care se potrivesc pe panou. (Figura 32)

Puteți să le montați pe șina cortinei, așa cum se arată în figura 33, cu benzi de cauciuc sau, dacă aveți la îndemână un pistol cu adeziv fierbinte, îl puteți lega cu șină, apoi tamponați o cantitate bună de adeziv fierbinte pentru a vă asigura că nu se mișcă în jurul.

Pentru a vă face o idee despre locul în care le așezați, consultați Figura 34.

Un capăt de limită este atașat la capătul extrem stâng al șinei cortinei, între primul cârlig al șinei și al doilea, astfel încât atunci când perdelele se deschid, cârligul se apasă de comutator și îl activează. Celălalt comutator de limită este plasat direct în centrul șinei, orientat spre stânga. În acest fel, se activează la închiderea perdelelor.

Introduceți cablurile comutatorului de limită pe panoul de control conform figurii 20.

În cele din urmă, dacă doriți ca perdelele să se deschidă când răsare soarele și să se închidă când apune, ar trebui să conectați rezistorul foto așa cum se arată în Figura 36 și să îl setați aproape de locul în care are acces la lumina soarelui în timpul zorilor.

După ce ați terminat configurarea circuitului de panou, pregătiți-vă și conectați programatorul la BluChip pentru a bloca firmware-ul. Descărcați firmware-ul de la GitHub și extrageți-l în directorul SDK așa cum ați făcut înainte.

Descărcați ble_app_ahc.zip de la Github.

Deschideți proiectul, apoi compilați și încărcați firmware-ul pe BluChip.

Înainte de a-l testa, vom închide panoul într-o cutie și vom face găuri pentru fire și LED-ul nostru de stare cortină.

Așezați placa de bază pe baza cutiei carcasei și faceți o deschidere pentru fire. Deschiderea servește, de asemenea, ca punct pentru ca BluChip să comunice cu alte dispozitive prin antena sa. (Figura 37)

Găuriți o gaură de dimensiunea LED-ului pe partea laterală a carcasei și montați LED-ul pe acesta. Conectați LED-ul conform Figura 20.

Găsiți un loc potrivit pentru a monta cutia carcasei în stânga șinei cortinei, aproape de o priză de curent. Remontați motorul și efectuați un test de tensiune final al curelei de distribuție, asigurându-vă că nu există slăbiciune. (Figura 39)

Acum este timpul să testăm sistemul nostru asamblat. Introduceți adaptorul de alimentare și porniți aplicația nRF Connect. Veți descoperi un dispozitiv numit Curtains. BluChip.

Conectați-vă la acesta, trimiteți o valoare UINT8 1 (Deschideți perdelele) către caracteristica necunoscută sub serviciul Necunoscut și urmăriți perdelele deschise!

Acum că v-ați testat cu succes sistemul, să aruncăm o privire la configurarea unora dintre codurile care rulează spectacolul pe BluChip.

Pasul 6: Configurarea firmware-ului BluChip

Configurare firmware BluChip
Configurare firmware BluChip
Configurare firmware BluChip
Configurare firmware BluChip
Configurare firmware BluChip
Configurare firmware BluChip

Proiectul de firmware Automated Home Curtain constă în principal din 4 fișiere: main.c, ahc.c, ble_ahc_service.c & ble_ahc_service.h.

În timp ce construiam componentele electronice și hardware, am avut opțiunea de a alege dacă dorim întrerupătoare de limită pentru a crește precizia sistemului nostru automat.

În codul de la ahc.h, putem vedea #define pentru LIMIT_SWITCHES.

Compilarea și intermitentul codului cu #define LIMIT_SWITCHES permite utilizarea ambelor butoane de limită pentru a detecta când perdelele s-au deschis și s-au închis.

Redenumirea acestuia la #undef LIMIT_SWITCHES este necesară dacă ați ales să nu includeți comutatoarele limită pentru proiectul dvs. În acest caz, ar trebui să reglați fin distanța pe care se deplasează cortina dvs. în variabilele CURTAIN_OPEN_STEPS și CURTAIN_CLOSE_STEPS. Reglați aceste valori pentru a prelungi sau a scurta distanța de deplasare a cortinei.

Cealaltă opțiune, adăugarea unui fotorezistor, poate fi activată modificând #undef LDR în #define LDR. LDR înseamnă rezistență dependentă de lumină, cunoscută și sub numele de fotorezistor. Când activăm LDR, fotorezistorul știe când este luminos sau întunecat afară și vă ajută să închideți sau să vă deschideți perdelele la începutul sau la sfârșitul zilei.

Pe lângă configurarea comutatoarelor de limită și a fotorezistorului, să aruncăm o privire asupra unora dintre celelalte blocuri principale de cod care vă permit să deschideți și să închideți automat perdelele.

Fișierele ble_ahc_service.c și ble_ahc_service.h conțin cod care transmite date de pe telefon la BluChip.

Când BluChip primește datele, le analizează în funcție de dacă este trimis un 0 sau un 1. Apoi activează LED-ul de stare, efectuează mișcarea motorului și apoi dezactivează finalizarea semnalizării LED.

Funcția ahc_init () din ahc.h este rulată la începutul buclei principale, inițializând toți pinii de pe BluChip.

Pasul 7: Rezumat

În concluzie, acesta a fost un proiect extrem de distractiv și destul de ușor de învățat elementele de bază BLE. Faptul că modulul de funcționare BluChip se potrivește perfect pe o placă de panou face foarte ușor să prototipezi rapid pe orice placă de pană pe care ai putea să o așezi.

Aș spune că, după ce mi-am construit perdelele automate, m-am gândit deja la alte lucruri cu care să conectez BluChip-ul, inclusiv neopixeli inteligenți, un OLED pentru a crea un ceas digital, un robot controlat de smartphone și multe alte proiecte electronice de mică putere. idei care ar avea nevoie de o comunicare wireless compactă!

Oricine are un interes deosebit pentru electronică și programare ar fi plăcut surprins de ceea ce BluChip are de oferit, precum și de comoditatea configurării și implementării BLE pentru a transforma proiectele în proiecte și mai cool.

Începând de acum, mă voi întoarce să mă bucur de perdelele mele la îndemână automate..

Recomandat: