Orodha ya maudhui:

Matrix ya Kuonyesha ya 5x4 Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing: Hatua 7
Matrix ya Kuonyesha ya 5x4 Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing: Hatua 7

Video: Matrix ya Kuonyesha ya 5x4 Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing: Hatua 7

Video: Matrix ya Kuonyesha ya 5x4 Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing: Hatua 7
Video: Выключатель с лампочкой. Как подключить 2024, Julai
Anonim
Matrix 5x4 ya Kuonyesha LED Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing
Matrix 5x4 ya Kuonyesha LED Kutumia Stempu ya Msingi 2 (bs2) na Charlieplexing

Je! Una Stempu ya Msingi 2 na taa zingine za ziada za LED zimekaa karibu? Kwa nini usicheze karibu na dhana ya kuchanganyikiwa na kuunda pato ukitumia pini 5 tu.

Kwa mafunzo haya nitatumia BS2e lakini mwanachama yeyote wa familia ya BS2 anapaswa kufanya kazi.

Hatua ya 1: Kuchanganya akili: Je! Ni kwanini, na vipi

Wacha tupate sababu ya kutoka njiani kwanza. Kwa nini utumie shida na Stempu ya Msingi 2? --- Dhibitisho la dhana: Jifunze jinsi uchangamfu unavyofanya kazi na ujifunze kitu kuhusu BS2. Hii inaweza kuwa na faida kwangu baadaye kutumia vidonge vya haraka vya pini 8 (5 tu kati yao itakuwa i / o) - - Sababu muhimu: Kimsingi hakuna. BS2 ni polepole sana kuonyeshwa bila kung'aa dhahiri. Je! Ni shida gani? --- Charlieplexing ni njia ya kuendesha idadi kubwa ya LED zilizo na idadi ndogo ya pini za microprocessor i / o. Nilijifunza juu ya kuchangamsha kutoka www.instructables.com na unaweza pia: Charlieplexing LEDs- nadhariaJinsi ya kuendesha LED nyingi kutoka kwa pini chache za microcontroller. Pia kwenye wikipedia: CharlieplexingNinawezaje kuendesha risasi 20 na pini 5 za i / o? - Tafadhali soma viungo vitatu chini ya Je! Hiyo inaelezea vizuri zaidi kuliko vile nilivyoweza. Charlieplexing ni tofauti na multiplexing ya jadi ambayo inahitaji pini moja ya i / o kwa kila safu na kila safu (hiyo itakuwa jumla ya pini 9 za i / o kwa onyesho la 5/4).

Hatua ya 2: Vifaa vya ujenzi na Mpangilio

Vifaa na Mpangilio
Vifaa na Mpangilio

Orodha ya vifaa: 1x - Stempu ya Msingi 220x - diode nyepesi za taa za aina moja (rangi na kushuka kwa voltage) 5x - vipinga (tazama hapa chini kuhusu thamani ya kipinga) Msaidizi / Hiari: Njia ya kusanikisha kitufe cha kushinikiza cha BS2Momentary kama kubadili upya6v Ugavi wa nguvu kulingana na toleo lako la BS2 (soma mwongozo wako) Mpangilio: Mpangilio huu umewekwa pamoja na mpangilio wa mitambo katika akili. Utaona gridi ya LED iliyowekwa upande wa kushoto, huu ndio mwelekeo ambao nambari ya BS2 imeandikwa. Ona kwamba kila jozi ya LED zina anode iliyounganishwa na cathode ya nyingine. Kisha zinaunganishwa na moja ya pini tano za i / o Thamani za Kusimamisha: Unapaswa kuhesabu maadili yako ya kupinga. Angalia data ya mwangaza ya LED zako au tumia mpangilio wa LED kwenye multimeter yako ya dijiti ili kupata kushuka kwa voltage ya LED zako. Wacha tufanye mahesabu kadhaa: Voltage ya Ugavi - Voltage Drop / Inayotakiwa Sasa = Thamani ya Resistor BS2 hutoa nguvu ya 5v iliyodhibitiwa, na inaweza kupata 20ma ya sasa. LED zangu zina tone la 1.6v na hufanya kazi kwa 20ma.5v - 1.6v /.02amps = 155ohms Ili kulinda BS2 yako unapaswa kutumia thamani inayofuata ya kipinga kutoka kwa kile unachopata na hesabu, katika kesi hii naamini itakuwa 180ohms. Nilitumia 220ohms kwa sababu bodi yangu ya maendeleo ina thamani hiyo ya kontena iliyojengwa ndani yake kwa kila pini ya i / o. KUMBUKA: Ninaamini kwamba kwa kuwa kuna kontena kwenye kila pini hii inazidisha upinzani kwa kila kuongozwa kwani pini moja ni V + na nyingine ni Gnd. Ikiwa ndio kesi unapaswa kupunguza maadili ya kupinga kwa nusu. Athari mbaya ya kiwango cha juu cha kupinga ni mwangaza wa LED. Je! Mtu anaweza kudhibitisha hii na kuniachia PM au kutoa maoni ili nipate kusasisha habari hii? Programu: Nimekuwa nikitumia bodi ya maendeleo ambayo ina kiunganishi cha DB9 kupanga chip moja kwa moja kwenye bodi. Ninatumia pia chip hii kwenye ubao wangu mdogo wa mkate na nimejumuisha kichwa cha Circuit Serial Programming (ICSP). Kichwa ni pini 5, pini 2 hadi 5 unganisha na pini 2-5 kwenye kebo ya serial ya DB9 (Pin 1 haitumiki). Tafadhali kumbuka kuwa kutumia pini za kichwa cha ICSP 6 na 7 kwenye kebo ya DB9 lazima ziunganishwe kwa kila mmoja. Rudisha: Kitufe cha kuweka upya cha kushinikiza kwa muda sio lazima. Hii inavuta pini 22 chini wakati inasukuma.

Hatua ya 3: Bodi ya mkate

Bodi ya mkate
Bodi ya mkate
Bodi ya mkate
Bodi ya mkate

Sasa ni wakati wa kujenga tumbo kwenye ubao wa mkate. Nilitumia kamba ya terminal kuunganisha mguu mmoja kutoka kwa kila jozi iliyoongozwa pamoja na waya ndogo ya kuruka kuunganisha miguu mingine. Hii imefafanuliwa katika picha ya karibu na inaelezewa kwa kina hapa: 1. Elekeza ubao wako wa mkate ulingane na picha kubwa2. Weka LED 1 na Anode (+) kuelekea wewe na Cathode (-) mbali na wewe. Weka LED 2 katika mwelekeo sawa na Anode (+) kwenye ukanda wa terminal unaounganisha wa cathode ya 1 LED. Tumia waya ndogo ya kuruka kuunganisha Anode ya LED 1 na Cathode ya LED 2.5. Rudia hadi kila jozi ya LED imeongezwa kwenye ubao. Ninatumia ambayo kawaida itakuwa vipande vya basi la nguvu la bodi ya mkate kama vipande vya basi kwa pini za BS2 I / O. Kwa sababu kuna vipande 4 tu vya basi mimi hutumia ukanda wa terminal kwa P4 (unganisho la tano la I / O). Hii inaweza kuonekana kwenye picha kubwa hapa chini. Unganisha ukanda wa wastaafu kwa cathode ya LED 1 kwa ukanda wa basi wa P0. Rudia kila LED isiyo ya kawaida iliyobadilisha P * inayofaa kwa kila jozi (angalia skimu).7. Unganisha ukanda wa terminal kwa cathode ya LED 2 kwa ukanda wa basi wa P1. Rudia kila LED isiyo ya kawaida iliyobadilisha P * inayofaa kwa kila jozi (angalia skimu).8. Unganisha kila ukanda wa basi kwa pini inayofaa ya I / O kwenye BS2 (P0-P4).9. Angalia miunganisho yote ili kuhakikisha inalingana na skimu. KUMBUKA: Katika ukaribu utaona kuwa haionekani kuwa nilifuata hatua ya 7 kwani unganisho kwa pini ya pili ya I / O iko kwenye Anode ya LED zilizo na idadi isiyo ya kawaida. Kumbuka kwamba Cathode ya LED zilizo na nambari hata imeunganishwa na Anode ya LED zilizo na idadi isiyo ya kawaida kwa hivyo unganisho ni njia ile ile. Ikiwa barua hii inakuchanganya, puuza tu.

Hatua ya 4: Misingi ya Programu

Kwa uchangamano wa kufanya kazi unawasha moja tu iliyoongozwa kwa wakati mmoja. Ili hii ifanye kazi na BS2 yetu tunahitaji hatua mbili za kimsingi: 1. Weka njia za pato kwa pini kwa kutumia amri ya OUTS. Mwambie BS2 ni pini zipi zinazotumiwa kama matokeo kutumia amri ya DIRS Hii inafanya kazi kwa sababu BS2 inaweza kuambiwa ni pini gani za kuendesha juu na chini na itasubiri kufanya hivyo mpaka ueleze ni pini zipi zinazotolewa. Wacha tuone ikiwa mambo yameunganishwa kwa usahihi na kujaribu tu kupepesa LED 1. Ukiangalia skimu unaweza kuona kwamba P0 imeunganishwa na Cathode (-) ya LED 1 na P1 imeunganishwa kwa Anode ya LED hiyo hiyo. Hii inamaanisha tunataka kuendesha P0 chini na P1 juu. Hii inaweza kufanywa kama hivyo: "OUTS =% 11110" ambayo inasukuma P4-P1 juu na P0 chini. (% Inaonyesha nambari ya binary inapaswa kufuata. Nambari ya chini kabisa ya binary iko kulia kila wakati. 0 = LOW, 1 = HIGH BS2 huhifadhi habari hiyo lakini haitaifanyia kazi hadi tutakapotangaza ni pini zipi zinazotokana. Hatua hii ni muhimu kwani pini mbili tu zinapaswa kuwa matokeo kwa wakati mmoja. Zilizobaki zinapaswa kuwa pembejeo, ambazo huweka pini hizo kwa hali ya Impedance ya Juu ili zisizame mkondo wowote. Tunahitaji kuendesha P0 na P1 kwa hivyo tutaweka hizo kwenye matokeo na zingine kwenye pembejeo kama hii: "DIRS =% 00011". (% Inaonyesha nambari ya binary inapaswa kufuata. Nambari ya chini kabisa ya binary iko kulia kila wakati. 0 = INPUT, 1 = OUTPUT) Wacha tuweke pamoja katika nambari muhimu: '{$ STAMP BS2e}' {$ PBASIC 2.5} DO OUTS =% 11110 'Drive P0 low and P1-P4 high DIRS =% 00011' Set P0- P1 kama Pato na P2-P4 kama Pembejeo PAUSE 250 'Pumzika kwa LED kubaki kwenye DIRS = 0' Weka pini zote kwenye Ingizo. Hii itazima pause ya LED PAUSE 250 'ili LED ibaki mbali

Hatua ya 5: Mzunguko wa Maendeleo

Sasa kwa kuwa tumeona wakati mmoja wa kazi ya pini kuhakikisha kuwa zote zinafanya kazi.20led_Zig-Zag.bseNambari hii iliyoambatanishwa inapaswa kuwasha kila moja ya LEDs 20 kwa muundo wa zig-zag. Utagundua kuwa baada ya kila pini kuwasha pipa mimi hutumia "DIRS = 0" kugeuza pini zote kuwa pembejeo. Ukibadilisha OUTS bila kuzima pini za pato unaweza kupata "mzuka" ambapo mwongozo ambao haupaswi kuwashwa unaweza kupepesa kati ya mizunguko. Kama utabadilisha ubadilishaji wa W1 mwanzoni mwa nambari hii kuwa "W1 = 1" hapo itakuwa pause 1 millisecond tu kati ya kila mwangaza wa LED. Hii itasababisha kuendelea kwa athari ya maono (POV) ambayo inafanya ionekane kama taa zote zinawashwa. Hii ina athari ya kutengeneza taa za LED kupunguka lakini ndio kiini cha jinsi tutakavyoonyesha wahusika kwenye tumbo hili. LED katika muundo unaoweza kutumika. Faili hii ni jaribio langu la kwanza. Utaona kwamba chini ya faili wahusika wamehifadhiwa katika mistari minne ya nambari 5 za binary. Kila mstari unasomwa ndani, kuchanganuliwa, na subroutine inaitwa kila wakati elekezi inahitaji kuwashwa. Nambari hii inafanya kazi, baiskeli kupitia nambari 1-0. Ukijaribu kuitumia angalia kuwa inakabiliwa na kiwango cha polepole sana cha kuburudisha na kusababisha wahusika kuangaza karibu polepole sana kutambuliwa. Nambari hii ni mbaya kwa sababu nyingi. Kwanza, nambari tano za binary huchukua chumba kingi katika EEPROM kama tarakimu 8 za binary kwani habari zote zimehifadhiwa katika vikundi vya bits nne. Pili, KESI YA UCHAGUZI inayotumiwa kuamua ni pini gani inahitaji kuwashwa inahitaji kesi 20. BS2 imepunguzwa kwa kesi 16 kwa kila operesheni ya SELECT. Hii inamaanisha ilibidi nizuie juu ya upeo huo na taarifa ya IF-THEN-ELSE. Lazima kuwe na njia bora. Baada ya masaa machache ya kukwaruza kichwa nikagundua.

Hatua ya 6: Mtafsiri Bora

Kila safu ya tumbo yetu inajumuisha LED 4, kila moja inaweza kuwashwa au kuzimwa. BS2 huhifadhi habari katika EEPROM yake katika vikundi vya bits nne. Uwiano huo unapaswa kufanya mambo iwe rahisi sana kwetu. Kwa kuongeza ukweli huu, bits nne zinahusiana na nambari za decimal 0-15 kwa jumla ya uwezekano 16. Hii inafanya au KUCHAGUA KESI iwe rahisi zaidi. Hapa kuna nambari 7 kama ilivyohifadhiwa kwenye EEPROM: '7% 1111,% 1001,% 0010,% 0100,% 0100, Kila safu ina usawa wa decimal hadi 0-15 kwa hivyo tunasoma safu kutoka kwa kumbukumbu na uilishe moja kwa moja kwa kazi ya KESI YA CHAGUA. Hii inamaanisha kuwa tumbo linaloweza kusomwa la kibinadamu linalotumiwa kutengeneza kila herufi (1 = imeongozwa, 0 = imeongozwa) ni ufunguo wa mkalimani. Ili kutumia KESI ile ile ya UCHAGUZI kwa kila safu 5 ambazo nilitumia kesi nyingine ya kuchagua kuweka DIRS na OUTS kama vigeuzi. Nilisoma kwanza katika kila moja ya mistari mitano ya mhusika kwa anuwai ya ROW1-ROW5. Programu kuu kisha inaita subroutine kuonyesha tabia. Subroutine hii inachukua safu ya kwanza na kupeana mchanganyiko unaowezekana wa OUTS kutofautisha outp1-outp4 na mchanganyiko unaowezekana wa DIRS kwa direc1 & direc2. LED zinaangaza, kaunta ya safu imeongezwa, na mchakato huo huo unaendeshwa kwa kila safu zingine nne. Hii ni haraka sana kuliko programu ya mkalimani wa kwanza. Hiyo inasemwa, bado kuna flicker inayoonekana. Angalia video, kamera hufanya flicker kuonekana mbaya zaidi lakini unapata wazo. Kuhamisha dhana hii kwa chip ya haraka sana, kama picMicro au chip ya AVR itawezesha kuonyesha wahusika hawa bila kung'ara dhahiri.

Hatua ya 7: Wapi Kutoka hapa

Sina kinu cha cnc au vifaa vya kuchora kutengeneza bodi za mzunguko kwa hivyo sitakuwa na wiring mradi huu. Ikiwa una kinu na una nia ya kushirikiana kusonga mbele kutoka hapa, nitumie ujumbe. Ningefurahi kulipia vifaa na usafirishaji hata furaha zaidi kuonyesha kitu cha bidhaa iliyomalizika kwa mradi huu.

Uwezekano mwingine: 1. Bandari hii kwenda kwenye chip nyingine. Ubunifu huu wa tumbo unaweza kutumika na chip yoyote ambayo ina pini 5 za i / o zinazopatikana ambazo zina uwezo wa hali tatu (pini ambazo zinaweza kuwa za juu, za chini, au pembejeo (impedance ya juu)). 2. Kutumia chip haraka (labda AVR au picMicro) unaweza kuongeza kiwango. Kwa chip 20pin unaweza kutumia pini 14 kwa charlieplex onyesho la 8x22 na utumie pini zilizobaki kupokea amri za serial kutoka kwa kompyuta au mtawala mwingine. Tumia vidonge vitatu zaidi vya pini 20 na unaweza kuwa na onyesho la kusogeza ambalo ni 8x88 kwa jumla ya herufi 11 mara moja (kulingana na upana wa kila mhusika bila shaka). Bahati nzuri, furahiya!

Ilipendekeza: