INHOUDSOPGAWE:

Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module: 7 stappe (met foto's)
Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module: 7 stappe (met foto's)

Video: Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module: 7 stappe (met foto's)

Video: Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module: 7 stappe (met foto's)
Video: [Обзор] PEN Мультиметр ANENG A3008 2024, Julie
Anonim
Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module
Outomatiese huisgordyne - Mini -projek met MakerChips se BluChip (nRF51 BLE) -module

Stel jou voor dat jy wakker word en 'n sonstraal deur jou vensters wil kry, of die gordyne toemaak sodat jy verder kan slaap, sonder die moeite om naby die gordyne te kom, maar eerder met die druk van 'n knoppie op jou slimfoon. Met die outomatiese huisgordynstelsel kan u dit bereik met komponente wat nie meer as $ 90 kos nie!

Sien hierdie handleiding by Github

Stap 1: Die ontwerp

Die ontwerp
Die ontwerp

MakerChips se BluChip -module is die kern van die outomatiese tuisgordynstelsel.

Die BluChip is 'n klein Bluetooth -module van 16,6 x 11,15 mm wat via BTLE as 'n randapparaat vir slimfone kan dien.

Klik hier vir 'n inleiding tot Bluetooth Low Energy (BTLE).

Die module bestaan uit 'n nRF51 SoC van Nordic Semiconductors, 'n uitstekende platform vir BLE -toepassings, aangesien dit baie geïntegreerde funksies op beide Android- en Apple -programme ondersteun.

Stap 2: BluChip Explorer -kit

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

Om hierdie projek te bou, het ek die BluChip Explorer-kit van MakerChips gekry, wat in 2 afsonderlike bokse aangekom het, een vir die CMSIS-DAP-programmeerder en 'n ander boks met die BluChip op 'n broodbord met 2 RGB-LED's, 'n foto-weerstand en 'n CR2032-battery.

Soos u opgemerk het, is die BluChip -module baie klein, wat dit perfek maak vir klein ingeboude lae -aangedrewe Bluetooth -projekte. Dit pas op 'n voetafdruk van slegs 6x4 0.1 "kopstukke op 'n broodbord en het ekstra 0.05" kopstukke bo -op die bord, redelik indrukwekkend vir 'n kommersieel FCC -gesertifiseerde pakket!

Hier is 'n paar belangrike kenmerke van die BluChip vanaf die webwerf van MakerChips:

  • 14 Toeganklike GPIO -penne
  • ARM Cortex M0 32bit verwerker en 256KB flits en 32KB RAM
  • 16,6 mm x 11,15 mm Kleinste broodplankbare Bluetooth ® -module beskikbaar
  • Kragtoevoer ondersteun 1.8V - 3.6V
  • Bluetooth funksies

    • BTLE - Bluetooth Lae Energie - (BLE, BT 4.1)
    • Bluetooth® en Japan, FCC, IC gekwalifiseer
    • Geïntegreerde 32 Mhz -stelselklok
    • Uitsetkrag: +4dBm tipies
    • Frekwensie: 2402 tot 2480 MHz

      Geïntegreerde hoëprestasie patroon antenne

    • Enkelmodus Bluetooth® Smart Slave/Master
  • Ondersteunde koppelvlakke: SPI, UART, I2C en 8/9/10bit ADC
  • Twee stelle programmeringspenne

    • .05 "headers vir maklike koppeling met CMSIS-DAP en J-Link toestelle
    • .1 "-opskrifte vir koppeling met broodborde
  • Sagteware beheer rooi LED

Stap 3: NRF Connect -app

Image
Image
NRF Connect -app
NRF Connect -app
NRF Connect -app
NRF Connect -app

Sodra u die BluChip Explorer -boks oopmaak, sien u dat dit lewendig word met knipperende LED's, nogal 'n fassinerende gesig, nie waar nie?

Om te sien wat met hierdie BLE -module te vinde is, laat ons die nRF Connect -app vanaf Google Play of App Store installeer.

Ons gaan met ons telefoon aan die BluChip koppel, dus maak die nRF Connect -app oop, blaai deur die welkomskerm en tik op Aktiveer om Bluetooth aan te skakel. Tik vervolgens op Scan en u sal gou agterkom dat u BluChip -toestel onder die oortjie Scanner verskyn.

Voordat ons eintlik met die BluChip skakel, moet ons 'n LED kry en dit op die broodbord plaas langs penne 026 (+ve) en 021 (-ve). Die LED moet onmiddellik brand, want pen 026 gee 3.3V (logiese vlak HOOG), terwyl pen 021 logies LAAG is (grond).

Tik op verbind om 'n verbinding tussen u slimfoon en die BluChip te bewerkstellig, wat u dan na die kliëntoortjie van die toestel in die app bring.

Die BluChip -kliëntoortjie vertoon al die beskikbare dienste op u toestel. Wat ons hier interesseer, is die BlueChip GPIO -diens (gelys as onbekende diens). Tik daarop en tik dan op die pyl na bo langs die GPIO -modulasiekenmerk (gelys as onbekende kenmerk).

'N Opspringvenster met 'n skryfwaarde verskyn, wat u die opsie gee om data na u BluChip -toestel te stuur. In ons geval wil ons die LED afskakel, so tik op die pyltjie langs BYTE ARRAY en verander die dataformaat na UINT 8. Ons stuur die speldnommer as die eerste waarde, so voer 21 in vir pin021. Tik op waarde toevoeg om die volgende stukkie data te stuur, waarvan die pen ingestel moet word (hex BYTE -formaat). Om die LED uit te skakel, stel ons pen 021 op 3.3V (logiese vlak hoog) in, so voer 01 in en tik dan op Stuur.

Die LED skakel onmiddellik af! Om die LED weer aan te skakel, stuur 'n waarde van 0x00 (logiese vlak LAAG) na pin021. Soos hieronder gesien, word die gestuurde waarde van (0x) 15-01 vertoon. {[(desimale UINT8) 21 = (hex BYTE) 0x15] + (hex BYTE) 0x01 => (hex BYTE's) 0x1501}

As u kies om hierdie waardes in die pop -up Skryfwaarde op te slaan deur dit 'n naam te gee en dan op stoor te tik, kan u dit in die toekoms laai as voorafbepaalde instellings vir maklike GPIO -modulasie!

Stap 4: Die programmering van die BluChip

Die programmering van die BluChip
Die programmering van die BluChip
Die programmering van die BluChip
Die programmering van die BluChip
Die programmering van die BluChip
Die programmering van die BluChip

U sou uit die video hierbo opgemerk het dat die naam van die BluChip -toestel op my telefoon anders is as u s'n, so hoe kan ons dit verander na ons eie smaak?

Die toepassings firmware wat op die BluChip werk, dien as 'n randapparaat (slaaf) via BLE na sentrale toestelle (meester), soos slimfone wat daaraan gekoppel is. Om die naam van ons toestel te verander, laat ons kyk na die flitsende toepassings firmware op ons BluChip.

Die ARM Programmer (CMSIS-DAP) bevat die BluChip Explorer-kit. MakerChips het 'n netjiese handleiding verskaf oor die besonderhede van die flitsende firmware op die BluChip met die CMSIS-DAP.

Om firmware in 'n hex -lêer op te stel en te flits, benodig ons Keil, nRF51 Software Development Kit (SDK) en BluChip -firmware. Laai dit af van die skakels in die afdeling 'Die sagteware' oor MakerChips se programmering van die BluChip met CMSIS-DAP en Keil-bladsy.

Installeer Keil en volg dan stappe 1-3 in die afdeling 'Die hex-lêer skep'.

Op hierdie stadium kan u voortgaan met stap 4, met die herbou van alle doellêers.

As u 'n fout met betrekking tot 'core_cm0.h' kry, moet u die pad by die projek voeg om dit op te stel.

Ons sou eenvoudig na die lêer moes soek en die gids vind, wat '\ components / toolchain / gcc' is.

Laat ons hierdie pad na ons projek insluit. Klik Opsies vir doelwit, gaan na die oortjie C/C ++ en sluit die pad in soos in figuur 16 getoon.

Nadat ons die nodige afhanklikheid ingesluit het, stel ons projek saam en kan ons nou die saamgestelde uitvoer, 'n pasgemaakte hex-lêer, sien by nRF51_SDK_10.0.0_dc26b5e / examples / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51422_xxac_s110.he.

Om die hex-lêer op die BluChip te flits, volg stappe 1-8 in die afdeling "Die oordrag van die hex-lêer".

Noudat u die firmware met 'n pasgemaakte toestelnaam op die BluChip gelaai het, moet u die nRF Connect -program aanskakel en na u toestel soek. U sal sien dat dit nou vernoem is na wat u in die firmware in die DEVICE_NAME gedefinieer het!

In die volgende stap begin ons met die installering van die hardeware, elektronika en sagteware van ons outomatiese gordynstelsel.

Stap 5: Bou die outomatiese gordyne

Image
Image
Bou van die outomatiese gordyne
Bou van die outomatiese gordyne
Bou van die outomatiese gordyne
Bou van die outomatiese gordyne
Bou van die outomatiese gordyne
Bou van die outomatiese gordyne

Nadat ons die proses van die opstel en flits van ons firmware nagegaan het, gaan ons verder met die bou van ons eie Bluetooth -gordyne!

'N Stappermotor sal gebruik word om 'n tandriem aan te dryf wat die gordyne oop en toe laat beweeg. Die stapmotor word aangedryf deur 'n Half-H-bestuurder-IC wat deur die BluChip beheer sal word.

Vir krag gebruik ons 'n 12V AC-DC spanningsreguleerder wat aan die motor gevoer word, tesame met 'n LM317 DC-DC spanningsreguleerder om 12V na 3.3V te verlaag, wat die BluChip en Stepper Driver IC sal dryf.

U kan u eie BluChip -module by die splinternuwe winkel van MakerChips by Tindie of op die MakerChips -webwerf kry.

Kom ons kry die onderstaande onderdele bykomend tot die BluChip Explorer -kit om die outomatiese gordyne te monteer:

  • 12V 1A kragadapter $ 3,40
  • Vat Jack $ 0,68
  • LM317T Spanningsreguleerder $ 0,80
  • Weerstands (200 en 330 Ohm) $ 1,69
  • L293D Stepper Driver $ 1,63
  • Unipolêre stapmotor $ 8,00 (of $ 1,66 <= verander hierdie kleiner unipolêre in 'n bipolêre stepper)
  • 6 mm tandriem $ 7,31
  • 6 mm rat $ 0,54 (of 3D -drukbaar vanaf Thingiverse)
  • 6 mm katrol $ 1,17 (of 3D -drukbaar vanaf Thingiverse)
  • Limietskakelaar x2 (opsioneel) $ 1,34
  • Projekomhulselkas (opsioneel) $ 1,06
  • Broodbord jumper drade $ 2,09
  • Dupont Jumper Wires $ 2,80
  • Rubberbandjies $ 1,13
  • Twist Ties $ 3,22
  • 22 AWG -draad (opsioneel) $ 1,22
  • Ritsbande (opsioneel) $ 0,63
  • Krimpbuis (opsioneel) $ 1,97

Gereedskap (opsioneel):

  • Hot lijmpistool $ 3,75
  • Soldeerbout $ 6,79

Laai die materiaalbrief af van GitHub (Amazon)

Figuur 20 toon hoe u die stelsel gaan verbind, afhangende van watter funksies u wil byvoeg. As u meer presiese beweging wil hê, voeg u limietskakelaars by die projek.

Grensskakelaars is eindpunte van die gordyne wat die BluChip vertel wanneer dit oopgemaak of toegemaak word. Sonder die limietskakelaars, moet u die firmware instel om aan te dui hoe ver u gordyne beweeg in die komende afdeling "Firmware -konfigurasie".

Figuur 20 bevat ook 'n opsionele fotoweerstand wat dag en nag opsporing moontlik maak, ook konfigureerbaar in die afdeling "Firmware -konfigurasie".

Begin met die montering van die hardeware deur die stapmotor, katrol en tandriem aan die bokant van u gordyne te monteer. (Figuur 21)

Span die tydsriem tydelik met 'n rekkie. Later, voordat u die projek voltooi, gaan u dit met rits vasmaak om dit permanent vas te hou.

Draai die gordels om die gordel en gordynhaak om die gordyne aan u tandriem vas te maak.

Om 'n beter idee te kry van hoe om die gordyne aan die gordel vas te maak, volg Figuur 22. Jy sal die linker gordyn aan die agterkant van die tandriem vasmaak met 'n draaddraad, en die regter gordyn aan die voorkant van die tydriem met 'n draaddraad.

Sodra u die gordel vasgemaak en die gordyn vasgemaak het, verwyder die stapmotor sodat ons die elektroniese stroombaan wat dit aandryf, kan aanmekaar sit en toets. Begin met die bou van die elektronika deur die Bluchip, L293d IC en LM317t Voltage Regulator op die broodbord te plaas na figuur 20.

Plaas die 200 & 330 ohm weerstande volgens Figuur 20. Die weerstande pas die LM317 se uitset aan sodat dit ~ 3.3V lewer. (Figuur 24)

Plaas die jumperdraad en dan 'n bedrade vatkrag, soos in Figuur 26 getoon.

Koppel ons kragadapter aan die muuraansluiting en steek die adapter in die vataansluiting om die spanning soos getoon in Figuur 27 te toets.

Sodra die korrekte spannings vasgestel is, verwyder die kragaansluiting en begin die oorblywende draadplankdrade volgens figuur 20 plaas.

Vervolgens gaan ons ons bipolêre stapmotor na die L293d IC koppel.

Plaas eers die Dupont -draaddrade in die stepper -motoraansluiting, soos in figuur 29 getoon.

Volg die skema in Figuur 30 om te weet watter draad heen gaan.

Soos gesien in die skema, gaan die leidrade van een spoel na Pin2 en Pin6 van die L293D. Leidrade van die ander spoel gaan na Pin11 en Pin14.

Die aangepaste 28BYJ-48 bipolêre stepper motor het vier bruikbare gekleurde drade soos gesien in Figuur 31.

Ons dra blou na Pin3, geel na Pin6, oranje na Pin11 en pienk na Pin14 op die L293d.

Die basiese stroombane is nou voltooi!

As u limietskakelaars wil implementeer, lei die NO & C tot 'n 22AWG -draad. Aan die ander kant, heg DuPont -springers aan om leidings te vorm wat op die broodbord pas. (Figuur 32)

U kan dit met rubberbande op die gordynrail monteer, soos in Figuur 33 getoon, of as u 'n warm lijmpistool byderhand het, kan u dit met 'n ritssluiting aan die reling vasbind, en dan 'n goeie hoeveelheid warm gom druk om te verseker dat dit nie beweeg nie rond.

Raadpleeg Figuur 34 om 'n idee te kry van waar u dit moet plaas.

Een eindskakelaar is aan die uiterste linkerkant van die gordynrail aangebring, tussen die eerste spoorhaak en die tweede, sodat wanneer die gordyne oopmaak, die haak teen die skakelaar druk en dit aktiveer. Die ander eindskakelaar word direk in die middel van die spoor geplaas, na links. Op hierdie manier word dit geaktiveer as die gordyne toemaak.

Plaas die eindskakelaardrade op die broodbord volgens Figuur 20.

Laastens, as u wil hê dat u gordyne moet oopgaan wanneer die son opkom en toemaak wanneer dit ondergaan, moet u die fotoresistent aanskakel, soos in figuur 36 getoon, en dit naby die sonlig laat opdaag.

Nadat u klaar is met die opstel van die broodbord, maak u gereed en koppel u programmeerder aan die BluChip om die firmware te flits. Laai die firmware van GitHub af en pak dit in u SDK -gids soos u voorheen gedoen het.

Laai ble_app_ahc.zip af van Github.

Maak die projek oop, stel dan die firmware op en laai dit op na die BluChip.

Voordat ons dit toets, sluit ons die broodbord in 'n boks en maak gate vir die drade en ons LED vir die gordynstatus.

Plaas die broodbord op die basis van die omhulselkas en maak 'n opening vir die drade. Die opening dien ook as 'n punt vir die BluChip om via die antenna met ander toestelle te kommunikeer. (Figuur 37)

Boor 'n gat ter grootte van die LED aan die kant van die omhulsel en monteer die LED daarop. Bedek die LED volgens Figuur 20.

Soek 'n geskikte plek om die boks aan die linkerkant van die gordynrail te monteer, naby 'n stopcontact. Monteer die motor weer en doen 'n laaste spanningstoets van die distributieriem, en maak seker dat daar geen slap is nie. (Figuur 39)

Nou is dit tyd om ons gemonteerde stelsel te toets. Steek die kragadapter in en maak u nRF Connect -app aan die brand. U sal 'n toestel met die naam Curtains. BluChip ontdek.

Koppel daarby, stuur 'n waarde van UINT8 1 (oop gordyne) na die onbekende kenmerk onder onbekende diens, en kyk hoe die gordyne oopgaan!

Noudat u u stelsel suksesvol getoets het, kom ons kyk na die konfigurasie van sommige van die kode wat die program op die BluChip laat loop.

Stap 6: BluChip -firmware -opset

BluChip -firmware -opstelling
BluChip -firmware -opstelling
BluChip -firmware -opstelling
BluChip -firmware -opstelling
BluChip -firmware -opstelling
BluChip -firmware -opstelling

Die Firmware -projek vir tuisgordyne bestaan hoofsaaklik uit 4 lêers: main.c, ahc.c, ble_ahc_service.c en ble_ahc_service.h.

Terwyl ons die elektronika en hardeware bou, kon ons kies of ons perkskakelaars wou hê om die akkuraatheid van ons outomatiese stelsel te verhoog.

In die kode van ahc.h kan ons #define vir LIMIT_SWITCHES sien.

Deur kode saam te stel en te flits met #define LIMIT_SWITCHES, kan beide eindskakelaars gebruik om op te spoor wanneer die gordyne oop en toe is.

Om dit na #undef LIMIT_SWITCHES te hernoem, is nodig as u besluit om nie limietskakelaars vir u projek in te sluit nie. In hierdie geval moet u die afstand waarheen u gordyn beweeg, verfyn in die veranderlikes CURTAIN_OPEN_STEPS en CURTAIN_CLOSE_STEPS. Pas hierdie waardes aan om die reisafstand van die gordyn te verleng of te verkort.

Die ander opsie, die toevoeging van 'n fotoresistor, kan geaktiveer word deur #undef LDR na #define LDR te verander. LDR staan vir ligafhanklike weerstand, ook bekend as fotoresistor. As ons LDR aktiveer, weet die fotoresistor wanneer dit helder of donker buite is, en help dit u om u gordyne aan die begin of einde van die dag toe te maak of oop te maak.

Behalwe die konfigurasie van die limietskakelaars en fotoresistor, kyk ons ook na 'n paar van die ander belangrikste kodeblokke waarmee u die gordyne outomaties kan oopmaak en toemaak.

Die lêers ble_ahc_service.c en ble_ahc_service.h bevat kode wat data vanaf u telefoon na die BluChip stuur.

As die BluChip die data ontvang, ontleed dit dit volgens 'n 0 of 'n 1. Dit aktiveer dan die status -LED, voer motoriese beweging uit en deaktiveer dan die voltooiing van die LED -sein.

Die funksie ahc_init () van ahc.h word aan die begin van die hooflus uitgevoer, en alle penne op die BluChip word geïnitialiseer.

Stap 7: Opsomming

Ten slotte, dit was 'n uiters prettige en redelik maklike projek om die basiese beginsels van BLE te leer. Die feit dat BluChip se uitbreekmodule styf op 'n broodbord pas, maak dit baie maklik om vinnig 'n prototipe te maak op enige broodplank wat u moontlik het.

Ek sou sê dat ek, nadat ek my outomatiese gordyne gebou het, al aan verskeie ander dinge gedink het om die BluChip mee aan te sluit, waaronder slim neopixels, 'n OLED om 'n digitale horlosie te skep, 'n slimfoonbeheerde robot en vele ander elektroniese projekte met 'n lae krag. idees wat kompakte draadlose kommunikasie benodig!

Almal met 'n groot belangstelling in elektronika en programmering sal aangenaam verras wees oor wat die BluChip te bied het, sowel as die gemak om BLE op te stel en te implementeer om projekte in nog koeler projekte te maak.

Van nou af sal ek weer begin met my handige outomatiese huisgordyne.

Aanbeveel: