Innehållsförteckning:

Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 steg (med bilder)
Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 steg (med bilder)

Video: Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 steg (med bilder)

Video: Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 steg (med bilder)
Video: My Optimal Lean Shop Layout! | Machine Shop Move Vlog Ep 5 2024, Juli
Anonim
Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul
Automatiserade hemmagardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul

Tänk dig att vakna upp och vilja få en solstråle genom dina fönster, eller stänga gardinerna så att du kan sova längre, utan ansträngning att komma dig nära gardinerna utan snarare med en knapptryckning på din smartphone. Med Automated Home Curtain System kan du uppnå detta med komponenter som inte kostar mer än $ 90!

Se denna handledning på Github

Steg 1: Designen

Designen
Designen

Kärnan i Automated Home Curtain System är MakerChips BluChip -modul.

BluChip är en liten 16,6 x 11,15 mm Bluetooth -modul som kan fungera som kringutrustning till smartphones via BTLE.

Klicka här för en introduktion till Bluetooth Low Energy (BTLE).

Modulen består av en nRF51 SoC av Nordic Semiconductors, en bra plattform för BLE -applikationer eftersom den stöder många integrerade funktioner på både Android- och Apple -appar.

Steg 2: BluChip Explorer Kit

BluChip Explorer -kit
BluChip Explorer -kit
BluChip Explorer -kit
BluChip Explorer -kit
BluChip Explorer -kit
BluChip Explorer -kit

För att bygga detta projekt fick jag BluChip Explorer Kit från MakerChips som anlände i 2 separata lådor, en för CMSIS-DAP-programmeraren och en annan låda som innehåller BluChip på en brödbräda med 2 RGB-lysdioder, ett fotomotstånd och ett CR2032-batteri.

Som du har märkt är BluChip -modulen extremt liten, vilket gör den perfekt för små inbäddade lågdrivna Bluetooth -projekt. Den passar på ett fotavtryck på endast 6x4 0,1 "sidhuvuden på en brödbräda och har ytterligare 0,05" sidhuvuden ovanpå brädet, ganska imponerande för ett kommersiellt FCC -certifierat paket!

Här är några viktiga funktioner i BluChip från MakerChips webbplats:

  • 14 Tillgängliga GPIO -stift
  • ARM Cortex M0 32bit processor och 256KB blixt och 32KB RAM
  • 16,6 mm x 11,15 mm Minsta tillgängliga brödbräda Bluetooth®-modul
  • Strömförsörjning stöder 1,8V - 3,6V
  • Bluetooth -funktioner

    • BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
    • Bluetooth® och Japan, FCC, IC -kvalificerad
    • Integrerad 32 Mhz systemklocka
    • Utgångseffekt: +4dBm typisk
    • Frekvens: 2402 till 2480 MHz

      Integrerad högpresterande mönsterantenn

    • Single Mode Bluetooth® Smart Slave/Master
  • Gränssnitt som stöds: SPI, UART, I2C och 8/9/10bit ADC
  • Två uppsättningar programmeringsnålar

    • .05 "huvud för enkel koppling till CMSIS-DAP och J-Link enheter
    • .1 "-huvuden för gränssnitt med brödbrädor
  • Programvarukontrollabel röd LED

Steg 3: NRF Connect App

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

Så fort du öppnar BluChip explorer -rutan ser du att den kommer till liv med blinkande lysdioder, en ganska fascinerande syn, eller hur?

För att se vad som finns med denna BLE -modul, låt oss fortsätta och installera nRF Connect -appen från Google Play eller App Store.

Vi ska ansluta till BluChip med vår telefon, så öppna nRF Connect -appen, bläddra igenom välkomstskärmen och tryck på Aktivera för att slå på Bluetooth. Tryck sedan på Skanna och du kommer snart att upptäcka att din BluChip -enhet finns på fliken Skanner.

Innan vi faktiskt ansluter till BluChip, låt oss skaffa en lysdiod och placera den på brödbrädan bredvid stift 026 (+ve) och 021 (-ve). Lysdioden ska omedelbart tändas eftersom stift 026 matar ut 3,3V (logisk nivå HÖG) medan stift 021 är logiskt LÅG (mark).

Fortsätt och tryck på Anslut för att upprätta en anslutning mellan din smartphone och BluChip, som sedan tar dig till enhetens klientflik i appen.

På fliken BluChip -klient visas alla tjänster som är tillgängliga på din enhet. Det vi är intresserade av här är BlueChip GPIO -tjänsten (listad som Okänd tjänst). Knacka på den och tryck sedan på pilen uppåt bredvid GPIO Modulation Characteristic (listad som Okänd karaktäristik).

Ett skrivvärde kommer upp, vilket ger dig möjlighet att skicka data till din BluChip -enhet. I vårt fall vill vi stänga av lysdioden, så tryck på pilen bredvid BYTE ARRAY och ändra dataformatet till UINT 8. Vi skickar pin -numret som det första värdet, så ange 21 för pin021. Knacka på tilläggsvärde för att skicka nästa data, vars tillstånd stiftet ska ställas in (hex BYTE -format). För att stänga av lysdioden ställer vi in stift 021 till 3,3V (logiknivå hög), så ange 01 och tryck sedan på Skicka.

Lysdioden slocknar omedelbart! För att slå på lysdioden igen, skicka ett värde på 0x00 (logisk nivå LÅG) till pin021. Som visas nedanför den angivna egenskapen visas det skickade värdet (0x) 15-01. {[(decimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501}

Om du väljer att spara dessa värden i popup -fönstret Skriv värde genom att ge det ett namn och sedan trycka på spara, kan du ladda dem i framtiden som förinställningar för enkel GPIO -modulering!

Steg 4: Programmering av BluChip

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

Du skulle ha märkt från videon ovan att BluChip -enhetens namn på min telefon är annorlunda än ditt, så hur gör vi för att ändra det till vår egen smak?

Programvarans firmware som körs på BluChip fungerar som en kringutrustning (slav) över BLE till centrala enheter (master), till exempel smartphones anslutna till den. För att ändra vår enhets namn, låt oss gräva in till blinkande applikationsprogramvara på vårt BluChip.

Med BluChip Explorer-kitet ingår ARM-programmeraren (CMSIS-DAP). MakerChips har tillhandahållit en snygg How-To-guide om detaljerna för blinkande firmware på BluChip med CMSIS-DAP.

För att kompilera firmware till en hex -fil och flasha den, behöver vi Keil, nRF51 Software Development Kit (SDK) och BluChip -firmware. Ladda ner dem från länkarna i avsnittet "Programvaran" om MakerChips programmering av BluChip med CMSIS-DAP och Keil-sidan.

Installera Keil, följ sedan steg 1-3 i avsnittet "Skapa hexfil".

Vid denna tidpunkt kan du fortsätta till steg 4 och bygga om alla målfiler.

Om du får ett fel angående "core_cm0.h" måste du lägga till dess sökväg till projektet för att kompilera det.

Vi skulle helt enkelt behöva söka efter filen och hitta dess katalog, som är "\ components / toolchain / gcc".

Låt oss inkludera denna väg till vårt projekt. Klicka på Alternativ för mål, gå till fliken C/C ++ och inkludera sedan sökvägen enligt figur 16.

Efter att ha inkluderat nödvändiga beroenden kompilerar vårt projekt och vi kan nu se den kompilerade utdata, en anpassad hexfil på nRF51_SDK_10.0.0_dc26b5e / exempel / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.

För att blinka hex-filen till BluChip, följ steg 1-8 i avsnittet "Överföra hexfil".

Nu när du har laddat in firmware på BluChip med ett anpassat enhetsnamn, starta nRF Connect -appen och sök efter din enhet. Du kommer att märka att det nu är uppkallat efter det du har definierat i DEVICE_NAME i firmware!

I nästa steg kommer vi att börja installera hårdvaran, elektroniken och mjukvaran i vårt automatiserade hemmagardinsystem.

Steg 5: Bygga de automatiserade gardinerna

Image
Image
Bygga de automatiserade gardinerna
Bygga de automatiserade gardinerna
Bygga de automatiserade gardinerna
Bygga de automatiserade gardinerna
Bygga de automatiserade gardinerna
Bygga de automatiserade gardinerna

Efter att ha granskat processen för att sammanställa och blinka vår firmware, låt oss gå vidare till att bygga våra egna bluetooth -gardiner!

En stegmotor kommer att användas för att driva ett kuggrem som flyttar gardinerna öppna och stängda. Stegmotorn drivs av en Half-H förar-IC som kommer att styras av BluChip.

För ström kommer vi att använda en 12V AC-DC spänningsregulator som matas till motorn, tillsammans med en LM317 DC-DC spänningsregulator för att trappa ner 12V till 3.3V som kommer att driva BluChip och Stepper Driver IC.

Du kan få din helt egen BluChip -modul från MakerChips helt nya butik på Tindie, eller från MakerChips webbplats.

Låt oss få delarna nedan förutom BluChip Explorer Kit för att börja montera de automatiska gardinerna:

  • 12V 1A nätadapter $ 3,40
  • Barrel Jack 0,68 dollar
  • LM317T Spänningsregulator $ 0,80
  • Motstånd (200 & 330 Ohm) $ 1,69
  • L293D Stepper Driver $ 1,63
  • Unipolär stegmotor $ 8,00 (eller $ 1,66 <= ändra denna mindre unipolära till en bipolär steg)
  • 6 mm kuggrem $ 7,31
  • 6mm Gear $ 0,54 (eller 3D -utskrivbar från Thingiverse)
  • 6 mm remskiva $ 1,17 (eller 3D -utskrivbar från Thingiverse)
  • Gränslägesbrytare x2 (tillval) $ 1,34
  • Projektlåda (tillval) $ 1,06
  • Breadboard Jumper Wires $ 2,09
  • Dupont Jumper Wires $ 2,80
  • Gummiband $ 1,13
  • Twist Ties $ 3,22
  • 22 AWG -tråd (tillval) $ 1,22
  • Dragkedjor (tillval) $ 0,63
  • Krympslang (tillval) $ 1,97

Verktyg (tillval):

  • Hotlimpistol $ 3,75
  • Lödjärn $ 6,79

Ladda ner materialförteckning från GitHub (Amazon)

Figur 20 visar hur du ska ansluta systemet, beroende på vilka funktioner du väljer att lägga till. Om du vill ha mer exakt rörelse, skulle du lägga till gränslägesbrytare till projektet.

Gränslägesbrytare är slutpunkter till gardinerna som meddelar BluChip när det öppnas eller stängs. Utan gränslägesbrytarna måste du konfigurera firmware för att ange hur långt dina gardiner rör sig i det kommande avsnittet "Firmware Configuration".

Figur 20 inkluderar också ett valfritt fotomotstånd som gör det möjligt att upptäcka dag och natt, även konfigurerbart i avsnittet "Firmware Configuration".

Starta monteringen av hårdvaran genom att montera stegmotorn, remskivan och tandremmen på toppen av dina gardiner. (Figur 21)

Spänna kuggremmen tillfälligt med gummiband. Senare, innan du slutför projektet, ska du zip -tie ihop det för att hålla det permanent.

För att fästa gardinerna på ditt tandrem, slinga trådband runt bältet och gardinkroken.

För att få en bättre uppfattning om hur du ansluter gardinerna till bältet, följ bild 22. Du kommer att knyta den vänstra gardinen bak på kamremmen med ett band och den högra gardinen på framre delen av tandremmen med trådband.

När du har fått bältet säkrat och gardinen bunden, ta bort stegmotorn så att vi kan börja montera och testa den elektroniska kretsen som ska driva den. Börja bygga elektroniken genom att placera Bluchip, L293d IC och LM317t spänningsregulator på brödbrädet enligt till Figur 20.

Sätt i 200 & 330 ohm motstånd enligt figur 20. Motstånden justerar LM317: s utgång så att den ger ~ 3.3V. (Figur 24)

Sätt i bygeln och sedan en trådad jackuttag som visas i Figur 26.

Låt oss koppla in vår nätadapter till vägguttaget och anslut adaptern till fatuttaget för att testa spänningarna enligt figur 27.

När rätt spänning har fastställts, ta bort strömuttaget och börja placera de återstående brödbrädans trådar enligt figur 20.

Därefter kommer vi att koppla upp vår bipolära stegmotor till L293d IC.

Placera först Dupont -bygelkablarna i stegmotorkontakten enligt figur 29.

För att veta vilken tråd som går vart, följ schemat i Figur 30.

Som framgår av schemat övergår ledningarna från en spole till Pin2 & Pin6 i L293D. Ledningar från den andra spolen går till Pin11 & Pin14.

Den modifierade 28BYJ-48 bipolära stegmotorn har fyra användbara färgade trådar som visas i figur 31.

Vi trådar blå till Pin3, gul till Pin6, orange till Pin11 och rosa till Pin14 på L293d.

Grundkretsen är nu klar!

Om du vill implementera gränslägesbrytare, anslut NO & C till en 22AWG -ledning. I andra änden, fäst DuPont -hoppare för att bilda ledningar som passar på brödbrädet. (Figur 32)

Du kan montera dem på gardinstången som visas i Figur 33 med gummiband, eller om du har en varm limpistol till hands kan du fästa den med dragkedja på skenan och sedan torka en rejäl mängd varmt lim för att säkerställa att den inte rör sig runt omkring.

För att få en uppfattning om var de ska placeras, se Figur 34.

En gränslägesbrytare är fäst vid gardinskenans yttersta vänstra ände, mellan den första skenkroken och den andra, så att när gardinerna öppnas trycker kroken mot omkopplaren och aktiverar den. Den andra gränslägesbrytaren är placerad direkt i mitten av skenan, mot vänster. På så sätt aktiveras det när gardinerna stängs.

Sätt i gränslägesbrytarkablarna på brödbrädet enligt figur 20.

Slutligen, om du vill att dina gardiner ska öppna när solen går upp och stänga när det går ner, skulle du behöva koppla upp fotomotståndet som visas i bild 36 och ställa upp det nära det där det har tillgång till solljus under gryningen.

När du är klar med brödbrädeskretsen, gör dig redo och anslut din programmerare till BluChip för att blinka firmware. Ladda ner firmware från GitHub och extrahera den i din SDK -katalog som du gjorde tidigare.

Ladda ner ble_app_ahc.zip från Github.

Öppna projektet, kompilera och ladda upp firmware till BluChip.

Innan vi testar det kommer vi att stänga in brödbrädan i en låda och göra hål för trådarna och vår gardinstatus -LED.

Placera brödbrädan på basen av lådan och gör en öppning för trådarna. Öppningen fungerar också som en punkt för BluChip att kommunicera till andra enheter via sin antenn. (Figur 37)

Borra ett hål på storleken på lysdioden på sidan av höljet och montera lysdioden på den. Anslut lysdioden enligt figur 20.

Hitta en lämplig plats för montering av skåplådan till vänster om gardinstången, nära ett eluttag. Sätt tillbaka motorn och gör ett sista spänningstest av kuggremmen, se till att det inte finns någon slack. (Figur 39)

Nu är det dags att testa vårt monterade system. Sätt i nätadaptern och starta din nRF Connect -app. Du kommer att upptäcka en enhet som heter Curtains. BluChip.

Anslut till den, skicka ett värde på UINT8 1 (öppna gardiner) till den okända egenskapen under okänd tjänst och se hur gardinerna öppnas!

Nu när du har testat ditt system, låt oss ta en titt på att konfigurera en del av koden som kör programmet på BluChip.

Steg 6: BluChip Firmware -konfiguration

BluChip Firmware -konfiguration
BluChip Firmware -konfiguration
BluChip Firmware -konfiguration
BluChip Firmware -konfiguration
BluChip Firmware -konfiguration
BluChip Firmware -konfiguration

Projektet Automated Home Curtain firmware består huvudsakligen av fyra filer: main.c, ahc.c, ble_ahc_service.c och ble_ahc_service.h.

När vi byggde elektronik och hårdvara hade vi möjlighet att välja om vi ville ha gränslägesbrytare för att öka noggrannheten i vårt automatiserade system.

I koden från ahc.h kan vi se #define för LIMIT_SWITCHES.

Genom att sammanställa och blinka kod med #define LIMIT_SWITCHES kan du använda båda gränslägesbrytarna för att upptäcka när gardinerna har öppnat och stängt.

Du måste byta namn till #undef LIMIT_SWITCHES om du väljer att inte inkludera gränslägesbrytare för ditt projekt. I det här fallet skulle du behöva finjustera avståndet som din gardin färdas till i variablerna CURTAIN_OPEN_STEPS och CURTAIN_CLOSE_STEPS. Justera dessa värden för att förlänga eller förkorta ridåns avstånd.

Det andra alternativet, att lägga till en fotoresistor, kan aktiveras genom att ändra #undef LDR till #define LDR. LDR står för Ljusberoende motstånd, även känt som fotoresistor. När vi aktiverar LDR vet fotoresistorn när det är ljust eller mörkt ute och hjälper dig att stänga eller öppna dina gardiner i början eller slutet av dagen.

Förutom att konfigurera gränslägesbrytarna och fotoresistorn, låt oss ta en titt på några av de andra huvudblocken som gör att du automatiskt kan öppna och stänga gardinerna.

Filerna ble_ahc_service.c & ble_ahc_service.h innehåller kod som överför data från din telefon till BluChip.

När BluChip tar emot data, analyserar den den efter om ett 0 eller ett 1 skickas. Den aktiverar sedan status -LED: n, utför motorrörelser och inaktiverar sedan LED -signaleringens slutförande.

Funktionen ahc_init () från ahc.h körs i början av huvudslingan och initierar alla stift på BluChip.

Steg 7: Sammanfattning

Avslutningsvis var detta ett extremt roligt och ganska enkelt projekt att lära sig BLE -grunderna. Det faktum att BluChip's breakout -modul passar tätt på en brödbräda gör det väldigt enkelt att snabbt prototypa på alla brödbrädor som du kanske har.

Jag skulle säga att efter att ha byggt mina automatiska gardiner har jag redan tänkt på olika andra saker att ansluta BluChip till, inklusive smarta neopixlar, en OLED för att skapa en digital klocka, en smarttelefonstyrd robot och många andra lågdrivna elektroniska projekt idéer som skulle behöva kompakt trådlös kommunikation!

Alla med ett stort intresse för elektronik och programmering skulle bli positivt överraskade över vad BluChip har att erbjuda, liksom bekvämligheten med att sätta upp och implementera BLE för att göra projekt till ännu svalare.

Från och med nu ska jag återgå till att njuta av mina praktiska automatiserade hemmagardiner.

Rekommenderad: