Orodha ya maudhui:

Bao la Kriketi Kutumia NodeMCU: Hatua 9 (na Picha)
Bao la Kriketi Kutumia NodeMCU: Hatua 9 (na Picha)

Video: Bao la Kriketi Kutumia NodeMCU: Hatua 9 (na Picha)

Video: Bao la Kriketi Kutumia NodeMCU: Hatua 9 (na Picha)
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Julai
Anonim
Image
Image
Mpango
Mpango

Halo! Hivi karibuni nilitambulishwa kwa ulimwengu wa IoT (Mtandao wa Vitu) wakati nilikutana na kifaa maarufu zaidi katika uwanja huu, ESP8266. Nilishangazwa na idadi ya mwisho ya uwezekano ambao ulifunguliwa na kifaa hiki kidogo na cha bei rahisi. Kwa kuwa hivi sasa ni mpya kwa hii, niliamua kufanya mradi kuitumia na kujifunza njiani. Kwa hivyo, nilianza kutafuta mtandao na miradi na maoni.

Nilipata mradi wa kushangaza uitwao Arduino Cricket Score Ticker na W. A. Smith. Katika mradi huu, Arduino pamoja na Ethernet Shield na kadi ya SD hutumiwa kuonyesha alama za kriketi za moja kwa moja kutoka Cricbuzz. Mradi huu ulinifanya nifikirie.

Mimi ni kutoka India na jambo la kwanza ambalo linakuja akilini baada ya kusikia India ni Kriketi. Hapa, kriketi ni dini. Wakati mwingine inakuwa ngumu kukaa mbele ya TV kufuata mechi nzima. Kwa hivyo, kwanini usifanye kitu ambacho hufanya alama ya kutazama iwe rahisi, isiyo na waya na inayoweza kubebeka. Kifaa kidogo cha kujitolea ambacho kinaonyesha habari ya kutosha kukufanya usasishwe kwa kutazama tu.

Sio shabiki wa kriketi? Hakuna shida! Nambari hiyo ina kiboreshaji cha XML ambacho kinaweza kutumiwa kupata data kutoka kwa faili yoyote ya XML. Tumia tu kazi sahihi kupata data.

Hatua ya 1: Mpango

Mpango
Mpango

Mpango ni kutumia Bodi ya Maendeleo ya NodeMCU (na moduli ya ESP-12E) kufikia mtandao na kuomba nambari ya XML kutoka Cricbuzz ambayo ina habari yote juu ya mechi zinazoendelea / zijazo. Nambari hii imehifadhiwa kwenye kadi ya SD kama faili ya.xml. Faili hiyo inasomwa kutoka kwa kadi ya SD ili kuchanganua data inayohitajika kutoka kwa msimbo wa XML. Nitatumia nambari ya W. A. Smith kuchanganua habari. Shukrani kwa juhudi zake. Angalia mradi wake ikiwa unataka kufanya hivyo kwa kutumia Arduino na Ethernet Shield.

Wazo langu ni kuifanya iwe ndogo iwezekanavyo, jenga PCB ya kawaida na kesi kwa hiyo. Kwa sasa, wacha tufanye mfano. Lakini kwanza, wacha tujue na vifaa vilivyotumika katika mradi huu.

Tuanze

Hatua ya 2: OLED Onyesha

OLED Onyesho
OLED Onyesho
OLED Onyesho
OLED Onyesho

Niliamua kwenda na onyesho la OLED kwa sababu ya udogo wake na zinapatikana kwa bei rahisi. Ninatumia onyesho la 0.96 ambalo litatosha kuonyesha habari ya mechi. Unaweza kutumia saizi yoyote ya onyesho.

Maonyesho ninayotumia ni moja ya monochrome na dereva wa SSD1306 na interface ya I2C (2-waya). Matoleo ya maonyesho ya SPI yanapatikana pia. Kuziendesha ni kazi rahisi. Pakua maktaba za SSD1306 na GFX zinahitajika kuendesha maonyesho. Shukrani kwa Adafruit kwa kuandika maktaba hizi.

Uunganisho ni rahisi sana.

  • GND kwa GND
  • VCC hadi 3.3V
  • SCL hadi D1
  • SDA hadi D2.

Hatua ya 3: Kadi ya SD na Adapter

Kadi ya SD & Adapter
Kadi ya SD & Adapter

Kadi ya SD inahifadhi faili ya XML kutoka Cricbuzz hadi habari yote itakapochanganuliwa. Mara habari muhimu inapoonyeshwa, faili hiyo inafutwa. Kutumia kadi ya SD kuhifadhi faili ya XML ya 10 - 20 kB ni kuzidi kidogo lakini inafanya utaftaji kuwa rahisi na rahisi kueleweka.

Kadi yoyote ya kumbukumbu inaweza kutumika. Nilichagua kadi ndogo ya SD kwa sababu ndogo ya fomu. Unaweza waya moja kwa moja kwenye kadi ya SD lakini ukitumia bodi ya kuzuka hufanya kazi iwe rahisi. Ikumbukwe kwamba kadi zote za SD zinalenga kuendesha 3.3V. Hii inamaanisha kuwa sio tu inapaswa kutumiwa kutumia 3.3V lakini pia mawasiliano kati ya microcontroller na kadi ya SD lazima iwe kiwango cha mantiki cha 3.3V. Voltage juu ya 3.3V itaua! Hatutasumbuka juu yake kwa kadiri NodeMCU inavyohusika kwa sababu NodeMCU yenyewe inaendesha 3.3V ambayo ni sawa. Ikiwa unapanga kutumia microcontroller nyingine yoyote na kiwango cha mantiki cha 5V, hakikisha bodi yako ya kuzuka ina shifter ya kiwango iliyojengwa (Kama inavyoonyeshwa kwenye picha). Kimsingi hubadilisha au "kubadilisha" 5V kutoka kwa mdhibiti mdogo hadi kadi ya SD inayofaa 3.3V. Kutumia mabadiliko ya kiwango pamoja na 3.3V (kama nilivyofanya) haiathiri kazi yake.

Kadi ya SD hutumia kiolesura cha SPI kwa mawasiliano. CS au Chip Chagua pini inaweza kushikamana na pini yoyote ya GPIO. Nilichagua GPIO15 (D8). Fanya tu mabadiliko muhimu kwenye nambari ikiwa umetumia pini tofauti na GPIO15

  • SCK hadi D5
  • MISO hadi D6
  • MOSI hadi D7
  • CS hadi D8
  • VCC hadi 3.3V
  • GND kwa GND

Umbiza kadi yako ya SD

Maktaba tutakayotumia inasaidia mifumo ya faili FAT16 au FAT32. Hakikisha umeunda kadi ya SD kwa muundo sahihi.

Hatua ya 4: Kutengeneza Keypad

Kutengeneza kitufe cha vitufe
Kutengeneza kitufe cha vitufe
Kutengeneza kitufe cha vitufe
Kutengeneza kitufe cha vitufe
Kutengeneza kitufe cha vitufe
Kutengeneza kitufe cha vitufe

Ninataka kuweka mradi mdogo iwezekanavyo. Kwa hivyo, niliamua kutengeneza bodi tofauti kwa kitufe na kuipandisha juu ya bodi kuu baadaye. Hii itaokoa nafasi.

Matrix muhimu iliyoundwa tayari inaweza kununuliwa lakini nilikuwa na vifungo vya kushinikiza vilivyokuwa karibu. Pia, nilitaka kuifanya iwe ndogo iwezekanavyo. Mpangilio wa kawaida wa safu na nguzo za kuunganisha utahitaji jumla ya pini 6 za GPIO kwa tumbo 3 x 3. Hii ni mengi sana ukizingatia kuwa onyesho la OLED na kadi ya SD zitaunganishwa pia.

Unapokuwa na shaka, Google itoke! Hiyo ndivyo nilifanya na kupata njia ambayo itahitaji pini 1 tu kudhibiti matrix yote. Hii inawezekana kwa kutumia Matrix ya Mgawanyiko wa Voltage. Resistors zimeunganishwa kati ya kila safu na safu. Wakati kitufe kinabanwa, mchanganyiko fulani wa vipinga huunganishwa katika safu ambayo huunda mgawanyiko wa voltage. Rejea mchoro wa mzunguko. Voltage tofauti itasomwa na mdhibiti mdogo. Kila ufunguo utazalisha voltage tofauti na kwa hivyo inaweza kupatikana kwa urahisi ni ufunguo upi uliobanwa kwa kusoma voltage ya pato la tumbo. Kwa kuwa tunataka kusoma viwango tofauti vya voltage na sasa tu juu na chini, tutahitaji pini ya Analog. Kwa bahati nzuri kuna pini moja ya Analog iliyoitwa A0 kwenye NodeMCU. Shida imetatuliwa!

Ikiwa unataka kununua matrix angalia miunganisho ya ndani iliyoonyeshwa kwenye mchoro. Matrix ya vipimo vyovyote inaweza kutumika. Hakikisha kutumia kontena la 2.2kΩ kati ya safu na kipinga 680Ω kati ya safu.

Kuunganisha vifungo vya kushinikiza

Pini 1 na 2 zimeunganishwa ndani. Sawa na pini 3 na 4. Wakati kitufe kinabanwa, pini zote zimeunganishwa pamoja. Rejelea picha kupata wazo la kuunganisha swichi kwenye ubao wa maandishi.

Nimeunganisha kichwa cha kiume cha pini 3 ili kiweze kushikamana na bodi kuu baadaye.

Hatua ya 5: Kuweka Kila kitu Pamoja

Kuweka Kila kitu Pamoja
Kuweka Kila kitu Pamoja
Kuweka Kila kitu Pamoja
Kuweka Kila kitu Pamoja
Kuweka Kila kitu Pamoja
Kuweka Kila kitu Pamoja

Unaweza kupanga kuweka vitu mahali popote unapopenda. Hakuna vizuizi juu yake. Nitakuonyesha jinsi nilivyofanya kuifanya iwe sawa kwani nilitaka kitu ambacho kitatoshea kwenye kiganja. Inaweza kupata fujo kidogo kwa hivyo jaribu njia yangu ikiwa uko sawa na kutengenezea. Niliamua kujaza pande zote za bodi kama PCB safu mbili itakuwa. NodeMCU na bodi ya kuzuka kwa kadi ya SD upande mmoja na OLED na keypad upande mwingine.

Kuvunjika kwa kadi ya SD hufanyika tu kutoshea kati ya vichwa viwili vya kike ambavyo ni vya NodeMCU. Nilibadilisha vichwa vya kiume vya angled ambavyo bodi ya kuzuka ilikuja nayo, ikaizungusha na kuuzwa tena ili pini ziende chini haswa kama inavyoonyeshwa kwenye picha. Kupata nafasi ya kadi ya SD inakuwa rahisi.

Niliinama pini za kichwa cha kike chenye pini 4 pembeni mwa kulia na kuiuza upande wa shaba wa ubao ulioonyeshwa kama ilivyoonyeshwa kwenye picha.

Funika viungo vya solder chini ya kitufe ili kuzuia mizunguko mifupi. Ongeza kipande nyembamba cha povu ngumu (karibu unene wa 5mm) kati ya kitufe na ubao kuu kwa kinga ya ziada na ugumu. Mwishowe, weka kitufe ambacho tumetengeneza mapema. Kuwa na chuma cha kutengeneza na ncha iliyoelekezwa hakika itafanya kazi yako iwe rahisi. Ilikuwa kazi ya fujo kuifanya iwe sawa kama iwezekanavyo lakini mwishowe imeweza kuifanya.

Angalia miunganisho yako yote kwa mizunguko yoyote fupi kabla ya kuwezesha kifaa

Hatua ya 6: Kuweka Kitufe

Kuweka Kitufe
Kuweka Kitufe

Mara tu ukiangalia miunganisho yote, uko tayari kuwezesha kifaa chako kwa mara ya kwanza. Vidole vimevuka! Hakuna moshi wa uchawi? Hongera!

Sasa tuko tayari kuanzisha keypad. Kumbuka kazi ya keypad. Kila kitufe cha habari kitatoa voltage tofauti ambayo hulishwa kwa pini ya Analog ya NodeMCU. ESP-12E ina Analog to Digital Converter (ADC) ya azimio la bit-10. 2 iliyoinuliwa kwa nguvu 10 itatoa 1024. Hii inamaanisha kuwa tutakuwa tukisoma kati ya 0 na 1024 kwa kila kitufe kilichobanwa. Wacha tuone usomaji gani tunapata. Lakini kwanza, lazima tuandike programu ndogo kupata maadili hayo. Fungua Arduino IDE, nakili weka nambari ifuatayo na uipakie kwa NodeMCU.

keypadPin = A0;

kuanzisha batili () {Serial.begin (115200); } kitanzi batili () {int r = analogRead (keypadPin); Serial.println (r); }

  • Fungua mfuatiliaji wa serial. Weka kiwango cha baud hadi 115200.
  • Sasa bonyeza kitufe chochote. Unapaswa kupata usomaji wa mara kwa mara kwenye mfuatiliaji wa serial. Kubadilika kidogo ni sawa. Wale watatunzwa katika nambari kuu. Fanya vivyo hivyo kwa kila ufunguo.
  • Kila ufunguo unapaswa kuwa na usomaji tofauti.
  • Kumbuka maadili yote. Tutazihitaji baadaye.

Hatua ya 7: Wacha Msimbo

Wacha Kanuni
Wacha Kanuni
Wacha Kanuni
Wacha Kanuni
Wacha Kanuni
Wacha Kanuni

Pakua faili ya Scoreboard.ino iliyotolewa hapa chini kwenye kompyuta yako na uifungue kwa kutumia Arduino IDE.

Kabla ya kupakia

1) Weka wakati wa kuburudisha kwa ubao wa alama. Kwa mfano, 15L kwa 15secs.

2) Ingiza SSID na nywila ya router unataka kuungana.

3) Fanya mabadiliko ya lazima ikiwa ulichagua kuunganisha pini ya CS ya kadi ya SD kwenye pini tofauti na GPIO15.

4) Kumbuka maadili ambayo tulibaini kwa funguo zote? Lazima tuweke nambari muhimu kwa kila thamani. Nilikuwa pia nimekuambia juu ya mabadiliko ya usomaji. Hii ni kwa sababu ya mawasiliano ya swichi kutokuwa kamili. Kwa muda mrefu, thamani hii inaweza kuachana na thamani ya sasa kwa sababu ya kuzeeka kwa mawasiliano ambayo inaongeza upinzani zaidi katika mzunguko na hivyo kubadilisha voltage. Tunaweza kutunza shida hii kwenye nambari.

Tutaongeza kikomo cha juu na kikomo cha chini cha thamani na margin ya 5. Kwa mfano, nilipata usomaji wa 617 kwa ufunguo 1.

  • Toa 5 kutoka kwake. 617 - 5 = 612. Hii ndio kikomo cha chini.
  • Sasa ongeza 5 kwake. 617 + 5 = 622. Huu ndio upeo wa juu.
  • Tembeza hadi mwisho wa nambari. Jaza nafasi iliyotolewa kwa maadili mawili kwenye nambari kama inavyoonyeshwa kwenye picha.
  • Fanya hivi kwa kila maadili 9.

ikiwa (r> 612 && r <622) {keyNumber = 1; }

Hii inamaanisha nini?

Ikiwa kusoma (r) ni kubwa kuliko 612 NA chini ya 622, basi ufunguo 1 umesisitizwa. Thamani yoyote kati ya 612 na 622 itachukuliwa kama ufunguo 1. Hii hutatua shida ya usomaji unaobadilika-badilika.

Hatua ya 8: Kujenga Kesi

Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo
Kujenga Kesi hiyo

Hii ni hiari kabisa. Nilidhani mradi utaonekana nadhifu na kamili na kesi karibu yake. Bila zana nzuri za kazi hii, ingekuwa kazi kubwa kwangu. Kesi hiyo imejengwa kwa kutumia akriliki.

Tayari vipande vya gluing kwa kulainisha kingo kwa kutumia sandpaper. Nilitumia Fevi Kwik (Super Glue) kuunganisha vipande vyote pamoja. Gundi kubwa huacha mabaki meupe baada ya kupona. Kwa hivyo, itumie tu kati ya viungo. Lazima uwe mwepesi na sahihi wakati unafanya kazi na gundi kubwa kwani inaweka haraka. Saruji ya Acrylic inafaa zaidi kwa kazi hii.

Alifanya ufunguzi mdogo kufikia bandari ya USB kwa kutumia faili. Inapaswa kuwa kubwa ya kutosha kuingiza kamba ya USB.

Imeunda gridi ya 3x3 kwenye kifuniko cha mbele kwa vifungo vya kushinikiza. Hii itafanya vifungo vya kushinikiza kuwa ngumu kufikia. Ili kutatua shida hii, mimi hukata vipande vya mraba kwa kila ufunguo ili vifungo vyao sasa viongezwe hadi juu.

Baada ya mchanga mwingi, kukata, kurekebisha na kurekebisha, mwishowe ilifanywa!

Hatua ya 9: Furahiya

Furahiya!
Furahiya!

Mwishowe, bidii yote imefanywa. Imarisha ubao wako wa alama ndogo na usasishwe na mchezo.

Baada ya kuimarisha, kwanza huunganisha kwenye hatua ya kufikia. Inazindua kadi ya SD. Itaonyesha kosa ikiwa kadi ya SD haijaanzishwa.

Orodha ya mechi zote zitaonyeshwa pamoja na nambari ya mechi.

Chagua nambari ya mechi ukitumia kitufe.

Alama zitaonyeshwa. Unaweza kubadilisha mambo yote unayotaka kuona kwenye onyesho. Singekuwa nikiingia ndani sana kuelezea nambari hiyo. Unaweza kupata maelezo ya kina hapa juu ya jinsi utaftaji unavyofanya kazi.

Ili kurudi kwenye menyu, shikilia kitufe cha NYUMA (Ufunguo wa 8) mpaka ukurasa wa "Kuchota Alama…" umeonyeshwa.

Mipango ya Baadaye

  • Buni PCB maalum na moduli ya ESP8266 12-E.
  • Ongeza betri inayoweza kuchajiwa.
  • Boresha nambari na huduma mpya.

Natumahi ulifurahiya ujenzi. Jifanye mwenyewe na ufurahie! Daima kuna nafasi ya kuboresha na mengi ya kujifunza. Njoo na maoni yako mwenyewe. Jisikie huru kutoa maoni yoyote kuhusu ujenzi. Asante kwa kushikamana karibu hadi mwisho.

Ilipendekeza: