Orodha ya maudhui:

Sensor ya Kugusa ya waya-5: Hatua 10
Sensor ya Kugusa ya waya-5: Hatua 10

Video: Sensor ya Kugusa ya waya-5: Hatua 10

Video: Sensor ya Kugusa ya waya-5: Hatua 10
Video: Автомобильный генератор для генератора с самовозбуждением с использованием ДИОДА 2024, Novemba
Anonim
Sensor ya Kugusa ya waya-5
Sensor ya Kugusa ya waya-5

Halo hodi!

Imekuwa ni muda tangu nimefanya kazi kwenye wavuti hii na mengi yamebadilika inaonekana! Mwishowe niko tayari kurudi nyuma ya gurudumu kwa mradi mwingine, na nadhani ni wakati wa kubadilisha mambo kidogo mwenyewe!

Nimekuwa nikifikiria kwa muda mradi uliotegemea Bamba na Mpira wa 271828, lakini nina mengi ya kujifunza juu ya sensorer na nadharia ya kudhibiti kabla ya kumaliza. Nilidhani kwamba maadamu ninajifunza kitu au mbili, nitaweza kuchukua ninyi watu nami!

Ili kufikia mwisho huo, lengo langu kwa mafunzo haya litakuwa aina ya mseto kati ya mafunzo yangu yaliyopigwa zaidi, na rekodi ya mradi wenyewe. Kila mafunzo ya mtu binafsi yatakuwa hatua moja katika safari hiyo, na itajumuisha maelezo ambayo nimeyapuuza hapo zamani kama vile ukuzaji wa nambari (badala ya nambari tu iliyokamilishwa) na hatua mbaya ninazochukua njiani.

Nimefurahiya sana mradi huu mpya, na nimeondoka kuona jinsi inavyofanya kazi vizuri!

Leo tutapata jopo rahisi la kugusa la waya 5 linalofanya kazi na DP-32.

Tuanze!

Hatua ya 1: Nini Utahitaji

Nini Utahitaji
Nini Utahitaji

Kwa sababu mafunzo haya ni juu ya kufanya sensorer moja kufanya kazi, hakuna mengi unayohitaji zaidi ya mdhibiti mdogo na jopo la kugusa.

  • Mdhibiti mdogo.

    Ninatumia DP32 yangu na bodi ya mkate iliyojengwa kwa sababu inafanya prototyping rahisi sana

  • Waya na nyaya zilizowekwa.

    Ningekuwa nimetumia kebo ya Ribbon iliyojengwa katika jopo la kugusa, lakini ikiwa inalia basi jopo lote halina maana. Badala yake, ninatumia kebo ya waya-6 kupunguza mkazo kwenye kebo iliyojengwa

  • Jopo la kugusa la waya 5 linalopinga!

    Nilikuwa na jopo la kugusa la waya 4, lakini kebo ya Ribbon kwa hiyo ilivunjika

Na ndio hivyo!

Hatua ya 2: Je! Ni nini Jopo la Kugusa la waya 5?

Je! Ni nini Jopo la Kugusa la waya 5?
Je! Ni nini Jopo la Kugusa la waya 5?
Je! Ni nini Jopo la Kugusa la waya 5?
Je! Ni nini Jopo la Kugusa la waya 5?
Je! Ni nini Jopo la Kugusa la waya 5?
Je! Ni nini Jopo la Kugusa la waya 5?

Ikiwa umesoma kupitia mafunzo yangu ya jopo la kugusa la waya 4, utajua wazo la jumla la sensa ya kugusa inayopinga, lakini paneli za waya 5 na paneli za waya 4 hufanya kazi tofauti kidogo.

Ninapenda jopo hili kwa sababu unaweza kuona athari zote za waya, na kuifanya iwe rahisi kuona ni nini hufanya nini. Katika picha ya kwanza, nimechora kila athari tofauti. Labda unaweza kuona kwamba waya nne (nyekundu, manjano, machungwa, na zambarau) kila moja huenda kwenye moja ya pembe nne. Waya wa kati (nyekundu) huenda kwenye jopo la sensorer inayobadilika.

Katika picha ya pili, Tumeweka waya mbili kati ya nne (juu kulia na chini kulia) kwa voltage kubwa (iliyoonyeshwa kwa nyekundu), wakati zingine mbili (kushoto-kushoto na chini kushoto) zimewekwa chini voltage (iliyoonyeshwa kwa samawati). Hii inaunda gradient ya voltages kwenye paneli nzima. Katika kesi hii, gradient huenda kando ya mhimili wa X, kwa hivyo voltage ya juu inawakilisha nafasi ya juu kando ya mhimili wa X.

Tunapogusa kidole chetu kwenye jopo, hiyo hukandamiza sensorer inayoweza kubadilika, ikiunganisha mahali pengine kwenye gradient ya mhimili wa X. Sensorer za voltage kwenye microcontroller yetu zinaweza kuhisi voltage hii, na kukuambia ni wapi kwenye mhimili wa X kidole chako kinagusa!

Katika picha ya tatu, unaweza kuona jinsi usanidi unabadilika kuturuhusu kuhisi kando ya mhimili wa Y. Kwa njia hii, tunaweza kujua ni wapi katika nafasi ya 2-D kidole chetu kinagusa!

Hatua ya 3: Wiring

Wiring
Wiring
Wiring
Wiring

Kama unavyoweza kuona kwenye picha hapo juu, nimeunganisha pembe zangu nne kila mmoja kwenye pini yao ya pato la dijiti. Hiyo itaniruhusu niwaweke peke yao juu au chini. Siri yangu ya sensorer inaunganishwa na pini ya pembejeo ya analog. Jambo zuri juu ya skrini ya kugusa ya waya 5, tofauti na waya 4, ni kwamba unahitaji pini moja tu ya analog, wakati waya 4 itahitaji 2.

Wiring yako inaweza kutofautiana, kwa kweli, lakini wiring yangu ni kama ifuatavyo:

Analog 0 (pin 6) inaunganisha kwa Sensor (pin ya kati)

Digital 3 inaunganisha kwa Juu-Kulia (pini ya juu zaidi)

Digital 2 inaunganisha Juu-Kushoto (pini ya pili ya juu zaidi)

Digital 1 inaunganisha chini-kushoto (pini ya pili chini zaidi)

Digital 0 inaunganisha chini-kulia (pini ya chini-chini)

Ni muhimu kuzingatia tena kwamba ninatumia kebo ya waya-6 kwenda kati ya mdhibiti mdogo na jopo. Nimeacha pini ya juu ya kebo hii ikiwa haijaunganishwa.

Hatua ya 4: Maendeleo ya Programu

Maendeleo ya Programu
Maendeleo ya Programu

Hapo zamani, kawaida nilikuwa nikiacha faili ya programu iliyokamilishwa utumie, labda kwa kutembea kwa kifupi kwa kila kitu kinachofanya. Sipendi hiyo. Ninataka safu hii iwe juu ya miradi katika maendeleo, na kufikia mwisho huu nitajumuisha maendeleo halisi ya programu hii kutoka mwanzo hadi mwisho.

Kama kawaida, nitatumia Arduino IDE, na msingi wa Digilent. Kila sehemu itajumuisha faili ya nambari, picha ya skrini, na pia maelezo ya nyongeza na kile tunachojaribu kufikia.

Kwa sasa, ninaanza na mpango rahisi wa kuchelewesha wa mtindo wa kuchelewesha, sawa kabisa na kile utakachopata kwenye folda ya Mifano. Ukisoma kichwa hicho kirefu nilichoandika, utaona kuwa kila hatua katika mchakato huu itabadilisha programu ili kuileta karibu na lengo letu la mwisho.

Hatua ya 5: Blink Machine Machine

Mashine ya Serikali Blink
Mashine ya Serikali Blink

Hoja yangu ya kwanza ni kubadilisha kazi ya kupepesa kutoka kwa moja kulingana na "kuchelewesha ()" kuwa mashine ya serikali.

Kwa zile ambazo hazijatumiwa kubadili-taarifa, inafanya kazi sawa na taarifa-ikiwa. Huyu (kwenye sanduku la machungwa) anajaribu "hali" yetu inayobadilika (ambayo huanza saa 0). Kisha inaruka kwa kesi kwa hali yetu ya sasa. Utaona kwamba kesi 0 na 2 zinawajibika kwa kuwasha na kuzima LED (mtawaliwa), wakati kesi 1 na 3 zinawajibika kusubiri kati ya swichi.

Hatua ya 6: Button Blink

Kifungo Blink
Kifungo Blink
Kifungo Blink
Kifungo Blink
Kifungo Blink
Kifungo Blink

Ifuatayo, nilitaka kitufe kitumike kupepesa taa. Badala ya kuzidisha hali hii, nilisogeza tu majimbo yote chini kwa moja (hali 0 inakuwa jimbo 1, n.k.). Unapofanya hivyo, kuwa mwangalifu kuongeza majimbo ya kutoka na hali yenyewe (angalia picha 3).

Pia nilifuta hali ya pili ya "subiri". Hiyo inamaanisha kuwa kitufe kinawasha taa kwa sekunde moja, na unaweza kubonyeza kitufe tena mara baada ya kuzima.

Ni muhimu kutambua kwamba mfumo huu hutupatia kitufe kiatomati, kwa sababu tunalazimika kungojea kwa LED kuzima kabla ya kurudi kwenye jimbo 0 ambapo kitufe kinaweza kusababisha mzunguko tena.

Hatua ya 7: Mawasiliano ya serial

Mawasiliano ya serial
Mawasiliano ya serial
Mawasiliano ya serial
Mawasiliano ya serial

Sasisho hili ni ndogo sana. Nilichotaka kufanya ni kuanzisha unganisho la Serial na kutuma ujumbe. Katika picha ya kwanza, unaweza kuona kwamba ninaanza Serial katika kazi ya kuanzisha (). Ndani ya mashine yetu ya serikali, niliongeza mistari kwa majimbo 1 na 3 ambayo yatatuma ujumbe rahisi kwa kompyuta kupitia serial.

Hatua ya 8: Kuratibu Kuratibu

Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu
Kuratibu Kuratibu

Ni vizuri kwamba hatua ya mwisho ilikuwa rahisi, kwa sababu hii ilikuwa ya doozy.

Kuanza, nimeongeza vigeuko vya jopo letu la kugusa, pamoja na anuwai ya wakati maalum kwa jopo la kugusa na kitufe chetu. Utaona kwa nini kwa kidogo.

Nimeandika tena mashine ya serikali. Inachanganya sana kuangalia nambari hiyo, kwa hivyo nimejumuisha mchoro wa block ambao unapaswa kuonyesha kile kilichofanyika.

Vitu vya kuzingatia: Kuna hatua tatu za "kusubiri" sasa. Moja kwa kila usanidi wa paneli ya kugusa, ili voltages itulie kabla ya kuchukua kipimo, na moja kutoa kitufe wakati wa kujiondoa vizuri. Hatua hizi za kusubiri ni kwa nini nilitaka kutoa kitufe na jopo la kugusa anuwai zao za wakati.

Kumbuka: Mara kwa mara DEBOUNCE_TIME inaweza kuwa chini kidogo. Jisikie huru kuiongeza.

Hatua ya 9: Kusafisha

Kusafisha
Kusafisha
Kusafisha
Kusafisha
Kusafisha
Kusafisha

Tumefika kwenye toleo la mwisho la nambari ya mradi huu!

Kuanza na, nimeongeza kazi iitwayo loop_diff () kuhesabu wakati uliopita. Saa ya ndani ya DP32 ni ndefu isiyosainiwa na, ingawa haiwezekani kabisa, kuna uwezekano kwamba saa inaweza kuzunguka wakati mwingine wakati wa kukimbia kwa nambari hii. Katika kesi hiyo, kuondoa tu wakati wa sasa kutoka kwa wakati uliohifadhiwa katika btn_time au paneli_tzaa itatupa kitu cha kushangaza, kwa hivyo niliandika loop_diff () kugundua wakati vitanzi vinatokea, na ujipatie ipasavyo.

Nimefanya pia kusafisha kidogo. Nimeondoa tofauti ya "state_time" isiyotumika sasa. Nimebadilisha kutoka kwa lebo ya LED_BUILTIN (ambayo ni kiwango cha Arduino) kwenda kwa lebo ya PIN_LED1 (ambayo ni kiwango cha chipKit na DP32). Nimeondoa ujumbe wote kupitia Serial kuhusu kuanza na kumaliza mchakato, ambayo inafanya data yetu kupitia Serial kuwa safi zaidi.

* Nilifanya hesabu miaka iliyopita, na nadhani kwa kazi ya millis () itachukua kitu kama wiki ya wakati wa kukimbia mara kwa mara kabla ya kutofautisha.

Hatua ya 10: Mawazo ya Mwisho

Mawazo ya Mwisho
Mawazo ya Mwisho

Na ndio hivyo!

Ikiwa umefuata pamoja, sasa unapaswa kuwa na jopo la kugusa linalofanya kazi lililounganishwa na microcontroller yako! Huu ulikuwa mradi mdogo, lakini ni sehemu ya mradi mkubwa. Ninafanya kazi kuelekea kitu kama Sahani na Mpira wa 271828, na nina njia ndefu ya kwenda kabla ya hilo kutokea. Nitajaribu kukupeleka kwenye mchakato mzima, na kila sehemu inapaswa kuwa mradi wake mdogo.

Huu ni mchakato wa kujifunza kwangu, kwa hivyo jisikie huru kuacha maoni na maoni yako kwenye maoni hapa chini.

Asante, na nitakuona wakati mwingine!

Ilipendekeza: