Orodha ya maudhui:

Sensor ya Mwendo / Taa za Kudhibitiwa za Kukabiliana: Hatua 7
Sensor ya Mwendo / Taa za Kudhibitiwa za Kukabiliana: Hatua 7

Video: Sensor ya Mwendo / Taa za Kudhibitiwa za Kukabiliana: Hatua 7

Video: Sensor ya Mwendo / Taa za Kudhibitiwa za Kukabiliana: Hatua 7
Video: Cheki jama alivyo paa na ndege ya kichawi utashangaa 2024, Novemba
Anonim
Sensorer ya Mwendo / Taa za Kudhibitiwa za Kukabiliana
Sensorer ya Mwendo / Taa za Kudhibitiwa za Kukabiliana

Mradi huu uliundwa kama mradi wa mwisho wa kozi ya Ubunifu wa Dijiti huko Cal Poly, San Luis Obispo (CPE 133).

Kwa nini tunafanya hivi? Tunataka kusaidia kuhifadhi maliasili ulimwenguni. Mradi wetu unazingatia kuokoa umeme. Kwa kuokoa umeme zaidi, tutaweza kuhifadhi maliasili ambazo zinatumika kuzalisha umeme. Tunapoanza 2018, maliasili inatumiwa kwa kiwango cha kushangaza. Tunataka kufahamu athari zetu kwa mazingira yetu na tuchukue jukumu letu katika kuhifadhi maliasili. Elektroniki zinaweza kutekelezwa kwa njia anuwai za kuokoa nishati ambayo inasaidia mazingira na hali yetu ya uchumi. * Mtindo huu uliundwa kwa kutumia vifaa tunavyopatikana.

Je! Msukumo wetu ulikuwa nini? Mara nyingi watu husahau kuzima taa zao za likizo, na kupoteza nguvu kwa kuziacha usiku kucha. Kwa kweli, mradi huu utahifadhi umeme kwa sababu "taa za likizo" zingewashwa tu wakati watu wako karibu, na hivyo kuhifadhi nishati wakati hakuna mtu yuko karibu. Kwa kuongezea, tulitaka kubuni kipima muda ili taa zizime kabisa baada ya muda fulani kuhakikisha kwamba haziwashi kwa sababu ya harakati zilizogunduliwa saa 3 asubuhi, kwa mfano.

Ubunifu huu unaweza kutekelezwa kwa taa za kila aina, iwe ni mapambo, ya vitendo, au zote mbili. Ikiwa unataka taa yako ya dawati ifanye kazi tu kwa masaa 6 kwa wakati mmoja, kwa mfano. Utahitaji kuweka kaunta kwa sekunde 21, 600 (masaa 6 x 3, sekunde 600 / saa). Wakati kaunta inaongezeka kikamilifu, sensor ya mwendo ingeweza kudhibiti taa. Kwa hivyo, kila wakati inapozima wakati huo wa muda, unahitaji tu kupunga mkono wako mbele ya sensorer ya mwendo na itawashwa tena. Ukilala kwenye dawati lako na ukaamka masaa 7 baadaye, harakati yako haitaiwasha.

Hatua ya 1: Programu Inayotakiwa na Vifaa

Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa
Programu Inayotakiwa na Vifaa

Programu:

  • Vivado 2016.2 (au toleo la hivi karibuni) linaweza kupatikana hapa
  • Arduino IDE 1.8.3 (au toleo la hivi karibuni) inaweza kupatikana hapa

Vifaa:

  • 1 Basys 3 bodi
  • 1 Arduino Uno
  • 2 Bodi za mkate
  • 1 sensorer Kubadilisha Ultrasonic HC-SR04
  • Waya wa kiume-kwa-kiume
  • 1 LED
  • 1 100Ω Mpingaji

Hatua ya 2: Nambari (Vivado)

Nambari (Vivado)
Nambari (Vivado)

Mashine ya Serikali ya kumaliza (angalia mchoro wa serikali hapo juu):

LED ilihitaji mashine ya hali ya mwisho. LED ina majimbo mawili tu ya kuwasha na kuzima. Pembejeo mbili tu zinadhibiti hali ya LED, kaunta na sensa. Wakati pekee ambao LED inapaswa kuwa juu ni wakati sensor inagundua harakati na wakati kaunta inahesabu kutoka sifuri hadi sekunde thelathini. Kesi nyingine yoyote LED itazimwa.

Jina la faili: LEDDES

Kaunta:

Kaunta inatuwezesha kupunguza urefu wa wakati ambapo sensor ya mwendo inaweza kuamsha LED. Thamani yake inaonyeshwa kwenye onyesho la sehemu saba za Bodi ya Basys 3 kupitia nambari ya chanzo ("sseg_dec"). Wakati swichi ya Rudisha iko chini (thamani: '0'), kaunta inaanza kuongezeka kila sekunde kutoka 0 hadi 30. Ikifikia 30, inafungia nambari hiyo. Haitaanza tena kutoka 0 hadi ubadilishaji wa Rudisha ubadilishwe kuwa '1' na urejee kwa "1." Ikiwa Upya unakua "1" wakati kaunta inaenda, kaunta itafungia kwa thamani yoyote iliyokuwa imefikia. Wakati Upya unarudi kwa '0,' kaunta itaanza tena kutoka 0 hadi 30. Utekelezaji huu pia unahitaji utumiaji wa ishara ya saa, nambari yake imetolewa hapa chini ("clk_div2").

Jina la faili: FinalCounter

FILE ZILIZOTOLEWA:

Uonyesho wa Sehemu Saba:

Nambari hii inaruhusu onyesho la sehemu saba kuonyesha maadili ya desimali. Kijisuli kidogo hufanya kazi ya kukodisha kati ya pembejeo ya biti-8 ya 4-bit Binary Coded Decimal. Nyingine hugawanya ishara ya saa ili kuonyesha upya thamani yake kwa kiwango fulani.

Jina la faili: sseg_dec

Ishara ya Saa:

Nambari hii inaruhusu kaunta kuongezeka kwa kuongezeka kwa sekunde 1. Inagawanya mzunguko wa saa ya kuingiza kwenye masafa ya polepole. Tulibadilisha kutoa kipindi cha sekunde 1 na mabadiliko ya mara kwa mara max_count: integer: = (3000000)”kwa" mara kwa mara max_count: integer: = (50000000)."

Jina la faili: clk_div2

Iliyopewa faili: sseg_dec, clk_div2 * Faili hizi za chanzo zilitolewa na Profesa Bryan Mealy.

Hatua ya 3: Kuelewa Jinsi Wanavyokuja Pamoja (Skimu za Vipengele vya VHDL)

Kuelewa Jinsi Wanavyokuja Pamoja (Skimu za Vipengele vya VHDL)
Kuelewa Jinsi Wanavyokuja Pamoja (Skimu za Vipengele vya VHDL)

Faili kuu ("MainProjectDES") ina taswira zote zilizojadiliwa hapo awali. Imeunganishwa kwa njia ya hapo juu. Vipengele tofauti vimeunganishwa kwa kutumia ramani za bandari kutuma ishara kutoka kwa kitu kimoja hadi kingine.

Kama unavyoona, FinalCounter hutoa pato la 5-bit wakati sseg_dec inahitaji pembejeo ya 8-bit. Ili kulipa fidia, tunaweka ishara inayounganisha vitu vyote viwili kuanza na "000" na kuongeza kipato cha 5-bit kutoka kwa kaunta. Kwa hivyo kutoa pembejeo ya 8-bit.

Vizuizi:

Ili kuendesha nambari hizi kwenye Bodi ya Basys 3, faili ya vizuizi ilihitajika, ikimwambia kila ishara wapi kwenda na jinsi sehemu hizo zilikuwa zimeunganishwa.

Hatua ya 4: Nambari (Arduino)

Tulipanga Arduino Uno kutumia sensa ya mwendo kugundua mwendo na kutoa pato ambalo linaashiria LED kuwaka. Kwa kuongeza, kutumia sensa kugundua mwendo inahitaji matanzi yanayotembea ambayo hutafuta mabadiliko kwa umbali. Kwa kweli, inahitaji kipima muda ambacho hutumika kwa wakati mmoja kutoa ishara "ya juu" kwa LED kuwasha wakati kipima muda kinahitaji kuwekwa upya mara tu kunapoonekana mwendo mpya, ambao hauwezekani kutekeleza kwenye Vivado kulingana na wigo wa maarifa ya darasa. Kwa kuongezea, tulitumia Arduino kwa sababu haingewezekana kutumia HC-SR04 na Bodi ya Basys 3 kwani bodi inapeana 3.3V tu wakati sensor inahitaji usambazaji wa umeme wa 5V. Kwa utekelezaji wa harakati ya kugundua, ni usimbuaji halisi tofauti na CAD katika VHDL.

Tulitumia kunde iliyojengwa katika kazi kwa sensa ili kupata muda uliopitishwa kati ya sauti iliyotolewa mwanzoni kutoka kwa kihisi na sauti inayoruka nyuma wakati wa kugonga kitu. Kisha tunatumia kasi ya sauti na muda wa kuhesabu umbali kati ya kitu na sensa. Kutoka hapo, tunahifadhi umbali wa sasa na tunaifuatilia. Tunaangalia umbali kila 150ms. Tulitumia pia maktaba ya elapsedmil kuendesha timer ya ndani ndani ya arduino kuweka wimbo wa wakati uliopita. Ikiwa tutagundua mabadiliko ya umbali, ambayo inalingana na mwendo, kipima muda kimewekwa tena sifuri na itaweka taa hadi sekunde 3 zimepita. Wakati wowote sensorer inapogundua mwendo mwingine, kipima muda kimewekwa tena 0 na ishara ya taa ya LED itakuwa "juu" kwa sekunde 3. Zilizofuata tumeambatanisha nakala ya nambari yetu ya Arduino hapa chini.

Hatua ya 5: Jinsi Vipengele Vyetu Vinavyoungana Pamoja

Vipengele Vyetu Vinavyoshikamana Pamoja!
Vipengele Vyetu Vinavyoshikamana Pamoja!
Vipengele Vyetu Vinavyoshikamana Pamoja!
Vipengele Vyetu Vinavyoshikamana Pamoja!
Vipengele Vyetu Vinavyoshikamana Pamoja!
Vipengele Vyetu Vinavyoshikamana Pamoja!

Kama unavyoona katika "Basys3: Pmod Pin-out Mchoro *" na picha ya Bodi ya Arduino Uno, tuliangazia na kuweka alama bandari tulizotumia.

1. Bodi ya LED na Basys 3

LED imeunganishwa kwa safu na kontena la 100Ω. -Waya nyeupe inaunganisha kontena kubana PWR ya bodi ya Basys 3. -Waya ya manjano inaunganisha LED kubandika H1 ya bodi ya Basys 3.

2. Sensor ya Mwendo na Arduino Uno

-Waya ya machungwa inaunganisha Vcc (nguvu) ya sensorer ya mwendo kubandika 5V ya bodi ya Arduino Uno. -Waya nyeupe inaunganisha pini ya sensorer ya mwendo kubonyeza 10 ya bodi ya Arduino Uno. sensa ya mwendo kubandika 9 ya bodi ya Arduino Uno.-Waya mweusi huunganisha pini ya GND ya sensorer ya mwendo kubandika GND ya bodi ya Arduino Uno.

[Waya zilizotumiwa zilikuwa fupi sana kufikia vifaa, kwa hivyo ziliunganishwa]

3. Bodi ya Basys 3 na Arduino Uno

Waya ya manjano huunganisha pini A14 ya bodi ya Basys 3 kubandika 6 ya bodi ya Arduino Uno.

Mchoro huu umechukuliwa kutoka kwa Mwongozo wa Marejeleo wa Basile 3 ™ wa FPGA wa Digilent ambao unaweza kupatikana hapa.

Hatua ya 6: Maonyesho

Hatua ya 7: Wakati wa Kuijaribu

Hongera! Umefika mwisho wa sensa yetu ya mwendo & mradi wa taa inayodhibitiwa! Asante sana kwa kusoma kupitia chapisho letu la Maagizo. Sasa ni wakati wako kujaribu kujenga mradi huu mwenyewe. Ikiwa unafuata kila hatua kwa uangalifu, unapaswa kuwa na sensorer ya mwendo na taa inayodhibitiwa inayofanya kazi sawa na yetu! Tunakutakia kila la heri katika kujenga mradi huu, na tunatumahi kuwa inaweza kuchangia kuokoa umeme na maliasili!

Ilipendekeza: