Innholdsfortegnelse:

Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trinn (med bilder)
Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trinn (med bilder)

Video: Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trinn (med bilder)

Video: Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trinn (med bilder)
Video: Automatisierte Entsandungsstation 2024, November
Anonim
Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul
Automatiserte hjemmegardiner - Miniprosjekt med MakerChips’BluChip (nRF51 BLE) -modul

Tenk deg å våkne og ønske å få en solstråle gjennom vinduene dine, eller stenge gardinene slik at du kan sove videre, uten innsats for å komme deg nær gardinene, men heller med et tastetrykk på smarttelefonen. Med Automated Home Curtain System kan du oppnå dette med komponenter som ikke koster mer enn $ 90!

Se denne opplæringen på Github

Trinn 1: Designet

Designet
Designet

I hjertet av Automated Home Curtain System er MakerChips 'BluChip -modul.

BluChip er en liten 16,6 x 11,15 mm Bluetooth -modul som kan fungere som periferiutstyr til smarttelefoner via BTLE.

Klikk her for en introduksjon til Bluetooth Low Energy (BTLE).

Modulen består av en nRF51 SoC av Nordic Semiconductors, en flott plattform for BLE -applikasjoner ettersom den støtter mange integrerte funksjoner på både Android- og Apple -apper.

Trinn 2: BluChip Explorer Kit

BluChip Explorer -sett
BluChip Explorer -sett
BluChip Explorer -sett
BluChip Explorer -sett
BluChip Explorer -sett
BluChip Explorer -sett

For å bygge dette prosjektet, fikk jeg BluChip Explorer-settet fra MakerChips som kom i 2 separate bokser, en for CMSIS-DAP-programmereren og en annen boks som inneholdt BluChip på et brødbrett med 2 RGB-lysdioder, et fotomotstand og et CR2032-batteri.

Som du har lagt merke til, er BluChip -modulen ekstremt liten, noe som gjør den perfekt for små innebygde lavdrevne Bluetooth -prosjekter. Den passer på et fotavtrykk på bare 6x4 0,1 "hoder på et brødbrett og har ytterligere 0,05" hoder på toppen av brettet, ganske imponerende for en kommersielt FCC -sertifisert pakke!

Her er noen viktige funksjoner i BluChip fra MakerChips nettsted:

  • 14 Tilgjengelige GPIO -pinner
  • ARM Cortex M0 32bit prosessor og 256KB flash og 32KB RAM
  • 16,6 mm x 11,15 mm Minste brødbrettbare Bluetooth®-modul tilgjengelig
  • Strømforsyning støtter 1,8V - 3,6V
  • Bluetooth -funksjoner

    • BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
    • Bluetooth® og Japan, FCC, IC -kvalifisert
    • Integrert 32 Mhz systemklokke
    • Utgangseffekt: +4dBm typisk
    • Frekvens: 2402 til 2480 MHz

      Integrert mønsterantenne med høy ytelse

    • Single Mode Bluetooth® Smart Slave/Master
  • Grensesnitt som støttes: SPI, UART, I2C og 8/9/10bit ADC
  • To sett med programmeringspinner

    • .05 "hoder for enkel kobling til CMSIS-DAP og J-Link enheter
    • .1 "hoder for grensesnitt med brødbrett
  • Programvare kontrollerbar rød LED

Trinn 3: NRF Connect App

Image
Image
NRF Connect App
NRF Connect App
NRF Connect App
NRF Connect App

Så snart du åpner BluChip explorer -boksen, ser du den komme til liv med blinkende lysdioder, et ganske fascinerende syn, ikke sant?

For å se hva som er i butikken med denne BLE -modulen, la oss gå videre og installere nRF Connect -appen fra Google Play eller App Store.

Vi skal koble til BluChip med telefonen vår, så åpne nRF Connect -appen, bla gjennom velkomstskjermen og trykk på Aktiver for å slå på Bluetooth. Trykk deretter på Skann, og du vil snart oppdage at BluChip -enheten din er oppført under fanen Skanner.

Før vi faktisk kobler til BluChip, la oss få en LED og plassere den på brødbrettet ved siden av pinne 026 (+ve) og 021 (-ve). Lysdioden skal umiddelbart lyse fordi pinne 026 sender ut 3.3V (logisk nivå HØY), mens pinne 021 er logisk LAV (bakken).

Fortsett og trykk på Koble til for å opprette en forbindelse mellom smarttelefonen og BluChip, som deretter tar deg til enhetens klientfane i appen.

Fanen BluChip -klient viser alle tjenestene som er tilgjengelige på enheten din. Det vi er interessert her er BlueChip GPIO -tjenesten (oppført som Ukjent tjeneste). Trykk på den og trykk deretter på pilen oppover ved siden av GPIO Modulation Characteristic (oppført som Ukjent karakter).

Det kommer opp en skriveverdi som gir deg muligheten til å sende data til BluChip -enheten. I vårt tilfelle vil vi slå av LED -en, så trykk på pilen ved siden av BYTE ARRAY og endre dataformatet til UINT 8. Vi sender pin -nummeret som den første verdien, så skriv 21 for pin021. Trykk på tilleggsverdi for å sende neste stykke data, tilstanden som pinnen skal angis (hex BYTE -format). For å slå av LED -en, setter vi pin 021 til 3,3V (logisk nivå høyt), så skriv inn 01 og trykk deretter på Send.

LED -lampen slås av umiddelbart! For å slå på LED -en igjen, send en verdi på 0x00 (logisk nivå LAV) til pin021. Som vist under den oppførte karakteristikken, vises den sendte verdien på (0x) 15-01. {[(desimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501}

Hvis du velger å lagre disse verdiene i popup -vinduet Skriv verdi ved å gi det et navn og deretter trykke på lagre, kan du laste dem inn i fremtiden som forhåndsinnstillinger for enkel GPIO -modulering!

Trinn 4: Programmering av BluChip

Programmering av BluChip
Programmering av BluChip
Programmering av BluChip
Programmering av BluChip
Programmering av BluChip
Programmering av BluChip

Du ville ha lagt merke til fra videoen ovenfor at BluChip -enhetsnavnet på telefonen min er forskjellig fra din, så hvordan kan vi endre det til vår egen smak?

Programvarens fastvare som kjører på BluChip fungerer som en perifer enhet (slave) over BLE til sentrale enheter (master), for eksempel smarttelefoner som er koblet til den. For å endre enhetens navn, la oss grave inn i blinkende programvare på vår BluChip.

Inkludert i BluChip Explorer-settet er ARM-programmereren (CMSIS-DAP). MakerChips har gitt en fin veiledning om detaljene for blinkende fastvare på BluChip med CMSIS-DAP.

For å kompilere fastvare til en hex -fil og blinke den, trenger vi Keil, nRF51 Software Development Kit (SDK) og BluChip -fastvare. Last ned dem fra koblingene i "Programvaren" -delen om MakerChips 'Programmering av BluChip med CMSIS-DAP og Keil-siden.

Installer Keil, og følg trinn 1-3 i delen "Opprette hexfil".

På dette tidspunktet kan du fortsette til trinn 4, gjenoppbygge alle målfiler.

Hvis du får en feil angående "core_cm0.h", må du legge til banen til prosjektet for å kompilere det.

Vi trenger bare å søke etter filen og finne katalogen, som er "\ components / toolchain / gcc".

La oss inkludere denne veien til prosjektet vårt. Klikk Alternativer for mål, gå til kategorien C/C ++ og inkluder deretter banen som vist i figur 16.

Etter å ha inkludert nødvendige avhengigheter, kompilerer prosjektet vårt, og vi kan nå se den kompilerte utgangen, en egendefinert hex-fil på nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.he.

For å blinke hexfilen til BluChip, følg trinn 1-8 i delen "Overføring av hexfil".

Nå som du har lastet fastvare til BluChip med et tilpasset enhetsnavn, starter du nRF Connect -appen og søker etter enheten din. Du vil legge merke til at det nå er oppkalt etter det du har definert i DEVICE_NAME i fastvaren!

I det neste trinnet vil vi begynne å sette opp maskinvare, elektronikk og programvare for vårt Automated Home Curtain System.

Trinn 5: Bygg de automatiserte gardinene

Image
Image
Bygg de automatiserte gardinene
Bygg de automatiserte gardinene
Bygg de automatiserte gardinene
Bygg de automatiserte gardinene
Bygg de automatiserte gardinene
Bygg de automatiserte gardinene

Etter å ha gjennomgått prosessen med å kompilere og blinke fastvaren vår, la oss gå videre til å bygge våre helt egne bluetooth -gardiner!

En trinnmotor vil bli brukt til å drive et registerreim som flytter gardinene åpne og lukkede. Steppermotoren drives av en Half-H driver IC som vil bli kontrollert av BluChip.

For strøm bruker vi en 12V AC-DC spenningsregulator som mates til motoren, sammen med en LM317 DC-DC spenningsregulator for å trappe ned 12V til 3.3V som vil drive BluChip og Stepper Driver IC.

Du kan få din helt egen BluChip -modul fra MakerChips helt nye butikk på Tindie, eller fra MakerChips nettsted.

La oss få delene som er oppført nedenfor i tillegg til BluChip Explorer Kit for å begynne å montere de automatiske gardinene:

  • 12V 1A strømadapter $ 3,40
  • Fat Jack $ 0,68
  • LM317T Spenningsregulator $ 0,80
  • Motstander (200 og 330 Ohm) $ 1,69
  • L293D Stepper Driver $ 1,63
  • Unipolar Stepper Motor $ 8,00 (eller $ 1,66 <= endre denne mindre unipolare til en bipolar stepper)
  • 6mm Registerreim $ 7,31
  • 6mm Gear $ 0,54 (eller 3D -utskrivbar fra Thingiverse)
  • 6 mm remskive $ 1,17 (eller 3D -utskrivbar fra Thingiverse)
  • Grensebryter x2 (valgfritt) $ 1,34
  • Prosjektboks (valgfritt) $ 1,06
  • Breadboard Jumper Wires $ 2,09
  • Dupont Jumper Wires $ 2,80
  • Gummibånd $ 1,13
  • Twist Ties $ 3,22
  • 22 AWG Wire (valgfritt) $ 1,22
  • Glidelås (valgfritt) $ 0,63
  • Krympeslange (valgfritt) $ 1,97

Verktøy (valgfritt):

  • Hot Lim Gun 3,75 dollar
  • Loddejern $ 6,79

Last ned materialliste fra GitHub (Amazon)

Figur 20 viser hvordan du skal koble opp systemet, avhengig av hvilke funksjoner du velger å legge til. Hvis du vil ha mer presis bevegelse, vil du legge til grensebrytere til prosjektet.

Grensebrytere er endepunkter for gardinene som forteller BluChip når det åpnes eller lukkes. Uten grensebryterne må du konfigurere fastvaren for å indikere hvor langt gardinene dine beveger seg i den kommende "Firmware Configuration" -delen.

Figur 20 inkluderer også en valgfri fotomotstand som gjør det mulig å oppdage dag og natt, også konfigurerbar i delen "Firmware Configuration".

Start monteringen av maskinvaren ved å montere trinnmotoren, remskiven og tannremmen på toppen av gardinene. (Figur 21)

Stram tannremmen midlertidig med gummibånd. Senere, før du fullfører prosjektet, skal du zip -tie det sammen for å holde det permanent.

For å feste gardinene til tannremmen, sløyfe Wire Ties rundt beltet og gardinkroken.

For å få en bedre ide om hvordan du kobler gardinene til beltet, følger du figur 22. Du vil knytte venstre gardin bak på tannremmen med et stålbånd og det høyre gardinet foran på tannremmen med et trådbånd.

Når du har fått beltet festet og gardinen er festet, fjerner du trinnmotoren slik at vi kan begynne å montere og teste den elektroniske kretsen som skal kjøre den. Start å bygge elektronikken ved å plassere Bluchip, L293d IC og LM317t Spenningsregulator på brødbrettet i henhold til til Figur 20.

Sett inn 200 & 330 ohm motstandene i henhold til figur 20. Motstandene justerer LM317s utgang slik at den gir ~ 3.3V. (Figur 24)

Sett inn jumperwiren og deretter en kablet fatkontakt som vist i figur 26.

La oss koble strømadapteren til veggkontakten, og koble adapteren til fatkontakten for å teste spenningene som vist i figur 27.

Når korrekte spenninger er funnet, fjerner du strømkontakten og begynner å plassere de gjenværende ledningene til brødbrettet i henhold til figur 20.

Deretter skal vi koble den bipolare steppermotoren til L293d IC.

Først plasserer du Dupont -jumper -ledninger i trinnmotorkontakten som vist i figur 29.

For å vite hvilken ledning som går hvor, følg skjemaet i figur 30.

Som vist i skjematikken går ledningene fra en spole til Pin2 & Pin6 på L293D. Leads fra den andre spolen går til Pin11 & Pin14.

Den modifiserte 28BYJ-48 bipolare steppermotoren har fire brukbare fargede ledninger som vist i figur 31.

Vi kabler blå til Pin3, gul til Pin6, oransje til Pin11 og rosa til Pin14 på L293d.

Grunnkretsen er nå fullført!

Hvis du vil implementere grensebrytere, koble NO & C til en 22AWG -ledning. I den andre enden, fest DuPont -hoppere for å danne ledninger som passer på brødbrettet. (Figur 32)

Du kan montere dem på gardinskinnen som vist i Figur 33 med gummibånd, eller hvis du har en varm limpistol for hånden kan du glidelåse den til skinnen og deretter duppe en god mengde varmt lim for å sikre at den ikke beveger seg rundt.

For å få en ide om hvor du skal plassere dem, se Figur 34.

En grensebryter er festet til ytterste venstre ende av gardinskinnen, mellom den første skinnekroken og den andre, slik at når gardinene åpnes, trykker kroken mot bryteren og aktiverer den. Den andre grensebryteren er plassert direkte i midten av skinnen, mot venstre. På denne måten blir den aktivert når gardinene stenger.

Sett grensebryterne på brødbrettet i henhold til figur 20.

Til slutt, hvis du vil at gardinene skal åpne når solen går opp og lukke når det går ned, må du koble til fotomotstanden som vist i FIgure 36, og sette den opp nær der den har tilgang til sollys i daggry.

Etter at du er ferdig med brødbrettkretsen satt opp, gjør deg klar og koble programmereren til BluChip for å blinke fastvaren. Last ned fastvaren fra GitHub og pakk den ut i SDK -katalogen som du gjorde før.

Last ned ble_app_ahc.zip fra Github.

Åpne prosjektet, kompiler og last opp fastvaren til BluChip.

Før vi tester det, vil vi legge om brødbrettet i en eske og lage hull til ledningene og LED -lampen for gardinstatus.

Plasser brødbrettet på bunnen av skapboksen og lag en åpning for ledningene. Åpningen fungerer også som et punkt for BluChip for å kommunisere til andre enheter gjennom antennen. (Figur 37)

Bor et hull på størrelse med LED -en på siden av kabinettet og monter LED -en på den. Led LEDen i henhold til figur 20.

Finn et passende sted å montere skapboksen til venstre for gardinskinnen, nær en stikkontakt. Monter motoren på nytt og gjør en siste spenningstest av tannremmen, og pass på at det ikke er slakk. (Figur 39)

Nå er det på tide å teste vårt monterte system. Sett inn strømadapteren og slå på nRF Connect -appen. Du vil oppdage en enhet som heter Curtains. BluChip.

Koble til den, send en verdi på UINT8 1 (åpne gardiner) til den ukjente karakteristikken under ukjent tjeneste, og se gardinene åpne!

Nå som du har testet systemet ditt, la oss ta en titt på å konfigurere noen av koden som kjører serien på BluChip.

Trinn 6: Konfigurasjon av BluChip -fastvare

Konfigurasjon av BluChip -fastvare
Konfigurasjon av BluChip -fastvare
Konfigurasjon av BluChip -fastvare
Konfigurasjon av BluChip -fastvare
Konfigurasjon av BluChip -fastvare
Konfigurasjon av BluChip -fastvare

Fastvareprosjektet Automated Home Curtain består hovedsakelig av 4 filer: main.c, ahc.c, ble_ahc_service.c og ble_ahc_service.h.

Mens vi bygde elektronikk og maskinvare, hadde vi muligheten til å velge om vi ønsket grensebrytere for å øke nøyaktigheten av vårt automatiserte system.

I koden fra ahc.h kan vi se #define for LIMIT_SWITCHES.

Ved å kompilere og blinke kode med #define LIMIT_SWITCHES kan du bruke begge grensebryterne til å oppdage når gardinene har åpnet og lukket.

Omdøpe den til #undef LIMIT_SWITCHES er nødvendig hvis du valgte å ikke inkludere grensebrytere for prosjektet ditt. I dette tilfellet må du finjustere avstanden som gardinet ditt går til i variablene CURTAIN_OPEN_STEPS og CURTAIN_CLOSE_STEPS. Juster disse verdiene for å forlenge eller forkorte gardinens reiseavstand.

Det andre alternativet, å legge til en fotoresistor, kan aktiveres ved å endre #undef LDR til #define LDR. LDR står for Lysavhengig motstand, også kjent som fotoresistor. Når vi aktiverer LDR, vet fotoresistoren når det er lyst eller mørkt ute, og hjelper deg med å stenge eller åpne gardinene dine i begynnelsen eller slutten av dagen.

I tillegg til å konfigurere grensebryterne og fotoresistoren, la oss ta en titt på noen av de andre hovedblokkene med kode som lar deg automatisk åpne og lukke gardinene.

Filene ble_ahc_service.c og ble_ahc_service.h inneholder kode som overfører data fra telefonen til BluChip.

Når BluChip mottar dataene, analyseres det etter om det sendes en 0 eller en 1. Den aktiverer deretter status -LED, utfører motorbevegelser og deaktiverer deretter fullføringen av LED -signaler.

Funksjonen ahc_init () fra ahc.h kjøres i begynnelsen av hovedsløyfen, og initialiserer alle pinnene på BluChip.

Trinn 7: Oppsummering

Avslutningsvis var dette et ekstremt morsomt og ganske enkelt prosjekt for å lære BLE grunnleggende. Det faktum at BluChip's breakout -modul passer godt på et brødbrett, gjør det veldig enkelt å prototype raskt på et brødbrett du måtte ha liggende.

Jeg vil si at etter å ha bygd de automatiserte gardinene mine, har jeg allerede tenkt på forskjellige andre ting å koble BluChip til, inkludert smarte neopiksler, en OLED for å lage en digital klokke, en smarttelefonstyrt robot og mange andre lavdrevne elektroniske prosjekter ideer som trenger kompakt trådløs kommunikasjon!

Alle med stor interesse for elektronikk og programmering vil bli positivt overrasket over hva BluChip har å tilby, samt bekvemmeligheten ved å sette opp og implementere BLE for å gjøre prosjekter til enda kulere.

Fra nå av kommer jeg tilbake til å glede meg over de praktiske, automatiserte hjemmegardinene mine.

Anbefalt: