Sisukord:

Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga: 7 sammu (koos piltidega)
Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga: 7 sammu (koos piltidega)

Video: Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga: 7 sammu (koos piltidega)

Video: Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga: 7 sammu (koos piltidega)
Video: Automatiseeritud kombain John Deere S785i 2024, Juuli
Anonim
Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga
Automatiseeritud kodukardinad - miniprojekt MakerChipsi BluChip (nRF51 BLE) mooduliga

Kujutage ette, et ärkate üles ja tahate oma akendest päikesekiiri saada või kardinad kinni panna, et saaksite edasi magada, ilma et peaksite kardinate lähedale jõudma, vaid nutitelefoni ühe nupuvajutusega. Automatiseeritud kodukardinate abil saate seda saavutada komponentidega, mis maksavad mitte rohkem kui 90 dollarit!

Vaadake seda õpetust Githubis

Samm: disain

Kujundus
Kujundus

Automatiseeritud kodukardinasüsteemi keskmes on MakerChipsi BluChip moodul.

BluChip on pisike 16,6x11,15 mm Bluetooth -moodul, mida saab BTLE kaudu kasutada nutitelefonide välisseadmena.

Bluetooth Low Energy (BTLE) sissejuhatuseks klõpsake siin.

Moodul koosneb Nordic Semiconductorsi nRF51 SoC -st, mis on suurepärane platvorm BLE -rakendustele, kuna see toetab paljusid integreeritud funktsioone nii Androidi kui ka Apple'i rakendustes.

Samm: BluChip Exploreri komplekt

BluChip Exploreri komplekt
BluChip Exploreri komplekt
BluChip Exploreri komplekt
BluChip Exploreri komplekt
BluChip Exploreri komplekt
BluChip Exploreri komplekt

Selle projekti loomiseks sain MakerChipsilt BluChip Exploreri komplekti, mis saabus 2 eraldi kasti, üks CMSIS-DAP programmeerija jaoks ja teine karp, mis sisaldas BluChipi leivaplaadil koos 2 RGB LED-i, fototakistuse ja CR2032 akuga.

Nagu olete märganud, on BluChip -moodul äärmiselt väike, mistõttu on see ideaalne väikeste sisseehitatud väikese võimsusega Bluetooth -projektide jaoks. See sobib ainult 6x4 0,1 -tolliste päiste jalajäljele leivalaual ja tahvli ülaosas on täiendavad 0,05 -tollised päised, mis on kaubanduslikult FCC sertifitseeritud paketi jaoks üsna muljetavaldav!

Siin on mõned MakerChipsi veebisaidi BluChipi põhijooned:

  • 14 juurdepääsetavat GPIO tihvti
  • ARM Cortex M0 32 -bitine protsessor ja 256KB välklamp ning 32KB muutmälu
  • 16,6 mm x 11,15 mm Väikseim leivalauaga Bluetooth ® moodul
  • Toide toetab 1.8V - 3.6V
  • Bluetoothi funktsioonid

    • BTLE - vähese energiatarbega Bluetooth - (BLE, BT 4.1)
    • Bluetooth® ja Jaapan, FCC, IC kvalifitseeritud
    • Sisseehitatud 32 MHz süsteemikell
    • Väljundvõimsus: tüüpiline +4dBm
    • Sagedus: 2402 kuni 2480 MHz

      Integreeritud suure jõudlusega musterantenn

    • Üherežiimiline Bluetooth® Smart Slave/Master
  • Toetatud liidesed: SPI, UART, I2C ja 8/9/10bit ADC
  • Kaks komplekti programmeerimisnõelu

    • .05 "päised lihtsaks ühendamiseks CMSIS-DAP ja J-Link seadmetega
    • .1 "päised leivalaudadega liidestamiseks
  • Tarkvaraga juhitav punane LED

Samm: rakendus NRF Connect

Image
Image
Rakendus NRF Connect
Rakendus NRF Connect
Rakendus NRF Connect
Rakendus NRF Connect

Niipea kui avate BluChipi uurijakasti, näete seda vilkuvate LED -idega ellu ärkamas, üsna põnev vaatepilt, kas pole?

Et näha, mida selle BLE -mooduliga oodata on, läheme edasi ja installime rakenduse nRF Connect Google Playst või App Store'ist.

Me kavatseme oma telefoniga BluChipiga ühenduse luua, nii et avage rakendus nRF Connect, sirvige tervitusekraani ja puudutage Bluetoothi sisselülitamiseks Luba. Seejärel puudutage skannimist ja avastate peagi, et teie BluChip -seade on loetletud vahekaardil Skanner.

Enne BluChipiga ühenduse loomist muretseme LED-i ja asetame selle leivaplaadile tihvtide 026 (+ve) ja 021 (-ve) kõrvale. LED peaks kohe süttima, sest tihvt 026 väljub 3,3 V (loogika tase HIGH), samas kui tihvt 021 on loogiline LOW (maandus).

Jätkake ja puudutage ühendust, et luua ühendus oma nutitelefoni ja BluChipi vahel, mis viib teid seejärel rakenduse seadme kliendikaardile.

Vahekaardil BluChip klient kuvatakse kõik teie seadmes saadaolevad teenused. Meid huvitab siin BlueChip GPIO teenus (loetletud kui tundmatu teenus). Puudutage seda ja seejärel puudutage ülespoole suunatud noolt GPIO modulatsiooni karakteristiku kõrval (loetletud kui tundmatu).

Ilmub kirjutamisväärtuse hüpikaken, mis annab teile võimaluse saata andmeid oma BluChip -seadmesse. Meie puhul tahame LED -i välja lülitada, seega puudutage BYTE ARRAY kõrval olevat noolt ja muutke andmevorminguks UINT 8. Esimeseks väärtuseks saadame PIN -koodi, seega sisestage pin021 jaoks 21. Puudutage lisaväärtust, et saata järgmine andmestik, mille olek tuleb määrata (heksade BYTE -vormingus). LED -i väljalülitamiseks seadistame tihvti 021 väärtusele 3,3 V (loogika tase kõrge), nii et sisestage 01 ja seejärel puudutage Send.

LED lülitub koheselt välja! LED -i uuesti sisselülitamiseks saatke väärtus 0x00 (loogika tase LOW) aadressile pin021. Nagu allpool loetletud omadustest näha, kuvatakse saadetud väärtus (0x) 15-01. {[(kümnendkoht UINT8) 21 = (kuueteistkümnes BYTE) 0x15] + (kuueteistkümnes BYTE) 0x01 => (kuueteistkümnendik -BYTE) 0x1501}

Kui valite salvestada need väärtused hüpikaknasse Kirjutusväärtus, andes sellele nime ja seejärel puudutades nuppu Salvesta, saate need edaspidi GPIO hõlpsaks moduleerimiseks eelseadistustena laadida!

Samm: BluChipi programmeerimine

BluChipi programmeerimine
BluChipi programmeerimine
BluChipi programmeerimine
BluChipi programmeerimine
BluChipi programmeerimine
BluChipi programmeerimine

Oleksite ülaltoodud videost märganud, et minu telefoni BluChip -seadme nimi erineb teie telefonist, nii et kuidas me saame seda muuta oma maitse järgi?

Rakenduse püsivara, mis töötab BluChipil, toimib välisseadmena (orjana) üle BLE keskseadmetele (põhiseadmetele), näiteks sellega ühendatud nutitelefonidele. Seadme nime muutmiseks uurime rakenduse püsivara vilkumist meie BluChipile.

BluChip Exploreri komplekti kuulub ARM programmeerija (CMSIS-DAP). MakerChips on esitanud CMSIS-DAP-iga üksikasjaliku juhendi, kuidas üksikasju BluChipile välkuva püsivara kohta.

Püsivara kompileerimiseks hex -failiks ja selle välkimiseks vajame Keili, tarkvaraarenduskomplekti nRF51 (SDK) ja BluChipi püsivara. Jätkake ja laadige need alla MakerChipsi BluChipi programmeerimise CMSIS-DAP ja Keili jaotise "Tarkvara" linkidelt.

Installige Keil ja järgige jaotise "Hex-faili loomine" samme 1-3.

Siinkohal võite jätkata 4. sammuga, kõigi sihtfailide taastamine.

Kui saate vea seoses „core_cm0.h”, peate selle koostamiseks projektile selle tee lisama.

Peaksime lihtsalt faili otsima ja leidma selle kataloogi, milleks on "\ components / toolchain / gcc".

Lisame selle tee meie projekti. Klõpsake suvandit Valikud sihtimiseks, minge vahekaardile C/C ++, seejärel lisage tee, nagu on näidatud joonisel 16.

Pärast vajalike sõltuvuste kaasamist kompileerib meie projekt ja me saame nüüd vaadata kompileeritud väljundit, kohandatud kuueteistkümnendfaili aadressil "nRF51_SDK_10.0.0_dc26b5e näited / ble_peripheral / ble_app_ahc-master / bluchip / s110_with_dfu / arm4 / _buildnrf51410_xxac"

Hex-faili BluChipile välkimiseks järgige jaotise "Hex-faili teisaldamine" samme 1-8.

Nüüd, kui olete laadinud püsivara BluChipile kohandatud seadme nimega, käivitage rakendus nRF Connect ja otsige oma seade üles. Märkate, et see on nüüd nime saanud selle järgi, mille olete seadmes DEVICE_NAME püsivaras määranud!

Järgmise sammuna hakkame seadistama meie automatiseeritud kodukardinate süsteemi riistvara, elektroonikat ja tarkvara.

Samm: automatiseeritud kardinate ehitamine

Image
Image
Automatiseeritud kardinate ehitamine
Automatiseeritud kardinate ehitamine
Automatiseeritud kardinate ehitamine
Automatiseeritud kardinate ehitamine
Automatiseeritud kardinate ehitamine
Automatiseeritud kardinate ehitamine

Olles oma püsivara koostamise ja välgutamise protsessi üle vaadanud, jätkame oma bluetooth -kardinate ehitamist!

Hammasrihma juhtimiseks kasutatakse samm -mootorit, mis liigutab kardinad lahti ja kinni. Sammumootorit juhib Half-H draiveri IC, mida juhib BluChip.

Toiteallikaks kasutame mootorile etteantavat 12V vahelduvvoolu pingeregulaatorit koos pingeregulaatoriga LM317 DC-DC, et vähendada 12V kuni 3,3V, mis toidab BluChipi ja Stepper Driver IC-d.

Oma BluChip -mooduli saate hankida MakerChipsi uuest poest Tindies või MakerChips'i veebisaidilt.

Automaatsete kardinate kokkupanekuks alustame lisaks BluChip Exploreri komplektile allpool loetletud osi:

  • 12V 1A toiteadapter 3,40 dollarit
  • Barrel Jack 0,68 dollarit
  • Pingeregulaator LM317T 0,80 dollarit
  • Takistid (200 ja 330 oomi) 1,69 dollarit
  • L293D samm -draiver 1,63 dollarit
  • Unipolaarne samm -mootor 8,00 dollarit (või 1,66 dollarit <= muutke seda väiksemat ühepolaarset bipolaarseks sammuks)
  • 6mm hammasrihm $ 7.31
  • 6 mm käik $ 0,54 (või 3D -prinditav firmalt Thingiverse)
  • 6 mm rihmaratas 1,17 dollarit (või 3D -prinditav firmalt Thingiverse)
  • Piirlüliti x2 (valikuline) 1,34 dollarit
  • Projektiümbris (valikuline) 1,06 dollarit
  • Leivalaudade hüppajajuhtmed 2,09 dollarit
  • Dupont Jumper juhtmed 2,80 dollarit
  • Kummipaelad 1,13 dollarit
  • Twist lips $ 3.22
  • 22 AWG traat (valikuline) 1,22 dollarit
  • Tõmblukud (valikuline) 0,63 dollarit
  • Kahanev toru (valikuline) 1,97 dollarit

Tööriistad (valikuline):

  • Kuumliimipüstol 3,75 dollarit
  • Jootekolb 6,79 dollarit

Laadige materjalide arve alla GitHubist (Amazon)

Joonis 20 näitab, kuidas kavatsete süsteemi ühendada, sõltuvalt sellest, milliseid funktsioone soovite lisada. Kui soovite täpsemat liikumist, lisage projektile piirlülitid.

Piirlülitid on kardinate lõpp -punktid, mis annavad BluChipile teada selle avamisel või sulgemisel. Ilma piirangulülititeta peate tulevases jaotises "Püsivara seadistamine" püsivara konfigureerima, et näidata, kui kaugele teie kardinad liiguvad.

Joonis 20 sisaldab ka valikulist fototakistit, mis võimaldab tuvastada päeval ja öösel, samuti seadistatav jaotises "Püsivara konfiguratsioon".

Riistvara kokkupaneku alustamiseks paigaldage samm -mootor, rihmaratas ja hammasrihm kardinate ülaossa. (Joonis 21)

Pingutage hammasrihma ajutiselt kummipaelaga. Hiljem, enne projekti lõpuleviimist, ühendate selle kokku, et seda püsivalt hoida.

Kardinate hammasrihma külge kinnitamiseks keerake traadi sidemed rihma ja kardinakonksu ümber.

Et paremini mõista, kuidas kardinaid rihma külge kinnitada, järgige joonist 22. Vasaku kardina sidute juhtmestikuga hammasrihma taha ja parema kardina hammasrihma ette. traadiga lipsuga.

Kui olete turvavöö kinnitatud ja kardin kinni seotud, eemaldage samm -mootor, et saaksime hakata seda juhtivat elektroonilist vooluahelat kokku panema ja katsetama. Alustage elektroonika ehitamist, asetades Bluchip, L293d IC ja LM317t pingeregulaatori leivalauale joonisele 20.

Sisestage 200 ja 330 oomi takistid vastavalt joonisele 20. Takistid reguleerivad LM317 väljundit nii, et see annaks ~ 3.3V. (Joonis 24)

Sisestage hüppaja traat ja juhtmega tünni pistik, nagu on näidatud joonisel 26.

Ühendame toiteadapteri seinakontakti ja ühendame adapteri pistikupessa, et kontrollida pingeid, nagu on näidatud joonisel 27.

Kui õiged pinged on kindlaks tehtud, eemaldage toitepistik ja alustage ülejäänud leivaplaadi hüppajajuhtmete asetamist vastavalt joonisele 20.

Järgmisena ühendame oma bipolaarse samm -mootori L293d IC -ga.

Kõigepealt asetage Duponti hüppajajuhtmed samm -mootori pistikusse, nagu on näidatud joonisel 29.

Et teada saada, milline traat kuhu läheb, järgige skeemi joonisel 30.

Nagu skemaatiliselt näha, lähevad ühe mähise juhtmed L293D pin2 ja pin6 külge. Teise mähise juhtmed lähevad pin11 ja pin14 külge.

Modifitseeritud bipolaarsel samm-sammulisel mootoril 28BYJ-48 on neli kasutatavat värvilist traati, nagu on näidatud joonisel 31.

L293d ühendame sinise kuni pin3, kollase kuni pin6, oranži kuni pin11 ja roosa kuni pin14.

Põhiskeem on nüüd valmis!

Kui soovite rakendada piirlüliteid, ühendage NO & C juhtmed 22AWG juhtmega. Teises otsas kinnitage DuPonti džemprid, et moodustada leivaplaadile sobivad juhtmed. (Joonis 32)

Saate need kinnitada kardinapuule kummipaeltega, nagu on näidatud joonisel 33, või kui teil on käepärast kuum liimipüstol, saate selle rööpa külge tõmblukuga siduda ja seejärel tupsutada hea kogus kuuma liimi, et see ei liiguks ümber.

Et saada aimu, kuhu need paigutada, vaadake joonist 34.

Üks piirlüliti on kinnitatud kardinapiirde vasakpoolsesse otsa, esimese ja teise rööpa konksu vahele, nii et kui kardinad avanevad, surub konks lüliti vastu ja aktiveerib selle. Teine piirlüliti asetatakse otse rööpa keskele, vasakule. Sel viisil aktiveerub see kardinate sulgemisel.

Sisestage piirlüliti juhtmed leivaplaadile vastavalt joonisele 20.

Lõpuks, kui soovite, et teie kardinad avaneksid päikesetõusu ajal ja sulguksid loojudes, peate fototakisti ühendama, nagu on näidatud joonisel 36, ja seadistage see lähedale kohale, kus tal on koidu ajal päikesevalgus.

Kui olete leivaplaadi seadistamise lõpetanud, olge valmis ja ühendage oma programmeerija püsivara välkimiseks BluChipiga. Laadige GitHubist alla püsivara ja ekstraheerige see oma SDK -kataloogi nagu varem.

Laadige ble_app_ahc.zip alla Githubist.

Avage projekt, kompileerige ja laadige püsivara BluChipi üles.

Enne testimist paneme leivalaua karpi ja teeme juhtmete ja kardina oleku LED -i jaoks augud.

Asetage leivaplaat korpuse karbi alusele ja tehke juhtmetele ava. Ava on ka punktiks, et BluChip saaks antenni kaudu teiste seadmetega suhelda. (Joonis 37)

Puurige korpuse küljele LED -i suurune auk ja paigaldage LED sellele. Juhtmege LED vastavalt joonisele 20.

Leidke sobiv koht, et paigaldada ümbriskarp kardinapuust vasakule, vooluvõrgu lähedale. Paigaldage mootor tagasi ja tehke hammasrihma viimane pingutuskatse, veendudes, et lõtku pole. (Joonis 39)

Nüüd on aeg testida meie kokkupandud süsteemi. Sisestage toiteadapter ja käivitage oma rakendus nRF Connect. Avastate seadme nimega Curtains. BluChip.

Ühendage see, saatke UINT8 1 (avatud kardinad) väärtus tundmatule omadusele jaotises Tundmatu ja vaadake, kuidas kardinad avanevad!

Nüüd, kui olete oma süsteemi edukalt testinud, vaatame, kuidas seadistada osa BluChipi saadet käivitavatest koodidest.

Samm: BluChipi püsivara konfigureerimine

BluChipi püsivara konfiguratsioon
BluChipi püsivara konfiguratsioon
BluChipi püsivara konfiguratsioon
BluChipi püsivara konfiguratsioon
BluChipi püsivara konfiguratsioon
BluChipi püsivara konfiguratsioon

Automatiseeritud kodukardina püsivaraprojekt koosneb peamiselt neljast failist: main.c, ahc.c, ble_ahc_service.c ja ble_ahc_service.h.

Elektroonika ja riistvara ehitamisel oli meil võimalus valida, kas tahame automaatse süsteemi täpsuse suurendamiseks piirlüliteid.

Koodis ahc.h näeme #define LIMIT_SWITCHES.

Koodi koostamine ja vilkumine funktsiooniga #define LIMIT_SWITCHES võimaldab mõlema piirlüliti abil tuvastada, millal kardinad on avanenud ja suletud.

Kui olete otsustanud oma projekti piirangulüliteid mitte lisada, on vaja see ümber nimetada #undef LIMIT_SWITCHES. Sellisel juhul peate muutujate CURTAIN_OPEN_STEPS ja CURTAIN_CLOSE_STEPS abil täpsustama kardina läbimise kaugust. Reguleerige neid väärtusi kardina läbisõidu pikendamiseks või lühendamiseks.

Teine võimalus, fototakisti lisamine, saab lubada, muutes #undef LDR väärtuseks #define LDR. LDR tähistab valgust sõltuvat takisti, tuntud ka kui fototakisti. Kui lubame LDR -i, teab fototakisti, millal on väljas hele või pime, ning aitab teil päeva alguses või lõpus kardinad sulgeda või avada.

Lisaks piirilülitite ja fototakisti seadistamisele vaatame mõningaid teisi peamisi koodiplokke, mis võimaldavad teil kardinaid automaatselt avada ja sulgeda.

Failid ble_ahc_service.c ja ble_ahc_service.h sisaldavad koodi, mis edastab teie telefonilt andmeid BluChipile.

Kui BluChip võtab andmed vastu, analüüsib see neid vastavalt sellele, kas saadetakse 0 või 1. Seejärel aktiveerib see oleku LED -i, teostab mootori liigutusi ja deaktiveerib LED -signaalimise lõpetamise.

Funktsioon ahc_init () ahc.h -st käivitatakse põhiahela alguses, lähtestades kõik BluChipi tihvtid.

7. samm: kokkuvõte

Kokkuvõtteks võib öelda, et see oli äärmiselt lõbus ja üsna lihtne projekt BLE põhitõdede õppimiseks. Asjaolu, et BluChipi murrangumoodul sobib tihedalt leivaplaadile, muudab kiire prototüübi valmistamise hõlpsaks igal leivaplaadil, mis teil võib olla.

Ütleksin, et pärast oma automatiseeritud kardinate ehitamist olen juba mõelnud mitmesugustele muudele asjadele, millega BluChipi ühendada, sealhulgas nutikad neopikslid, OLED -ekraan digitaalse kella loomiseks, nutitelefoniga juhitav robot ja paljud muud vähese energiatarbega elektroonilised projektid. ideid, mis vajaksid kompaktset traadita sidepidamist!

Igaüks, kes tunneb suurt huvi elektroonika ja programmeerimise vastu, oleks meeldivalt üllatunud BluChipi pakutava üle, samuti BLE seadistamise ja rakendamise mugavuse pärast, et muuta projektid veelgi lahedamaks.

Praeguse seisuga hakkan taas nautima oma käepäraseid automatiseeritud kodukardinaid.

Soovitan: