Indholdsfortegnelse:
- Trin 1: Designet
- Trin 2: BluChip Explorer Kit
- Trin 3: NRF Connect App
- Trin 4: Programmering af BluChip
- Trin 5: Opbygning af de automatiserede gardiner
- Trin 6: BluChip -firmwarekonfiguration
- Trin 7: Resumé
Video: Automatiserede hjemmegardiner - Mini -projekt med MakerChips’BluChip (nRF51 BLE) -modul: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Forestil dig at vågne op og have lyst til at få en solstråle gennem dine vinduer, eller lukke gardinerne, så du kan sove videre, uden anstrengelser for at komme dig tæt på gardinerne, men snarere med et tryk på en knap på din smartphone. Med Automated Home Curtain System opnår du dette med komponenter, der ikke koster mere end $ 90!
Se denne vejledning på Github
Trin 1: Designet
Kernen i Automated Home Curtain System er MakerChips 'BluChip -modul.
BluChip er et lille 16,6 x 11,15 mm Bluetooth -modul, der kan fungere som en perifer enhed til smartphones via BTLE.
Klik her for en introduktion til Bluetooth Low Energy (BTLE).
Modulet består af en nRF51 SoC af Nordic Semiconductors, en fantastisk platform til BLE -applikationer, da det understøtter mange integrerede funktioner på både Android- og Apple -apps.
Trin 2: BluChip Explorer Kit
For at bygge dette projekt fik jeg BluChip Explorer Kit fra MakerChips, der ankom i 2 separate kasser, en til CMSIS-DAP programmereren og en anden boks, der indeholder BluChip på et brødbræt med 2 RGB LED'er, en fotomodstand og et CR2032 batteri.
Som du har bemærket, er BluChip -modulet ekstremt lille, hvilket gør det perfekt til små integrerede lavdrevne Bluetooth -projekter. Det passer på et fodaftryk på kun 6x4 0,1 "headers på et brødbræt og har yderligere 0,05" headers på toppen af brættet, temmelig imponerende for en kommercielt FCC -certificeret pakke!
Her er nogle nøglefunktioner i BluChip fra MakerChips 'websted:
- 14 tilgængelige GPIO -pins
- ARM Cortex M0 32bit processor og 256KB flash og 32KB RAM
- 16,6 mm x 11,15 mm Mindste tilgængelige brødformede Bluetooth ® -modul
- Strømforsyning understøtter 1,8V - 3,6V
-
Bluetooth -funktioner
- BTLE - Bluetooth Low Energy - (BLE, BT 4.1)
- Bluetooth® og Japan, FCC, IC -kvalificeret
- Integreret 32 Mhz systemur
- Udgangseffekt: +4dBm typisk
-
Frekvens: 2402 til 2480 MHz
Integreret højtydende mønsterantenne
- Single Mode Bluetooth® Smart Slave/Master
- Understøttede grænseflader: SPI, UART, I2C og 8/9/10bit ADC
-
To sæt programmeringsnåle
- .05 "headers for nem kobling til CMSIS-DAP og J-Link enheder
- .1 "skæreborde til grænseflade med brødbrætter
- Software kontrollerbar rød LED
Trin 3: NRF Connect App
Så snart du åbner BluChip explorer -boksen, ser du den komme til live med blinkende lysdioder, et ganske fascinerende syn, ikke sandt?
For at se, hvad der er i vente med dette BLE -modul, lad os gå videre og installere nRF Connect -appen fra Google Play eller App Store.
Vi vil oprette forbindelse til BluChip med vores telefon, så åbn nRF Connect -appen, gennemse velkomstskærmen, og tryk på Aktiver for at slå Bluetooth til. Tryk derefter på Scan, og du vil snart opdage, at din BluChip -enhed er angivet under fanen Scanner.
Inden vi rent faktisk opretter forbindelse til BluChip, lad os få en LED og placere den på brødbrættet ved siden af benene 026 (+ve) og 021 (-ve). LED'en skal straks lyse, fordi pin 026 udsender 3,3V (logisk niveau HIGH), mens pin 021 er logisk LOW (jord).
Fortsæt, og tryk på Opret forbindelse for at oprette en forbindelse mellem din smartphone og BluChip, som derefter fører dig til enhedens klientfane i appen.
Fanen BluChip -klient viser alle de tilgængelige tjenester på din enhed. Det, vi er interesseret her, er BlueChip GPIO -tjenesten (opført som ukendt service). Tryk på den, og tryk derefter på pilen opad ved siden af GPIO -moduleringskarakteristikken (angivet som ukendt karakteristik).
Der vises en skriveværdi -popup, der giver dig mulighed for at sende data til din BluChip -enhed. I vores tilfælde vil vi slukke lysdioden, så tryk på pilen ved siden af BYTE ARRAY og skift dataformatet til UINT 8. Vi sender pinkoden som den første værdi, så indtast 21 for pin021. Tryk på tilføj værdi for at sende det næste stykke data, hvis tilstand pin skal indstilles (hex BYTE -format). For at slukke LED'en vil vi indstille pin 021 til 3.3V (logisk niveau højt), så indtast 01, og tryk derefter på Send.
LED'en slukker øjeblikkeligt! For at tænde LED'en igen skal du sende en værdi på 0x00 (logisk niveau LAV) til pin021. Som det ses under den angivne egenskab, vises den sendte værdi på (0x) 15-01. {[(decimal UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE) 0x1501}
Hvis du vælger at gemme disse værdier i popup -vinduet Skriv værdi ved at give det et navn og derefter trykke på gem, kan du i fremtiden indlæse dem som forudindstillinger for nem GPIO -modulering!
Trin 4: Programmering af BluChip
Du ville have bemærket fra videoen ovenfor, at BluChip -enhedsnavnet på min telefon er anderledes end dit, så hvordan skal vi ændre det til vores helt egen smag?
Applikationens firmware, der kører på BluChip, fungerer som en perifer enhed (slave) over BLE til centrale enheder (master), f.eks. Smartphones forbundet til den. For at ændre vores enheds navn, lad os grave ind i blinkende applikations firmware på vores BluChip.
Inkluderet i BluChip Explorer-kittet er ARM-programmereren (CMSIS-DAP). MakerChips har leveret en pæn vejledning til detaljerne om blinkende firmware på BluChip med CMSIS-DAP.
For at kompilere firmware til en hex -fil og flash den, skal vi bruge Keil, nRF51 Software Development Kit (SDK) og BluChip -firmware. Gå videre og download dem fra linkene i afsnittet "Softwaren" om MakerChips 'Programmering af BluChip med CMSIS-DAP og Keil-siden.
Installer Keil, og følg derefter trin 1-3 i afsnittet "Oprettelse af hexfil".
På dette tidspunkt kan du fortsætte til trin 4 og genopbygge alle målfiler.
Hvis du får en fejl vedrørende "core_cm0.h", skal du tilføje dens sti til projektet for at kompilere det.
Vi skulle simpelthen søge efter filen og finde dens bibliotek, som er "\ komponenter / værktøjskæde / gcc".
Lad os inkludere denne vej til vores projekt. Klik på Valgmuligheder for mål, gå til fanen C/C ++, og inkluder derefter stien som vist i figur 16.
Efter at have inkluderet nødvendige afhængigheder kompilerer vores projekt, og vi kan nu se det kompilerede output, en brugerdefineret hex-fil på nRF51_SDK_10.0.0_dc26b5e / eksempler / ble_periferal / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.he.
For at flashe hex-filen til BluChip skal du følge trin 1-8 i afsnittet "Overførsel af hexfil".
Nu hvor du har indlæst firmware på BluChip med et brugerdefineret enhedsnavn, skal du starte nRF Connect -appen og scanne efter din enhed. Du vil bemærke, at det nu er opkaldt efter det, du har defineret i DEVICE_NAME i firmwaren!
I det næste trin vil vi begynde at konfigurere hardware, elektronik og software i vores automatiserede hjemmegardinsystem.
Trin 5: Opbygning af de automatiserede gardiner
Efter at have gennemgået processen med at kompilere og blinke vores firmware, lad os gå videre til at bygge vores helt egne bluetooth gardiner!
En trinmotor vil blive brugt til at køre et tandrem, der bevæger gardinerne åbne og lukke. Steppermotoren drives af en Half-H driver IC, der styres af BluChip.
Til strøm vil vi bruge en 12V AC-DC spændingsregulator, der føres til motoren, sammen med en LM317 DC-DC spændingsregulator til at trappe ned 12V til 3.3V, som vil drive BluChip og Stepper Driver IC.
Du kan få dit helt eget BluChip -modul fra MakerChips 'helt nye butik på Tindie eller fra MakerChips -webstedet.
Lad os få de nedenfor anførte dele ud over BluChip Explorer Kit til at begynde at samle de automatiske gardiner:
- 12V 1A strømadapter $ 3,40
- Tønde Jack $ 0,68
- LM317T Spændingsregulator $ 0,80
- Modstande (200 & 330 Ohm) $ 1,69
- L293D Stepper Driver $ 1,63
- Unipolar trinmotor $ 8,00 (eller $ 1,66 <= modificer denne mindre unipolare til en bipolar stepper)
- 6mm tandrem $ 7,31
- 6 mm Gear $ 0,54 (eller 3D -printbar fra Thingiverse)
- 6 mm remskive $ 1,17 (eller 3D -printbar fra Thingiverse)
- Grænsekontakt x2 (valgfri) $ 1,34
- Projektboks (valgfri) $ 1,06
- Breadboard Jumper Wires $ 2,09
- Dupont Jumper Wires $ 2,80
- Gummibånd $ 1,13
- Twist Ties $ 3,22
- 22 AWG Wire (valgfri) $ 1,22
- Lynlåsbånd (valgfrit) $ 0,63
- Krympeslange (valgfrit) $ 1,97
Værktøjer (valgfrit):
- Hotlimpistol $ 3,75
- Loddejern $ 6,79
Download stykliste fra GitHub (Amazon)
Figur 20 viser, hvordan du vil tilslutte systemet, afhængigt af hvilke funktioner du vælger at tilføje. Hvis du vil have mere præcis bevægelse, vil du tilføje grænsekontakter til projektet.
Grænsekontakter er slutpunkter til gardinerne, der fortæller BluChip, når det åbnes eller lukkes. Uden grænsekontakterne skulle du konfigurere firmwaren til at angive, hvor langt dine gardiner bevæger sig i den kommende sektion "Firmware -konfiguration".
Figur 20 indeholder også en valgfri fotomodstand, der muliggør registrering af dag og nat, også konfigurerbar i afsnittet "Firmware -konfiguration".
Start monteringen af hardware ved at montere trinmotoren, remskiven og tandremmen til toppen af dine gardiner. (Figur 21)
Spænd tandremmen midlertidigt med gummibånd. Senere, før du afslutter projektet, skal du lynlåse det sammen for at holde det permanent.
For at fastgøre gardinerne til dit tandrem, skal du sløjfe trådbånd rundt om bæltet og gardinkrogen.
For at få en bedre idé om, hvordan man tilslutter gardinerne til bæltet, skal du følge figur 22. Du vil binde det venstre gardin bag på tandremmen med et trådbinder og det højre gardin foran på tandremmen med et trådbånd.
Når du har fået bæltet fastgjort og gardinet er bundet, skal du fjerne trinmotoren, så vi kan begynde at samle og teste det elektroniske kredsløb, der skal køre det. Start med at bygge elektronikken ved at placere Bluchip, L293d IC og LM317t spændingsregulator på brødbrættet i henhold til til Figur 20.
Indsæt 200 & 330 ohm modstande i henhold til figur 20. Modstandene justerer LM317's output, så den giver ~ 3,3V. (Figur 24)
Indsæt jumperkablet og derefter en kablet tøndejakke som vist i figur 26.
Lad os tilslutte vores strømadapter til stikkontakten, og tilslut adapteren til tøndejackstikket for at teste spændingerne som vist i figur 27.
Når de korrekte spændinger er blevet konstateret, skal du fjerne strømstikket og begynde at placere de resterende brødbrættråde i henhold til figur 20.
Dernæst vil vi koble vores bipolare steppermotor til L293d IC.
Først placeres Dupont -jumperkabler i trinmotorkonnektoren som vist i figur 29.
For at vide, hvilken ledning der går, skal du følge skematikken i figur 30.
Som det ses på skematisk, går ledningerne fra en spole til Pin2 & Pin6 i L293D. Ledninger fra den anden spole går til Pin11 & Pin14.
Den modificerede 28BYJ-48 bipolare steppermotor har fire brugbare farvede tråde som vist i figur 31.
Vi leder blå til Pin3, gul til Pin6, orange til Pin11 og pink til Pin14 på L293d.
Det grundlæggende kredsløb er nu færdigt!
Hvis du vil implementere endestopkontakter, skal NO & C tilsluttes en 22AWG -ledning. I den anden ende skal du fastgøre DuPont -jumpere til at danne elektroder, der passer til brødbrættet. (Figur 32)
Du kan montere dem på gardinskinnen som vist i figur 33 med gummibånd, eller hvis du har en varm limpistol ved hånden, kan du lynlåse den til skinnen og derefter duppe en god mængde varm lim for at sikre, at den ikke bevæger sig rundt om.
For at få en idé om, hvor de skal placeres, henvises til figur 34.
En endestopkontakt er fastgjort til yderste venstre ende af gardinskinnen, mellem den første skinnekrog og den anden, så når krogen åbner krogen, presser den mod kontakten og aktiverer den. Den anden endekontakt placeres direkte i midten af skinnen, mod venstre. På denne måde bliver den aktiveret, når gardinerne lukker.
Sæt endestopkontaktledningerne på brødbrættet i henhold til figur 20.
Endelig, hvis du vil have dine gardiner til at åbne, når solen står op og lukke, når det går ned, skal du tilslutte fotomodstanden som vist i FIgure 36 og sætte den op tæt på, hvor den har adgang til sollys i daggry.
Når du er færdig med brødbrætskredsløbet, skal du gøre dig klar og slutte din programmør til BluChip for at blinke firmwaren. Download firmwaren fra GitHub, og udpak den i dit SDK -bibliotek som du gjorde før.
Download ble_app_ahc.zip fra Github.
Åbn projektet, kompilér og upload firmwaren til BluChip.
Inden vi tester det, lukker vi brødbrættet i en æske og laver huller til ledningerne og vores LED for gardinstatus.
Placer brødbrættet på bunden af kabinettet og lav en åbning til ledningerne. Åbningen fungerer også som et punkt for BluChip til at kommunikere til andre enheder via sin antenne. (Figur 37)
Bor et hul på størrelse med LED'en på siden af kabinettet og monter LED'en på den. Led LED'en i henhold til figur 20.
Find et passende sted at montere kabinettet til venstre for gardinskinnen tæt på en stikkontakt. Genmonter motoren, og foretag en sidste spændingstest af tandremmen, og sørg for, at der ikke er slæk. (Figur 39)
Nu er det tid til at teste vores samlede system. Indsæt strømadapteren, og start din nRF Connect -app. Du vil opdage en enhed ved navn Curtains. BluChip.
Opret forbindelse til den, send en værdi af UINT8 1 (Åbn gardiner) til den ukendte egenskab under Ukendt service, og se gardinerne åbne!
Nu hvor du har testet dit system med succes, lad os se på konfiguration af nogle af de koder, der kører programmet på BluChip.
Trin 6: BluChip -firmwarekonfiguration
Firmware -projektet Home Curtain består hovedsageligt af 4 filer: main.c, ahc.c, ble_ahc_service.c og ble_ahc_service.h.
Mens vi byggede elektronik og hardware, havde vi mulighed for at vælge, om vi ville have endestopkontakter for at øge nøjagtigheden af vores automatiserede system.
I koden fra ahc.h kan vi se #define for LIMIT_SWITCHES.
Kompilering og blinkende kode med #define LIMIT_SWITCHES gør det muligt at registrere, når gardinerne har åbnet og lukket, ved hjælp af begge endestopkontakter.
Omdøbning til #undef LIMIT_SWITCHES er påkrævet, hvis du har valgt ikke at inkludere grænseomskiftere til dit projekt. I dette tilfælde skal du finjustere den afstand, dit gardin bevæger sig til i variablerne CURTAIN_OPEN_STEPS og CURTAIN_CLOSE_STEPS. Juster disse værdier for at forlænge eller forkorte gardinens afstand.
Den anden mulighed, tilføjelse af en fotoresistor, kan aktiveres ved at ændre #undef LDR til #define LDR. LDR står for Lysafhængig modstand, også kendt som fotoresistor. Når vi aktiverer LDR, ved fotoresistoren, hvornår det er lyst eller mørkt udenfor, og hjælper dig med at lukke eller åbne dine gardiner i starten eller slutningen af dagen.
Udover at konfigurere Limit Switches og Photoresistor, lad os tage et kig på nogle af de andre hovedblokke med kode, der giver dig mulighed for automatisk at åbne og lukke gardinerne.
Filerne ble_ahc_service.c & ble_ahc_service.h indeholder kode, der overfører data fra din telefon til BluChip.
Når BluChip modtager dataene, analyseres det efter, om der sendes et 0 eller et 1. Den aktiverer derefter status -LED, udfører motorbevægelse og deaktiverer derefter LED -signalafslutningen.
Funktionen ahc_init () fra ahc.h køres i begyndelsen af hovedsløjfen og initialiserer alle stifter på BluChip.
Trin 7: Resumé
Afslutningsvis var dette et ekstremt sjovt og temmelig let projekt at lære BLE -grundlæggende at lære. Det faktum, at BluChip's breakout -modul sidder tæt på et brødbræt, gør det virkelig let at prototype hurtigt på et brødbræt, du måske har liggende.
Jeg vil sige, at efter at have bygget mine automatiserede gardiner, har jeg allerede tænkt på forskellige andre ting at tilslutte BluChip med, herunder smarte neopixel, en OLED til at oprette et digitalt ur, en smartphone -styret robot og mange andre lavdrevne elektroniske projekter ideer, der ville kræve kompakt trådløs kommunikation!
Enhver med stor interesse for elektronik og programmering ville blive glædeligt overrasket over, hvad BluChip har at tilbyde, samt bekvemmeligheden ved at oprette og implementere BLE for at gøre projekter til endnu sejere.
Fra nu af går jeg tilbage til at nyde mine praktiske automatiserede hjemmefra.
Anbefalede:
Enkleste automatiserede RoboSumo: 4 trin
Simplest Automated RoboSumo: Robot-sumo, er en sport, hvor to robotter forsøger at skubbe hinanden ud af en cirkel (på samme måde som sumosporten). De robotter, der blev brugt i denne konkurrence, kaldes sumobots
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Automatiserede Windows Shades: 6 trin (med billeder)
Automatiserede Windows Shades: Et ord forude Jeg har set en masse tutorials om, hvordan man automatiserer manuelle nuancer og persienner, godt i denne automatiserer vi elektriske nuancer. Vi dækker elektriske nuancer, der drives af kontinuerlige strøm (DC) elektriske motorer, der åbner eller lukker ved at vende t
Rob den automatiserede robot: 10 trin (med billeder)
Rob the Automated Robot: Denne instruerbare blev oprettet for at opfylde projektkravet på Makecourse ved University of South Florida (www.makecourse.com) .I denne tutorial lærer du, hvordan du laver en fuldautomatisk robot ved navn Rob, der er udstyret med sans
Automatiserede julelys: 6 trin (med billeder)
Automatiserede julelys: I denne instruktør viser jeg dig, hvordan du bygger automatisk blinkende julelys, når der spilles musik! Projektet har to dele: det elektriske kredsløb og Arduino -koden/algoritmen. Kredsløbet fungerer ved at bruge et 8 -kanals relæ til at lukke