Orodha ya maudhui:
- Vifaa
- Hatua ya 1: Algorithms 101
- Hatua ya 2: Algorithms
- Hatua ya 3: Bar ya LED: 3D Chapisha Mask
- Hatua ya 4: Njia mbadala za Baa ya LED
- Hatua ya 5: Ufungaji wa Baa ya LED
- Hatua ya 6: Jopo la Kudhibiti
- Hatua ya 7: Kuunganisha vifungo
- Hatua ya 8: Encoder ya Rotary
- Hatua ya 9: Uonyesho wa sehemu 7
- Hatua ya 10: Bodi kuu ya Mdhibiti
- Hatua ya 11: Mkutano
- Hatua ya 12: Kanuni
- Hatua ya 13: Jinsi ya Kutumia
Video: Mashine ya Algorithm: Hatua 13 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:50
Nimekuwa nikifundisha sayansi ya kompyuta katika kiwango cha vyuo vikuu kwa miaka 15, na ingawa utaalam wangu uko kwenye upande wa programu, bado ninatumia wakati mwingi kufunika viwango vya kawaida vya kutafuta na kuchagua. Kutoka kwa mtazamo wa kufundisha suala kuu ni ugumu wa kihesabu: je! Algorithm inahitaji muda gani, ikipewa mchango wa saizi fulani? Lakini kuna nuances nyingi. Kwa mfano, je! Algorithms ina wakati tofauti wa kukimbia kulingana na maadili maalum ya kuingiza (tofauti na saizi)? Katika kesi gani unaweza kuchagua upangaji wa algorithm zaidi ya nyingine? Ingawa tunajadili maswala haya katika kifikra, kila mara iliniumiza kwamba hakukuwa na njia rahisi ya kuona jinsi algorithms tofauti zinavyofanya kazi chini ya hali anuwai.
Malengo
Lengo langu kuu la mradi huu lilikuwa kuunda onyesho la maingiliano kwa wanafunzi kuibua na kuchunguza algorithms. Nilijizuia kwa algorithms ambayo inafanya kazi kwa safu ya nambari (nambari), kwa hivyo naweza kutumia ukanda wa RGB wa kushughulikia wa LED kuibua yaliyomo kwenye safu. Safu hiyo ina vitu 100, na kila nambari imewekwa kwa rangi kwa mpangilio wa upinde wa mvua, ili iwe dhahiri mara moja safu inapopangwa, kupangwa sehemu, au kubahatishwa. Kwa kuongezea maadili, hata hivyo, nilitaka njia ya kuibua mambo ya udhibiti wa algorithm - kwa mfano, ni vitu vipi vya safu ambavyo hivi sasa vinalinganishwa au kubadilishwa.
Malengo maalum ni:
- Toa anuwai ya kutafuta na kuchagua algorithms
- Tazama maadili katika safu kwa njia inayoangazia maendeleo ya algorithm
- Taswira ya kudhibiti algorithm; haswa, vitu vinavyozingatiwa.
- Ruhusu watumiaji wachague mifumo ya data ya uingizaji badala ya kila wakati kuzalisha maadili ya nasibu
- Ruhusu watumiaji kudhibiti kasi na kusitisha algorithm
- Ruhusu watumiaji kulazimisha kesi bora, mbaya zaidi, tabia ya wastani-kesi (maalum ya algorithm)
- Onyesha idadi ya hatua kadri algorithm inavyoendelea
Taswira
Kutoka kwa mtazamo wa muundo wa mwili sehemu ya kupendeza ya mradi huu ni taswira ya safu. Nilijitahidi jinsi ya kuonyesha data na udhibiti, na jinsi ya kujenga kifaa cha kuonyesha yenyewe. Lengo langu lilikuwa kuonyesha maadili ya data kama miduara ya rangi na vidokezo vya kudhibiti kama mishale yenye rangi ambayo inaelekeza kwa maadili ya data. Baada ya majaribio kadhaa nilikaa kwenye muundo na vipande viwili vinavyolingana vya LED za RGB 100 (WS2812) na kinyago cha duara juu ya kila data ya LED na kinyago cha pembe tatu juu ya kila udhibiti wa LED. Nilitengeneza mfano wa 3D wa kinyago na jozi 10 za duru na pembetatu, na kisha 3D ikachapisha moduli 10 kati ya hizi kwa jumla ya duru 100 na pembetatu 100. Ukubwa na nafasi ya kinyago changu imeundwa kwa vipande na LEDs 100 kwa kila mita. Faili za mfano wa 3D hutolewa baadaye katika maelezo haya.
Elektroniki na ua
Wengine wa kifaa ni moja kwa moja, kutoka kwa mtazamo wa umeme. Mbali na vipande viwili vya LED, kuna rundo la vifungo vya kitambo, encoder ya rotary (ya kudhibiti kasi), na onyesho la sehemu 7 (kuonyesha hatua). Na vifungo na vidhibiti vingi nilichagua kutumia microcontroller ya ESP32 kwa sababu inadhihirisha pini nyingi na kwa sababu ina nguvu. Nitaenda juu ya mkakati wa wiring, lakini ni ya msingi sana. Labda unaweza kufanya kitu kizuri na rejista za mabadiliko ikiwa unataka kutumia pini chache.
Unaweza kujenga kiambatisho cha kifaa hiki katika aina tofauti. Hapo awali niliifikiria kama bodi kubwa ya mstatili na ukanda wa LED juu, na gridi ya vifungo katikati. Fomu niliyoishia nayo imeongozwa na aina ya maoni ya 1960 ya teknolojia ya umri wa nafasi. Unaweza pia kuijenga na vipande vya LED katika mwelekeo wa wima. Au fanya sehemu ya LED iwe kubwa zaidi - jaza ukuta mzima - na jopo tofauti la kudhibiti.
Programu
Nambari ya kifaa hiki inapatikana kwa uhuru kwenye GitHub, na nimefanya bidii kuandika jinsi inavyofanya kazi na jinsi ya kuisanidi. Maktaba ya nje unayohitaji ni FastLED kuendesha viti vya WS2812.
Vifaa
Umeme
1 Bodi ya maendeleo ya ESP32 (kwa mfano, 2 WS2812 au vipande sawa vya LED, wiani wa LED 100 kwa kila mita (kwa mfano, Kitufe 1 cha "kuanza" kwa pembetatu (k.m., Vifungo 12 vya muda mfupi (kwa mfano, https://amzn.com/B01N4D4750) - maumbo tofauti ikiwa unataka
Kifurushi 1 (20) viunganisho vya vifungo vilivyowekwa awali (k.m., Viunganishi 1 vya Pakiti za JST (k.m., Kisimbuzi cha Rotary (k.m., Knob ya kisimbuzi cha rotary (k.m., Viunganisho vya Pakiti 1 vya Dupont (kwa mfano, https://amzn.com/B014YTPFT8) - inafaa kupata zana ya kukandamiza pia.
1 Pipa jack (kwa nguvu) (kwa mfano, Onyesho la nambari 1 TM1637 7 (k.m., Soldering na wiring gear
Faili za mfano wa 3D
Unaweza kupata kielelezo cha 3D kwa jozi ya moduli 10 za taa kwenye Thingiverse:
www.thingiverse.com/thing:4178181
Utahitaji kuchapisha mtindo huu mara tano kwa jumla ya moduli 10.
Programu
github.com/samguyer/AlgorithmMachine
Ufungaji
Wood, plexiglass, bolts chuma cha pua na screws
Vifaa vya kueneza. Ninapenda zaidi ni Lee Filters # 216 kueneza kamili nyeupe, lakini kuna chaguzi zingine. Hata karatasi nyeupe nyeupe hufanya kazi nzuri.
Hatua ya 1: Algorithms 101
Watu wengi wanafikiria kuwa sayansi ya kompyuta kimsingi ni masomo ya programu. Lakini moyo na roho halisi ya uwanja huu ni algorithms: utafiti wa taratibu za kimfumo za kutatua shida na gharama zao (kawaida, huchukua muda gani). Takwimu za semina kwenye uwanja huo, kama Alan Turing, Kanisa la Alonzo, na Edsger Dijkstra, walikuwa wakifikiria juu ya maoni haya kabla ya kompyuta kwani tunajua hata yalikuwepo.
Kipengele muhimu cha algorithm ya kutatua shida fulani ni kwamba ni ya kina na sahihi, ili mtu atumie kupata suluhisho bila kuelewa jinsi inavyofanya kazi kabisa; fuata tu hatua kwa mtindo wa mitambo na utapata jibu sahihi. Unaweza kuona jinsi hii inasaidia na programu za kompyuta, kwani zinahitaji kiwango hiki cha maelezo. Kompyuta haiwezi kujaza maelezo yaliyokosekana au kutoa hukumu, kwa njia ambayo mtu anaweza.
Itachukua muda gani?
Mara tu tutakapokuwa na utaratibu wa kina swali la asili ni je, itachukua muda gani kupata jibu? Hatuwezi kutumia vitengo vya kawaida vya wakati, kwani inategemea ni nani anayefanya kazi hiyo (linganisha jinsi mtu anavyoweza kuhesabu kitu kwa kasi dhidi ya kompyuta ndogo). Kwa kuongeza, inategemea tuna data ngapi. Kwa wazi, inachukua muda mrefu kutafuta orodha ya nambari milioni za simu kuliko orodha ya mia moja.
Kuelezea gharama ya algorithm sisi kwanza huchukua operesheni kadhaa kwa utaratibu ambao unawakilisha "hatua" moja - kawaida kitu rahisi, kama kulinganisha au kuongeza nambari mbili, ambayo inachukua muda uliowekwa wa kufanya. Kisha tunakuja na fomula ambayo inaelezea hatua ngapi algorithm itachukua ikipewa idadi kadhaa ya vitu vya data. Kwa sababu za kihistoria, karibu kila wakati tunaashiria idadi ya vitu vya data na mtaji N.
Kwa mfano, kuangalia kupitia orodha ya N namba za simu huchukua hatua N. Kuangalia orodha mara mbili kunachukua hatua 2N. Zote hizi zinaitwa algorithms ya wakati wa kawaida - idadi ya hatua ni anuwai ya saizi ya kuingiza. Algorithms zingine ni quadratic (N mraba wakati) au ujazo (N cubed) au logarithmic (log N) au mchanganyiko wa hizi. Shida zingine ngumu zaidi za hesabu zinahitaji algorithms ya muda wa ufafanuzi (2 ^ N).
Sawa, kwa hivyo ni nini?
Wakati idadi ya vitu vya data N ni ndogo haijalishi sana. Kwa mfano, kwa N = 10, 10N ni jina kama N mraba. Lakini vipi kuhusu N = 1000? au N = 1000000? Milioni mraba ni idadi kubwa sana. Hata kwenye kompyuta ya haraka sana, hesabu ya quadratic inaweza kuchukua muda mrefu ikiwa pembejeo ni kubwa vya kutosha. Algorithms ya ufafanuzi ni shida zaidi: kwa N = 50 algorithm ya kielelezo itachukua wiki mbili kumaliza hata kwenye kompyuta ambapo kila hatua ni nanosecond moja (bilioni 1 ya sekunde). Ouch!
Katika mwisho mwingine wa kiwango tuna algorithms ya wakati wa logarithm, ambayo ni haraka sana. Wakati wa kuingia ni kinyume cha wakati wa ufafanuzi: kutokana na saizi ya pembejeo N, idadi ya hatua ni kiboreshaji T katika fomula 2 ^ T = N. Kwa mfano, ikiwa saizi yetu ya kuingiza ni bilioni moja, basi hesabu ya wakati wa logi inahitaji 30 tu hatua, kwani 2 ^ 30 = 1, 000, 000, 000. Je! hiyo ni tamu gani?! ??!
Unaweza kujiuliza, ni nani anayejali saizi za pembejeo za mamilioni au mabilioni? Fikiria juu yake: kuna watumiaji wangapi kwenye Facebook? Je! Kuna kurasa ngapi za wavuti zilizoorodheshwa na Google? Je! Kuna jozi ngapi za msingi katika genome ya mwanadamu? Je! Ni vipimo vipi vinaenda katika masimulizi ya hali ya hewa?
Hatua ya 2: Algorithms
Mashine ya Algorithm kwa sasa inatekeleza algorithms zifuatazo. Mbili kati yao ni algorithms za utaftaji (pata thamani fulani kwenye orodha), zingine zinachambua algorithms (weka maadili kwa mpangilio).
Utafutaji wa mstari
Tafuta kupitia orodha ya maadili moja kwa moja kuanzia mwanzo. Inahitaji wakati wa mstari.
Utafutaji wa binary
Tafuta orodha kwa kuigawanya mara mbili nusu. Inahitaji muda wa kumbukumbu, lakini orodha lazima ipangwe ili ifanye kazi.
Aina ya Bubble
Panga orodha orodha inayobadilishana vitu vya jirani ambavyo haviko sawa. Inahitaji wakati wa quadratic.
Aina ya uingizaji
Panga orodha kwa kuweka kila kitu mahali pake kwenye orodha ya maadili yaliyopangwa tayari. Inahitaji wakati wa quadratic.
Haraka
Panga orodha kwa kugawanya orodha mara kwa mara na kusogeza maadili yote chini ya wastani hadi nusu ya kwanza, na maadili yote makubwa kuliko wastani hadi nusu ya pili. Kwa mazoezi, hatuwezi kupata wastani wa wastani, kwa hivyo tunachukua thamani bila mpangilio. Kama matokeo hii algorithm inaweza kuwa quadratic katika hali mbaya, lakini kawaida inahitaji N * logN wakati.
Unganisha aina
Panga orodha kwa kuigawanya kwa nusu, ukipanga nusu mbili kando (kwa kutumia unganisha aina), na kisha uziunganishe pamoja kwa kuacha maadili. Daima inahitaji wakati wa N * logN.
Aina ya lundo
Panga orodha kwa kujenga muundo wa data uitwao lundo, ambayo hukuruhusu kupata thamani ndogo kabisa kwa wakati wa logi. Daima inahitaji wakati wa N * logN.
Aina ya Bitonic
Sawa na kuunganisha aina na upesi, gawanya orodha kwa nusu, panga nusu, na uzichanganishe tena. Algorithm hii inahitaji muda wa N * logN * logN, lakini ina faida kwamba ni rahisi kulinganisha.
Hatua ya 3: Bar ya LED: 3D Chapisha Mask
Hatua ya kwanza katika kujenga bar ya LED ni kuchapisha 3D kinyago ambacho kinatoa taa umbo lao. Kila moduli inashughulikia vitu kumi vya safu, maadili 10 (miduara) na viashiria 10 (pembetatu), kwa hivyo utahitaji moduli 10 kabisa. Faili ya STL ninayotoa hapa ina matukio mawili ya moduli, kwa hivyo utahitaji kufanya mizunguko mitano ya kuchapisha. Sina printa bora ya 3D, kwa hivyo ilibidi nifanye usafishaji wa mwongozo juu yao kwa kutumia faili na sandpaper. Jambo muhimu zaidi ni kwamba mashimo ya mviringo na pembetatu ni safi.
Katika picha utaona usanidi wangu wa jaribio: nilibandika vipande viwili vya LED chini na kuziunganisha kwenye ubao wa mkate na mdhibiti mdogo. Hatua hii sio lazima, lakini nilitaka kuona jinsi itakavyoonekana kabla ya kuanza kukusanyika. Niliweka moduli za kinyago kwenye vipande viwili vya LED na nikachora mchoro rahisi na rangi za nasibu. Na ukanda wa nyenzo za kueneza maumbo na rangi huibuka sana.
Hatua ya 4: Njia mbadala za Baa ya LED
Nilipoanza mradi huu kwa mara ya kwanza nilijaribu njia zingine za kutengeneza kinyago cha LED. Ikiwa huna printa ya 3D unaweza kuzingatia moja ya chaguzi hizi. Nitakuwa mwaminifu: ni maumivu makubwa kutengeneza sehemu hizi.
Kwa miduara, nilinunua bomba la shaba la 13/32, ambalo ni karibu kipenyo cha 1cm. Niliikata katika sehemu mia 1cm kisha nikanyunyizia rangi nyeupe.
Kwa pembetatu, nilitumia karatasi ya alumini yenye uzito mzito iliyokatwa kutoka kwenye sufuria ya kuoka inayoweza kutolewa. Nilitengeneza fomu ya pembetatu kutoka kwa kuni, kisha nikafunga vipande vifupi vya karatasi kuzunguka fomu na kuzipiga. Tena, utahitaji mia ya vitu hivi, kwa hivyo inachukua muda na uvumilivu.
Hatua ya 5: Ufungaji wa Baa ya LED
Kizuizi changu ni rahisi sana: vipande viwili vya kuni kwa pande na vipande viwili vya glasi kwa juu na chini. Sehemu zote zina urefu wa 102cm (mita 1 kwa taa za LED, pamoja na nyongeza kidogo ili kubeba wiring). Pande zinapaswa kuwa ndefu kidogo kuliko 1cm ili kutoa nafasi ya vipande vya LED. Baada ya kukata vipande niliweka vipande vya maski vilivyochapishwa vya 3D kati yao kupima upana wa glasi ya macho. Kata vipande viwili vya plexiglass upana na urefu wa bar. Mwishowe, kata kipande cha nyenzo za kueneza ili kutoshea kinyago.
Kwa usambazaji napenda sana Vichungi vya Lee # 216 (kueneza kamili nyeupe). Ni karatasi nyembamba ya plastiki ambayo hutoa hata kueneza bila kupoteza nuru nyingi. Lakini ni vitu vya gharama kubwa. Wakati mwingine unaweza kupata karatasi ndogo za kuuza mkondoni, lakini roll nzima itakurudisha nyuma karibu $ 125. Chaguzi zingine ni karatasi nyeupe au aina yoyote ya satin au plastiki iliyohifadhiwa. Chaguo maarufu ni mikeka nyembamba ya kukata plastiki.
Kabla ya kukusanya bar ya LED hakikisha una viunganisho vinavyofaa vilivyouzwa kwa vipande vya LED. Vipande vingi huja na risasi zilizouzwa kabla, kwa hivyo unaweza kutumia tu hizo.
Nilianza mkutano kwa kukataza kipande cha juu cha plexiglass kwenye pande za mbao (angalia picha). Kisha nikaipindua na kuweka ukanda wa kueneza ndani, ikifuatiwa na vipande 10 vya kinyago. Mara moja nilifurahi na nafasi niliyoibandika mahali na nukta kadhaa za gundi moto.
Ifuatayo, weka vipande viwili vya LED kando kando juu ya vinyago. Hakikisha taa za LED zinatazama chini na hakikisha kila LED inaambatana na shimo linalofanana kwenye kinyago. Ongeza gundi au mkanda moto kushikilia vipande vya LED mahali pake. Mwishowe, piga kipande cha nyuma cha glasi ya macho.
Endesha muundo wa jaribio. Kazi nzuri! Umefanya sehemu ngumu zaidi!
Hatua ya 6: Jopo la Kudhibiti
Jopo la kudhibiti ni sehemu ambayo inatoa uhuru zaidi wa ubunifu. Inahitaji tu kushikilia udhibiti wote na vifaa vya elektroniki, pamoja na bar ya LED. Ubunifu rahisi ni bodi za mstatili: kuchimba mashimo kwa vifungo na vidhibiti, na ambatisha bar ya LED. Ninapenda kuchanganya kuni, plexiglass, na vifaa vingine kutoa aina ya muonekano wa steampunk / retro-kisasa. Katika kesi hii, nilikata kipande cha plexiglass ya kazi nzito ili kushikilia vifungo kuu vya kuchagua algorithm, na bar ya mbao kushikilia vifaa vyote vya elektroniki. Nilichimba mashimo ili kufanana na saizi ya vifungo vya uwanja. Wiring inaonyesha nyuma, lakini naipenda!
Pia nilichimba nafasi ya maonyesho ya sehemu 7, encoder ya rotary, na wiring zingine nyuma. Nilikata dado kwa juu kushikilia bar ya LED.
Hatua ya 7: Kuunganisha vifungo
Wiring vifungo vingi inaweza kuwa maumivu ya kweli. Kwa bahati nzuri, watu wanaotengeneza mashine za ukumbi wa michezo wamekuja na viungio kadhaa vya kawaida ambavyo unaweza kutumia. Kila kebo ya kiunganishi cha vifungo ina waya mbili, moja kwa VCC na moja ya ardhi. Mwisho mmoja una viunganisho vya jembe ambavyo vinafaa vielekezi nyuma ya kitufe - ambatisha ardhi kwa risasi "kawaida wazi", na VCC kwa risasi "ya kawaida". Katika usanidi huu, wakati mtumiaji anasukuma kitufe, mzunguko umekamilika na mdhibiti mdogo atasoma JUU juu ya pini ya kuingiza inayolingana.
Mwisho mwingine wa kebo una kiunganishi cha JST (kitu cheupe kidogo). Kilicho nzuri juu ya viunganisho hivi ni kwamba wanaingia tu kwenye kipokezi kwa njia moja, kwa hivyo hakuna njia ya kugeuza VCC na ardhi kwa bahati mbaya.
Kile nilichofanya ni kujenga kuunganisha kidogo kwa viunganisho hivi. Niliuza safu kadhaa za viboreshaji vya JST kwenye kipande cha protoboard na kisha kukimbia waya kurudi kwa viunganisho vya Dupont ambavyo nitaunganisha kwenye microcontroller. Waya nyekundu ni laini ya VCC, na inaunganisha kwa vyombo vyote vya JST. Waya za hudhurungi ndizo ambazo zimetengwa kwa kila kitufe.
Hatua ya 8: Encoder ya Rotary
Encoder ya rotary inamruhusu mtumiaji kudhibiti kasi ya algorithm. Ninatumia moduli ambayo huja kama bodi ya kuzuka ambayo inajumuisha vipinga-kuvuta kwa laini mbili za data (waya za manjano). Hii pia ni kifungo, lakini situmii huduma hiyo. Waya nyingine mbili ni VCC na chini. Nilipata kitasa kizuri cha mafuta.
Kile ninachopenda juu ya kisimbuzi cha rotary, tofauti na potentiometer, ni kwamba inaashiria tu kuzunguka (saa moja kwa moja dhidi ya saa-kwenda) kwa mdhibiti mdogo, kwa hivyo ni rahisi kubadilisha jinsi thamani hiyo inavyotafsirika. Kwa mfano, unaweza kuipa hali ya kuongeza kasi (kama panya) wakati mtumiaji anaizunguka haraka.
Hatua ya 9: Uonyesho wa sehemu 7
Sio mengi ya kusema hapa. Vitu hivi viko kila mahali. LED zinadhibitiwa na chip inayoitwa TM1637, ambayo inawasiliana na microcontroller kupitia itifaki rahisi ya serial. Ninatumia maktaba iliyopo ambayo iniruhusu niiambie nambari gani ninayotaka kuonyesha, na inafanya zingine.
Nyuma ina pini nne: VCC, ardhi, na waya mbili kwa itifaki ya serial. Niliuza kipande cha kichwa cha pini 4, ambacho kinaunganisha kwa kiunganishi kinachofanana cha Dupont kilichopigwa waya kwa mdhibiti mdogo.
Hatua ya 10: Bodi kuu ya Mdhibiti
Bodi kuu ya mtawala hukaa microcontroller yenyewe na viunganisho vyote kwa vidhibiti (vifungo, onyesho, LEDs). Mdhibiti mdogo ni ESP32, ambayo hutoa nguvu nyingi za kompyuta na kumbukumbu, na hufunua pini nyingi. Wiring ni ya kiwango kizuri, lakini nitaonyesha bits kadhaa za kupendeza.
KUMBUKA: Unaweza kutaka kuangalia nambari (https://github.com/samguyer/AlgorithmMachine) kabla ya kuanza wiring bodi kuu, ili usanidi wako wa pini ulingane na yangu.
Niliuza pipa kwenye ubao kwa nguvu, na niliunganisha nyaya mbili za shaba kwa nguvu na reli za chini za bodi. Sababu ni kwamba bar ya LED inaweza kuchora nguvu nyingi ikiwa mwangaza umewekwa juu, na sitaki kuvuta nguvu zote kupitia kontakt USB kwenye microcontroller.
Ili kurahisisha wiring ya kitufe nilibadilisha kipande cha kichwa cha pembe ya kulia ya mwanamume na mwanamke chini ya upande mzima wa mdhibiti mdogo (upande wa juu wa bodi kama inavyoonyeshwa). Viunganishi vya Dupont kutoka kwenye kifungo cha kuunganisha kifungo moja kwa moja kwenye kichwa hiki.
MUHIMU: nguvu ya vifungo (waya nyekundu) lazima iunganishwe na laini ya umeme ya 3.3V kwenye microcontroller. ESP32 ni chip ya 3.3V, kwa hivyo ni vyanzo vya 3.3V pekee ambavyo vinapaswa kushikamana na pini za data.
Mdhibiti mdogo huvuta nguvu (au kusukuma nguvu) kwa reli (upande wa chini wa ubao kama inavyoonyeshwa) kupitia pini ya USB 5V na ardhi. Zote waya zingine nyekundu / nyeusi ni VCC na chini.
Waya mbili za bluu ni laini za data za vipande vya LED (WS2812s). Jozi ya manjano / kijani ni mistari ya data ya kisimbuaji cha rotary, na jozi ya manjano ni unganisho la serial na onyesho la sehemu 7.
Hatua ya 11: Mkutano
Mfululizo huu wa picha unaonyesha mkutano wa mwisho na wiring. Niliunganisha pia bodi kuu ya mtawala nyuma kwa juu.
Kabla ya kuitia nguvu nilifanya ukaguzi kadhaa ili kuepuka mshangao wowote mbaya. Hasa, kuhakikisha kuwa sikuwa na viunganishi vya nguvu / ardhi nyuma, na hakuna mizunguko fupi. Weka multimeter yako ujaribu mwendelezo - italia wakati kuna njia ya umeme kati ya viongozo viwili. Ambatisha risasi moja kwenye laini ya kawaida ya VCC kwenye vifungo. Kisha ambatisha risasi nyingine kwa kila pini ya kuunganisha moja kwa moja. Multimeter inapaswa kulia tu wakati bonyeza kitufe. Ikiwa unapata mlio mwingine wowote inamaanisha kuwa na mabadiliko au mafupi. Fuatilia na uirekebishe kabla ya kuwasha umeme!
Hatua ya 12: Kanuni
Kwanza, fungua Arduino IDE yako na uhakikishe kuwa umeweka maktaba ya FastLED.
Pakua nambari ya Mashine ya Algorithm kutoka GitHub:
github.com/samguyer/AlgorithmMachine.git
Unaweza kuibadilisha moja kwa moja kwenye folda yako ya Arduino, au kunakili kwa mkono.
Kabla ya kuipakia, hakikisha mipangilio ya pini inalingana na usanidi wa vifaa vyako. Nimeweka mipangilio yote ya pini juu ya faili.
Pakia na ufurahie!
Hatua ya 13: Jinsi ya Kutumia
Mashine ya Algorithm ni rahisi kutumia na karibu mchanganyiko wowote wa vifungo ni sawa!
Kwanza, tumia vifungo vya data kuanzisha maadili katika safu. Kuna chaguzi tatu: (1) badilisha, (2) ongeza thamani moja ya nasibu, na (3) geuza safu. Kumbuka kuwa maadili yanaendelea, kwa hivyo unaweza kufanya vitu kama kuzipanga kwanza, kisha ongeza kelele, halafu tengeneza upangaji tofauti au utaftaji wa hesabu.
Chagua algorithm ya kutafuta au kuchagua kutoka kwa chaguo zingine za kitufe. Hivi sasa, hakuna maoni wakati unafanya chaguo hili (kitu cha kazi ya baadaye). Kisha piga kitufe cha "kucheza".
Knob inadhibiti kasi. Unaweza pia kupiga "kucheza" ili kusitisha na kusitisha hesabu.
Itasimama kiatomati ikimaliza. Unaweza pia kugonga kitufe kingine cha algorithm wakati wowote. Mashine itasimamisha algorithm ya sasa na kuanzisha mpya, lakini weka data haswa kama vile algorithm iliyopita ilivyoiacha.
Tuzo kubwa katika Mashindano ya STEM
Ilipendekeza:
Algorithm ya Cordic Kutumia VHDL: Hatua 4
Cordic Algorithm Kutumia VHDL: ## Hiki ni kiunga kilichobofiwa zaidi, maarufu katika Google kwa utekelezaji wa VHDL wa CORDIC ALGORITHM ili kutengeneza wimbi la sine na cosine ## Kwa sasa, algorithms nyingi zinazofaa za vifaa zipo, lakini hizi hazijulikani sana kwa utawala wa softwar
Mchezo wa Bodi Akili ya bandia: algorithm ya Minimax: Hatua 8
Mchezo wa Bodi ya Akili ya bandia: Algorithm ya Minimax: Umewahi kujiuliza jinsi kompyuta unazocheza dhidi ya chess au checkers zinafanywa? Usiangalie zaidi ya hii inayoweza kufundishwa kwani itakuonyesha jinsi ya kutengeneza akili rahisi lakini nzuri ya bandia (AI) ukitumia Minimax Algorithm! Kwa kutumia th
Mchoro wa Mashine ya Kuosha Mashine: 6 Hatua
Mchoro wa Mashine ya Kuosha ya Mashine: Ili kuweza kuweka waya kwenye mashine ya kuosha au motor ya ulimwengu tutahitaji mchoro unaoitwa mchoro wa wiring motor motor, hii inaweza kutumiwa kuweka waya hii kwa wote kwa 220v ac au dc fuata tu mchoro huo
Kujisawazisha Roboti Kutumia PID Algorithm (STM MC): Hatua 9
Kujisawazisha Roboti Kutumia PID Algorithm (STM MC): Hivi karibuni kazi nyingi imefanywa katika usawazishaji wa vitu. Wazo la usawa wa kibinafsi lilianza na usawazishaji wa pendulum iliyogeuzwa. Dhana hii iliongezwa hadi muundo wa ndege pia. Katika mradi huu, tumebuni mod ndogo
Udhibiti wa kasi wa Magari ya DC Kutumia PID Algorithm (STM32F4): Hatua 8 (na Picha)
Udhibiti wa kasi wa Magari ya DC Kutumia Algorithm ya PID (STM32F4): hello kila mtu, Hii ni tahir ul haq na mradi mwingine. Wakati huu ni STM32F407 kama MC. Huu ni mwisho wa mradi wa muhula wa katikati. Natumahi unaipenda.Inahitaji dhana nyingi na nadharia ili tuingie ndani kwanza.Na ujio wa kompyuta na