Orodha ya maudhui:

Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino: Hatua 6
Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino: Hatua 6

Video: Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino: Hatua 6

Video: Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino: Hatua 6
Video: Как измерить любое напряжение постоянного тока с Arduino ARDVC-01 2024, Novemba
Anonim
Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino
Tumia Ingizo 1 la Analog kwa Vifungo 6 kwa Arduino

Nimekuwa nikijiuliza ni vipi ningeweza kupata Pembejeo zaidi za Dijiti kwa Arduino yangu. Hivi majuzi ilinijia kwamba ningeweza kutumia moja ya Pembejeo za Analogi kuleta pembejeo nyingi za dijiti. Nilifanya utaftaji wa haraka na nikapata mahali ambapo watu waliweza kufanya hivyo, lakini kwamba hizi ziliruhusu kitufe kimoja kushinikizwa kwa wakati mmoja. Nataka kuwa na uwezo wa kuwa na mchanganyiko wowote wa vitufe vya kushinikizwa KWA SIMULTANEOUSLY. Kwa hivyo, kwa msaada wa MIWANGO YA TINKERCAD, niliamua kufanya hii kutokea.

Kwa nini ningetaka mashinikizo ya kitufe cha wakati huo huo? Kama inavyoonyeshwa katika muundo wa Mizunguko ya TinkerCad, inaweza kutumika kwa pembejeo za ubadilishaji wa DIP kwa uteuzi wa njia tofauti ndani ya programu.

Mzunguko ambao nimekuja nao unatumia chanzo cha 5V kinachopatikana kutoka Arduino na hutumia vipinga 7 na vifungo 6 au swichi.

Hatua ya 1: Mzunguko

Mzunguko
Mzunguko

Arduino wana pembejeo za Analog ambazo zinakubali uingizaji wa 0V hadi 5V. Ingizo hili lina azimio la 10-bit, ambayo inamaanisha kuwa ishara imegawanywa katika sehemu 2 ^ 10, au hesabu 1024. Kulingana na hii, zaidi ambayo tunaweza kuingiza pembejeo ya analojia wakati kuruhusu vyombo vya habari wakati huo huo itakuwa vifungo 10 kwa pembejeo 1 ya analog. Lakini, huu sio ulimwengu kamili. Kuna upinzani kwa makondakta, kelele kutoka kwa vyanzo vya nje, na nguvu isiyokamilika. Kwa hivyo, kujipa kubadilika mengi, nilipanga kuunda hii kwa vifungo 6. Kwa sehemu, hii ilikuwa imeathiriwa na ukweli kwamba Mizunguko ya TinkerCAD ilikuwa na kitu cha Kubadilisha DIP cha 6-switch, ambayo ingefanya upimaji kuwa rahisi.

Hatua ya kwanza katika muundo wangu ilikuwa kuhakikisha kuwa kila kitufe, kinapobanwa moja kwa moja, kitatoa voltage ya kipekee. Hii ilitawala vipinga vyote kuwa thamani sawa. Hatua inayofuata ilikuwa kwamba maadili ya upinzani, yakiongezwa kwa usawa, hayangeweza kuwa na upinzani sawa na thamani yoyote ya kupinga. Wakati vipinzani vimeunganishwa kwa usawa, upinzani unaosababishwa unaweza kuhesabiwa na Rx = 1 / [(1 / R1) + (1 / R2)]. Kwa hivyo, ikiwa R1 = 2000 na R2 = 1000, Rx = 667. Nilidhani kuwa kwa kuongeza ukubwa wa kila kipinga, sitaona upinzani sawa kwa mchanganyiko wowote.

Kwa hivyo, mzunguko wangu hadi wakati huu ulikuwa na swichi 6, kila moja ikiwa na kinzani chake. Lakini, kuna kinzani moja zaidi inahitajika kukamilisha mzunguko huu.

Kinzani ya mwisho ina madhumuni matatu. Kwanza, inafanya kazi kama kontena la Vuta-Chini. Bila kontena, wakati hakuna vifungo vilivyobanwa mzunguko haujakamilika. Hii itaruhusu voltage kwenye Input ya Analog ya Arduino kuelea kwa uwezo wowote wa voltage. Kinzani ya Kuvuta-Chini kimsingi Inashusha Voltage hadi 0 V. Kusudi la Pili ni kuzuia sasa ya mzunguko huu. Sheria ya Ohm inasema kuwa V = IR, au Voltage = Sasa imeongezeka kwa Upinzani. Na chanzo kilichopewa cha voltage, kontena kubwa inamaanisha kuwa sasa itakuwa ndogo. Kwa hivyo, ikiwa ishara ya 5V ilitumika kwa kontena la 500ohm, sasa kubwa zaidi tunaweza kuona itakuwa 0.01A, au 10mA. Kusudi la Tatu ni kutoa voltage ya ishara. Jumla ya sasa inayopita kwenye kontena la mwisho itakuwa: i = 5V / Jumla, ambapo Rtotal = Rlast + {1 / [(1 / R1) + (1 / R2) + (1 / R3) + (1 / R4) + (1 / R5) + (1 / R6)]}. Walakini, ingiza tu 1 / Rx kwa kila Resistor iliyo na kitufe kinachofanana. Kutoka kwa jumla ya sasa, Voltage inayotolewa kwa Ingizo la Analog itakuwa i * Rlast, au i * 500.

Hatua ya 2: Uthibitisho - Excel

Uthibitisho - Excel
Uthibitisho - Excel

Njia ya haraka na rahisi zaidi ya kudhibitisha kuwa nitapata upingaji wa kipekee na kwa hivyo voltages za kipekee na mzunguko huu ilikuwa kutumia uwezo wa Excel.

Nilianzisha mchanganyiko wote unaowezekana wa pembejeo za swichi na kupanga hizi kwa kufuata mfuatano wa mitindo. Thamani ya "1" inaonyesha kuwa swichi imewashwa, inaonyesha wazi kuwa imezimwa. Juu ya lahajedwali, niliweka maadili ya kupinga kwa kila swichi na kwa kontena la kuvuta. Kisha nikahesabu upinzani sawa kwa kila mchanganyiko, isipokuwa kwa wakati vipinga vyote vimezimwa kwani vipinga hawa haitaathiri bila kuwa na chanzo cha nguvu kinachosambaza. Ili kufanya mahesabu yangu kuwa rahisi ili niweze kunakili na kubandika kwa kila mchanganyiko, nilijumuisha mchanganyiko wote katika hesabu kwa kuzidisha kila thamani ya ubadilishaji (0 au 1) na thamani yake ya upinzani iliyogeuzwa. Kufanya hivyo kuliondoa upinzani wake kutoka kwa hesabu ikiwa swichi ilikuwa imezimwa. Usawa unaosababishwa unaweza kuonekana kwenye picha ya lahajedwali, lakini Req = Rx + 1 / (Sw1 / R1 + Sw2 / R2 + Sw3 / R3 + Sw4 / R4 + Sw5 / R5 + Sw6 / R6). Kutumia Itotal = 5V / Req, tunaamua jumla ya sasa kupitia mzunguko. Huu ni sasa huo huo ambao unapitia kontena la Vuta-chini, na hutupatia Voltage kwa Ingizo letu la Analog. Hii imehesabiwa kama Vin = Itotal x Rx. Kuchunguza data zote za Req na data ya Vin, tunaweza kuona kwamba kweli tuna maadili ya kipekee.

Kwa wakati huu, inaonekana kwamba mzunguko wetu utafanya kazi. Sasa kujua jinsi ya kupanga Arduino.

Hatua ya 3: Programu ya Arduino

Programu ya Arduino
Programu ya Arduino
Programu ya Arduino
Programu ya Arduino
Programu ya Arduino
Programu ya Arduino

Nilipoanza kufikiria jinsi ya kupanga Arduino, mwanzoni nilipanga kuanzisha safu za voltage za kibinafsi za kuamua ikiwa swichi ilikuwa imewashwa au imezimwa. Lakini, wakati nilikuwa nimelala kitandani usiku mmoja, ilinitokea kwamba ningeweza kupata equation ya kufanya hivyo. Vipi? EXCEL. Excel ina uwezo wa kuhesabu hesabu kwa data inayofaa zaidi kwenye chati. Ili kufanya hivyo, nitataka mlingano wa Thamani kamili ya swichi (binary) dhidi ya pembejeo ya voltage inayolingana na thamani hiyo. Katika Kitabu changu cha Excel, niliweka Thamani ya Nambari chini upande wa kushoto wa lahajedwali. Sasa kuamua equation yangu.

Hapa kuna mafunzo ya haraka juu ya jinsi ya kuamua equation ya mstari ndani ya Excel.

1) Chagua seli ambayo haina data yoyote. Ikiwa una seli iliyochaguliwa ambayo ina data, Excel itajaribu kudhani ni nini unataka kuelekeza. Hii inafanya kuwa ngumu zaidi kuanzisha mwenendo, kwa sababu Excel mara chache hutabiri kwa usahihi.

2) Chagua kichupo cha "Ingiza" na Chagua chati ya "Kueneza".

3) Bonyeza kulia kwenye kisanduku cha chati na bonyeza "Chagua Takwimu…". Hii itaibuka dirisha la "Chagua Chanzo cha Takwimu". Chagua kitufe cha Ongeza ili uendelee kuchagua data.

4) Ipe Jina la Mfululizo (Hiari). Chagua Range ya X-Axis kwa kubonyeza mshale wa juu kisha uchague data ya Voltage. Chagua safu ya Y-Axis kwa kubonyeza mshale wa juu kisha uchague Takwimu kamili (0-63).

5) Bonyeza Haki kwenye vidokezo vya data na Chagua "Ongeza Mstari wa Mwenendo …" Kwenye "Fomati ya Mstari wa Mwenendo", chagua kitufe cha Polynomial. Kuangalia mwenendo, tunaona kwamba Agizo la 2 halilingani kabisa. Nilichagua Agizo la 3 na nikahisi hii ilikuwa sahihi zaidi. Chagua kisanduku cha kuangalia cha "Onyesha Mlingano kwenye chati". Mlingano wa mwisho sasa umeonyeshwa kwenye chati.

6) Imefanywa.

SAWA. Rudi kwenye mpango wa Arduino. Sasa kwa kuwa tuna equation, programu ya Arduino ni rahisi. Nambari kamili inayowakilisha nafasi za ubadilishaji imehesabiwa katika mstari 1 wa nambari. Kwa kutumia kazi ya "kukanyaga", tunaweza kunyakua dhamana ya kila mtu na hivyo kujua hali ya kila kitufe. (TAZAMA PICHA)

Hatua ya 4: Mizunguko ya TinkerCAD

Mizunguko ya TinkerCAD
Mizunguko ya TinkerCAD

Ikiwa haujaangalia Mizunguko ya TinkerCAD, fanya sasa. Subiri !!!! Maliza kusoma Ninayofundishwa, halafu angalia. Mizunguko ya TinkerCAD hufanya upimaji wa mizunguko ya Arduino iwe rahisi sana. Inajumuisha vitu kadhaa vya umeme na Arduino, hata hukuruhusu kupanga Arduino kwa upimaji.

Ili kujaribu mzunguko wangu, niliweka swichi 6 kwa kutumia pakiti ya kubadili DIP na kuzifunga kwa vipinga. Ili kudhibitisha kuwa thamani ya voltage katika Lahajedwali langu la Excel ilikuwa sahihi, nilionesha voltmeter kwenye Ingizo kwa Arduino. Hii yote ilifanya kazi kama inavyotarajiwa.

Ili kudhibitisha kuwa Programu ya Arduino ilifanya kazi, ninatoa majimbo ya swichi kwa LED, nikitumia matokeo ya dijiti ya Arduino.

Kisha nikabadilisha kila swichi kwa kila mchanganyiko unaowezekana na ninajivunia kusema "INAFANYA KAZI" !!!

Hatua ya 5: "Kwa muda mrefu, na Asante kwa Samaki Wote." (Ref. 1)

Bado sijajaribu kutumia vifaa halisi, kwani hivi sasa ninasafiri kwenda kazini. Lakini, baada ya kuithibitisha na Mizunguko ya TinkerCAD, naamini kwamba itafanya kazi. Changamoto ni kwamba maadili ya vipinga ambayo nimeainisha sio maadili yote ya vipinga. Ili kuzunguka hii, nina mpango wa kutumia potentiometers na mchanganyiko wa vipinga kupata maadili ambayo ninahitaji.

Asante kwa kusoma maelezo yangu. Natumahi kuwa inakusaidia na miradi yako.

Tafadhali acha maoni ikiwa umejaribu kushughulikia kikwazo hiki na jinsi ulivyotatua. Ningependa kujifunza njia zaidi za kufanya hivyo.

Hatua ya 6: Marejeleo

Haukufikiria nitatoa nukuu bila kutoa rejea kwa chanzo chake je!

Ref. 1: Adams, Douglas. Muda mrefu sana, na Asante kwa Samaki Wote. (Kitabu cha 4 cha Mwongozo wa Hitchhiker kwa Galaxy "trilogy")

Ilipendekeza: