Mwanga wa Dawati la Udhibiti wa Arduino / Programu: Hatua 6 (na Picha)
Mwanga wa Dawati la Udhibiti wa Arduino / Programu: Hatua 6 (na Picha)
Anonim
Image
Image
Arduino / App Udhibiti wa Dawati la Programu
Arduino / App Udhibiti wa Dawati la Programu
Arduino / App Udhibiti wa Dawati la Programu
Arduino / App Udhibiti wa Dawati la Programu

Kwa mradi huu nilitaka kitu ambacho kitaniruhusu kujifundisha zaidi juu ya vifaa vya elektroniki / programu, kitu ambacho sijaingia bado.. Niliamua taa itakuwa jukwaa zuri la hii.

Ubunifu niliokuja nao ulikuwa wa taa ambayo inaangazia urekebishaji wa rangi na mwangaza. Kwenye bidhaa, joto na baridi ya rangi nyeupe na mwangaza hudhibitiwa kupitia 'puck', msimamo wake na mwelekeo kubadilisha hizi kwa uhuru - mwingiliano wa kipekee / wa kufurahisha.

Picha
Picha

Niliishia pia kuunda App (inaweza pia kujipa changamoto) kurekebisha hizi, na pia kuongeza utendaji wa ziada kudhibiti RGB za LED na kuweka kengele ya jua. Kengele ya kuchomoza kwa jua huongeza mwangaza zaidi ya dakika 30 kukusaidia kuamka.

Kwa kuwa huu ni mradi wangu wa kwanza wa Arduino / App ninachukulia kuwa hakika kutakuwa na njia bora za kufanya nambari hiyo basi iwe rahisi kwangu! Inatumika, kwa hivyo ninafurahi. Ikiwa una maoni juu ya maboresho nk itakuwa nzuri kusikia..

Faili zote za mradi huu (msimbo wa mvumbuzi wa arduino / programu, picha za programu nk) na App apk. inaweza kupatikana kwenye kiunga hiki.

Nimeingiza hii kwenye Raspberry Pi na Mashindano kamili ya SPECTRUM LASER, kwa hivyo ikiwa unafikiria kura inayostahili itathaminiwa sana !!

Unachohitaji….

Elec. Vipengele:

  • Arduino Micro
  • Sensorer 12 za Linear Radiometric Athari
  • DC Jack
  • Ugavi wa Umeme wa 12V
  • 2x 1W Nyeupe Nyeupe ya LED (6000K)
  • 2x 1W Nyeupe Nyeupe ya LED (2800K)
  • 4x Adafruit RGB Neopixels
  • Sparkfun Picobuck 350mA dereva wa sasa wa kila wakati
  • Moduli ya Bluetooth ya HC06
  • Bodi ya mfano
  • Vitalu vya terminal
  • Waya

Vifaa:

  • Vifaa vya kutengeneza ukungu (kadibodi au silicone nk)
  • Polyurethane Kutupa Resin
  • Plywood

Matumizi:

  • Solder
  • Rangi ya dawa
  • Sandpaper
  • Kuchanganya vikombe / vichochezi

Zana:

  • Chuma cha kulehemu
  • Bunduki ya gundi
  • Viziwi / bisibisi / visu nk.
  • Laser Cutter

Programu:

  • Arduino
  • MIT App Inventor (msingi wa wavuti msingi)
  • Photoshop au kitu cha kuunda picha za App

Hatua ya 1: Sensorer za Athari za Ukumbi

Kwa udhibiti wa bidhaa / mwingiliano nilikuwa nikitafuta kuja na kitu tofauti kidogo, sio piga tu au kitu.

Baada ya utafiti kidogo katika aina anuwai ya vifaa vya elektroniki, nilipata sensorer laini za athari za ukumbi wa radiometric. Hizi kimsingi ni sensor ambayo pato huathiriwa na uwanja wa sumaku. Kawaida pato la sensorer ni nusu ya voltage ya pembejeo. Walakini wakati sumaku imeletwa karibu nayo, pato litainuka kwa voltage ya pembejeo au itaanguka kwa 0V (mipaka ya kueneza) kulingana na ikiwa ni kaskazini au kusini mwa sumaku.

Niligundua kuwa ningeweza kutumia hii kuniruhusu kudhibiti mipangilio miwili tofauti kwenye sensa moja ya ukumbi - wazo la 'puck' lilizaliwa. Sumaku imefichwa kwenye keki iliyokatwa na laser na ingeweza kudhibiti mwangaza au rangi ya rangi kulingana na mwisho ambao ulikuwa ukikabili sensorer. Ninaingia kwenye nambari ya Arduino baadaye, lakini kimsingi nilisoma sensorer hizi na kuangalia ikiwa pato limeongezeka juu ya 'kichocheo kikubwa' au limeanguka chini ya 'kichocheo cha chini'. Ninatumia sensorer nyingi za athari ya ukumbi kuniruhusu kuchora rangi maalum ya rangi na mwangaza kwa kila moja, ambayo husababishwa unapoteleza puck karibu na arc..

Picha
Picha

Hatua ya 2: Vifaa vya Elektroniki

Vifaa vya elektroniki
Vifaa vya elektroniki
Vifaa vya elektroniki
Vifaa vya elektroniki
Vifaa vya elektroniki
Vifaa vya elektroniki

Hatua ya kwanza ya mradi huu ilikuwa kuunganisha vifaa vya umeme. Nilichagua kutumia Arduino Micro kwani ina idadi nzuri ya pini za kusoma za Analog - ikiniruhusu kutumia sensorer nyingi za athari ya ukumbi kutoa azimio la kutosha kwa marekebisho ya mpangilio. Usambazaji wa umeme wa 12V DC umegawanyika kati ya kuwezesha dereva wa Arduino na LED.

Safu ya kudhibiti hutumia sensorer 11 za ukumbi, na 1 nyingine hutumiwa kuzima taa. Hizi ziliunganishwa kwenye pini A0-> A5 na 4, 6, 8, 9, 10, 12. Wanashiriki 5v ya kawaida na pini / pini.

LED nilizotumia ni 1W na zinahitaji dereva wa sasa wa kila wakati. Sparkfun PicoBuck ilitumika kwani inatoa 350mA ya mara kwa mara hadi njia 3 za pato. Ugavi wa 12V umeunganishwa kwenye pini za Vin za madereva. Dereva ana pini za kuingiza kudhibiti PWM ya matokeo, hizi ziliunganishwa na pini 3 na 5 ya Arduino.

Moduli ya Bluetooth iliunganishwa. Bluetooth Rx-> Arduino Tx, Tx-> Rx na uwanja wa 5v.

Picha
Picha

LED zilikuwa zimewekwa kwenye bodi tofauti. LED mbili nyeupe nyeupe zimeunganishwa katika safu, kama vile zile za joto. Hizi zinaunganisha kwenye Pato la 1 na 2 la dereva. RGB LED's ni Adafruit Neopixels; hizi ni moduli za kushonwa ambazo unaweza kudhibiti rangi na mwangaza wa mmoja mmoja kutoka kwa pini moja ya Arduino. Hizi zinaunganisha kwenye pini 11 na pini 5V / ardhi.

Hatua ya 3: Mvumbuzi wa Programu

Mvumbuzi wa Programu
Mvumbuzi wa Programu
Mvumbuzi wa Programu
Mvumbuzi wa Programu
Mvumbuzi wa Programu
Mvumbuzi wa Programu

Kuunda App nilitumia MIT App Inventor, ni bure na rahisi sana kujifunza / kutumia. Kwanza ilibidi niunde Skrini / picha za App - hii inaweza kufanywa katika picha ya picha n.k Inafanya iwe rahisi katika Wavumbuzi wa Programu ikiwa una vifaa vyote vinavyounda skrini kama picha / faili tofauti.

Mvumbuzi wa Programu ana maoni mawili, kuna kichupo cha 'Mbuni' cha vitu vya kuona vya mwisho wa mbele na kichupo cha 'Vitalu' cha nambari.

Kutumia kichupo cha 'Mbuni' niliunda skrini za programu. Toleo moja nililogundua ni kwamba sehemu ya bluetooth haifanyi kazi kwenye skrini nyingi kwa hivyo baada ya skrini ya 'kuwakaribisha' zingine zote (unganisho, RGB, rangi ya rangi, kengele) zote zimeundwa kwenye skrini moja - safu nzuri ambazo ninawasha / mbali.

Zana kuu nilizotumia ni kwa 'mpangilio / mpangilio' na 'turubai'. Turubai ni eneo nyeti la kugusa ambalo unaweza kuonyesha kama picha.

Mara tu maonyesho yanapowekwa, wakati wake wa kubadili kichupo cha 'Vitalu' na andika nambari. Nitaielezea kwa kifupi, lakini labda ni rahisi ikiwa utaingiza faili yangu kwenye Programu ya Kuvumbua na uwe na mchezo karibu nawe…

Vitalu hivi vya kwanza ni kwa skrini za unganisho. Kuruhusu App kujaribu kuunganisha kiotomatiki kwenye moduli ya Bluetooth ya Arduinos ninaunda na kuweka kutofautisha kwa anwani ya HC06 yangu. Ninatumia kipima muda kubadilisha picha ya mandharinyuma wakati inaunganisha. Ikiwa unganisho limefanikiwa basi hupakia skrini ya rangi ya rangi. Ikiwa bluetooth inashindwa kuungana kiotomatiki, unahitaji kubonyeza kitufe cha 'unganisha kwenye kifaa'. Hii italeta orodha ya vifaa vyote vya bluetooth ambavyo simu yako inaweza kuona. Amri ya 'bluetoothclient1.connect' hutumia anwani ya kifaa unayochagua kutoka kwenye orodha hiyo kuungana nayo.

Picha
Picha
Picha
Picha
Picha
Picha

Vitalu hivi vinadhibiti kinachotokea unapogusa kila kitufe cha menyu - badilisha kati ya RGB, rangi ya rangi na kengele. Kwa kuwa zinaguswa matabaka ya kuona yanayowashwa huwashwa na kuzimwa. Yaani unapogonga kitufe cha menyu ya RGB hubadilisha picha ya mandharinyuma ya turubai kwenye aikoni ya giza, inawasha skrini ya RGB na nyingine imezimwa.

Udhibiti wa nguvu na mwangaza unashirikiwa kati ya skrini za RGB na za rangi. Ili Arduino ijue ni LED gani inayofaa kudhibiti, ninahitaji kuiambia ni skrini gani inayobeba. Kamba ya maandishi katika muundo (skrini)? hutumwa na simu yako bluetooth kutumia amri BluetoothClient1. SendText.

Picha
Picha

Kizuizi hiki kinatuma kamba (Nguvu)? wakati wowote kifungo cha nguvu kinapigwa.

Picha
Picha

Vitalu hivi hudhibiti marekebisho ya joto la rangi. Unapogusa turubai, uratibu wa Y wa sehemu yako ya kugusa hutumiwa kuweka 'baridi' inayobadilika. Thamani ya Y inaendeshwa na saizi ya pikseli ya turubai, kwa hivyo kwa upande wangu thamani kati ya 0 na 450. Ninatumia kipinduaji kuibadilisha kuwa nambari inayoweza kutumika ya PWM (0-255). Kisha mimi hutuma kamba yenye dhamani hiyo na kitambulisho katika fomu (Tempvalue)?.

Picha
Picha

Vitalu sawa kama hapo juu lakini kwa udhibiti wa mwangaza. Kutumia uratibu wa X wakati huu na anuwai anuwai kuweka tofauti ya 'Mkali' kwa thamani kati ya 10 na 100.

Picha
Picha

Vitalu hivi ni kwa udhibiti wa RGB. Kuna amri inayoitwa 'GetPixelColor' ambayo inaweza kutumika kupata thamani ya RGB ya pikseli kidole chako kinagusa. Inatoa thamani na nyongeza 255 mwishoni kwa sababu fulani, kwa hivyo mimi hufanya kazi kidogo kupata thamani katika fomati (RGBredvalue.greenvalue.bluevalue.)? Tena hii inatumwa kwa Arduino, lakini na RGB kama kitambulisho kwenye kamba.

Picha
Picha

Sehemu inayofuata ya vizuizi ni kwa mipangilio ya kengele. Kizuizi cha kwanza kinadhibiti kinachotokea unapogusa / kuburuta jua juu na chini. Tena, amri za 'kupata X ya sasa na Y' hutumiwa kupata thamani ya mahali kidole chako kilipo na kubadilisha picha ya nyuma kulingana na urefu wa jua. Nafasi ya jua pia huendesha ikiwa kengele imewezeshwa au imezimwa, hii hutumwa na bluetooth.

Picha
Picha
Picha
Picha

Unapogonga au kumaliza kusonga jua inaleta kiteua wakati kukuruhusu kuweka wakati wa kengele. Sehemu kuu ya kizuizi hiki kifuatacho ni kutumia wakati wa sasa kufanya ujue ni milliseconds ngapi mpaka kuweka kengele. Thamani hii inatumwa kwa Arduino

Picha
Picha
Picha
Picha

Katika hatua inayofuata ninaangazia jinsi Arduino inasoma na kutumia nyuzi…

Hatua ya 4: Msimbo wa Arduino

Kama ilivyo na nambari ya Programu nitafunika hii kwa ufupi….

Kwanza ninaweka vigeuzi vyangu vyote, nikitoa sensorer na LED kwenye pini sahihi. Pato kutoka kwa sensorer za athari ya ukumbi zitasomwa kwa kutumia kazi ya AnalogRead, ikitoa thamani kati ya 0 na 1023. Kama ilivyoelezwa hapo awali hutoa nusu wakati hakuna sumaku zilizopo, karibu 500. Ninatumia vigeuzi vya chini na vya Juu kuniruhusu niwe rahisi rekebisha wakati inajua puck iko juu ya sensor.

Picha
Picha

Neopixels zinahitaji maktaba ili hiyo ielezewe hapa..

Picha
Picha
Picha
Picha

Usanidi batili unaanza majarida, kwa pini ndogo za Rx / Tx (Bluetooth) hutumia Serial1.. Pini hizo zinawekwa kuwa pembejeo au matokeo na taa ya LED imezimwa.

Picha
Picha

Sasa kitanzi chake kikuu…

Sehemu hii ya kwanza inakagua ikiwa data yoyote inapokelewa kutoka kwa Programu. Serial1.available () inasoma serial na kupata idadi ya ka kwenye kamba. Ikiwa hiyo> 0 najua datas zinazoingia.

Ukikumbuka, kamba zote ambazo ninatuma kutoka kwenye App zinaisha na alama ya swali…. yaani (Bright100)?

Ninatumia kazi.readStringUntil kusoma data ya serial hadi alama ya swali (Bright100) na kuweka BTstring inayobadilika kuwa hii. Ninaangalia ikiwa BTstring inaisha na ')' kuhakikisha amri kamili zinapokelewa. Ikiwa ni hivyo, basi kitanzi cha Programu ya Bluetooth kinaitwa … hii inaelezewa zaidi chini..

Picha
Picha

Kidogo hiki kinachofuata kinadhibiti kengele ya jua. Kimsingi ikiwa kengele imewezeshwa na wakati ni sahihi basi itaanza kufifia kwa LED. Kwa sababu ya jicho la mwanadamu kugundua mwangaza wa kimantiki ni bora kufanya aina yoyote ya kufifia / kuinua kwa LED kwa upinde wa kielelezo badala ya laini. Kwa hivyo equation inaendesha maadili ya PWM…

Picha
Picha

Ili kuzuia puck kuingiliana na udhibiti wa App inalemazwa wakati unatumia App. Ili kuamsha tena puck unahitaji kuiondoa kwenye bidhaa kwa sekunde 5.. Kiwango hiki kidogo cha nambari huangalia ikiwa sensorer zote zinatoa kiwango cha hali thabiti (hakuna sumaku) na kisha inaanza kipima muda. Wakati sekunde 5 imekamilika ubadilishaji wa BTinControl umewekwa tena kuwa uwongo.

Picha
Picha

Nambari ya puck sasa.. Kwanza sensorer zinahitaji kusomwa.

Ikiwa taa imezimwa kwa sasa, itaangalia ikiwa sensorer yoyote iko juu au chini ya alama za kuchochea yaani puck imewekwa kwenye arc. Ikiwa ni basi itafifia taa nyeupe kwa mpangilio wako wa mwisho bila kujali ni wapi unaiweka.

Picha
Picha
Picha
Picha

Kuweka seti ya LED kwenye mpangilio wako wa mwisho badala ya kusasisha kwa maadili yanayohusiana na sensorer yoyote inayosababisha, ubadilishaji wa MovedSinceStandby umewekwa kuwa uwongo. Nambari hii inayofuata ya nambari hukagua kimsingi ikiwa umehamisha kitita kutoka kwa nafasi yake ya awali na kiwango kilichowekwa….

Picha
Picha
Picha
Picha

Ikiwa unahamisha puck 'MainProgram' inaitwa kusasisha mwangaza / rangi ya rangi. Hii inaelezewa zaidi chini.

Picha
Picha

Kidogo cha mwisho katika kitanzi hiki kikuu huangalia ikiwa puck imerudishwa kwenye kizimbani cha kusubiri - ni sensorer 12 inayosoma thamani hapo juu / chini ya alama ya kuchochea. Ikiwa ndivyo inavyofifia LED kurudi chini..

Picha
Picha

Kitanzi cha bluetooth:

Kama ilivyoelezewa hapo juu wakati data inapokelewa kupitia Bluetooth, kamba hiyo inasomwa. Sasa tunahitaji kuangalia kile kamba hiyo inasema…

Kamba zote mbali na mwangaza, rangi ya rangi na RGB ni rahisi kushughulika nazo. Unaangalia ikiwa BTstring ni sawa na maandishi yaliyotumwa kutoka kwa App.

Ukikumbuka, wakati wowote unapobadilisha skrini kwenye App itatuma amri ya bluetooth. Hapa tunauliza kwa hilo na kuweka vigeuzi kadhaa kuwa kweli au uwongo ili tujue ni skrini gani unayo.

Tambua mwishoni mwa kila sehemu nimeweka ubadilishaji wa BTinControl kuwa kweli na wazi dhamana ya BTstring.

Picha
Picha
Picha
Picha

Unapogonga kitufe cha nguvu kwenye App kitapunguza mwangaza juu au chini. Vigezo vilivyowekwa hapo juu kwa skrini uliyopo hutumiwa kuamua ikiwa ni RGB au LED nyeupe kudhibiti..

Picha
Picha
Picha
Picha

Kwa mwangaza, rangi ya rangi na RGB ninahitaji kusoma masharti kwa njia tofauti. Kwa sababu sehemu ya nambari itabadilika nauliza ikiwa kamba inaanza na moja ya vitambulisho sio kamba kamili, kwa hivyo tu (Mkali hapa..

Sasa ninahitaji kutenganisha thamani halisi ya mwangaza kutoka kwa kamba. Muundo wa kamba iliyotumwa kutoka kwa App ni [Brightvalue] kwa hivyo najua thamani ya mwangaza itakuwa kati ya 't' na ')'. Msimamo wa 't' utabaki kila wakati, itakuwa tabia ya 7 kila wakati kwenye kamba. Lakini kwa sababu thamani ya mwangaza inaweza kuwa kati ya 10 na 100 nafasi ya ')' itabadilika. Ninatumia Hii inaniacha na tu mwangaza ambao ninaweza kutumia kurekebisha RGB au LED nyeupe kulingana na skrini.

Picha
Picha

Marekebisho ya rangi ya rangi ni mchakato sawa na hapo juu lakini thamani itakuwa kati ya 'p' na ')' wakati huu…

Picha
Picha

Kwa marekebisho ya RGB tuna maadili matatu ya kuchukua kutoka kwa kamba, lakini ni mchakato sawa tena. Kutoka kwa programu tunapokea masharti katika fomu (RGBvalue.value.value)

Kwa hivyo najua thamani nyekundu itakuwa kati ya 'B' na kituo kamili cha kwanza. Thamani ya kijani iko kati ya vituo vya 1/2 kamili na thamani ya hudhurungi iko kati ya kituo cha pili na ')'.

Mara tu tunapokuwa na maadili neopixles imewekwa kwa rangi mpya…

Picha
Picha

Hapa tunaangalia ikiwa kengele imewezeshwa au imezimwa. Ikiwa wakati wa kengele hubadilishwa tutatumwa kamba na idadi ya millisecond kutoka sasa hadi kengele. Tena thamani hii hutolewa kutoka kwa kamba na ili kuweza kuangalia ikiwa wakati wake wa kuanza kuchomoza kwa jua tunahitaji kuweka kutofautisha kwa wakati wa sasa (millis)..

Picha
Picha

Udhibiti wa puck:

Kama ilivyoelezewa hapo awali ikiwa puck (sumaku) ni njia moja kwenda juu itasukuma pato la sensa ya ukumbi chini ya kichocheo cha chini na ikiwa njia nyingine juu juu ya kichocheo cha juu.

Hii inaruhusu udhibiti wa mwangaza na rangi ya rangi kwenye safu moja..

Thamani za sensorer zinasomwa. Ikiwa yoyote kati yao ni chini ya kiwango cha chini cha kuchochea basi tunarekebisha rangi ya rangi. Kuna sensorer 11 chini ya eneo la arc, ambayo matokeo yataenda chini ya hatua ya kuchochea wakati puck inapita juu yao. Kila sensa ina thamani ya PWM kwa LED baridi na za joto dhidi yake, kuanzia na sensorer 1 kwa joto la 100%, 0% baridi na kufanya kazi hadi 11 kwa joto la 0%, 100% baridi.

Picha
Picha
Picha
Picha
Picha
Picha

Udhibiti wa mwangaza unafanywa kwa njia ile ile.. kuangalia ikiwa matokeo ya sensorer yapo juu ya kichocheo kikubwa wakati huu na kutoa kila sensorer thamani ya uzani wa mwangaza.

Uzito huu wa mwangaza kisha huongezeka na thamani ya rangi ya rangi ili kutoa jumla ya pato. Inakuruhusu kuweka rangi yoyote kwa mwangaza wowote …

Picha
Picha
Picha
Picha

Hatua ya 5: Nyumba

Makazi
Makazi
Makazi
Makazi
Makazi
Makazi
  1. Nilianza kwa kutengeneza ukungu kutoka kwa kadibodi kwa sehemu ya chini ya nyumba. Ili kuunda sehemu za kupumzika kwa eneo la kudhibiti nilikuwa na kipande cha laser ya plywood iliyokatwa kwenye umbo la arc na nikatumia sarafu ya 5p kwa kizimbani cha 'kusubiri'. Hizi zilikuwa zimeshikamana na ukungu wa kadibodi, kwa umakini ili kuziweka katika hali sahihi ambayo ingeungana na sensorer za athari za ukumbi.
  2. Ifuatayo ilikuwa kuchanganya resini ya polyurethane. Vitu ninavyotumia vina uwiano rahisi wa 1: 1 na tiba ndani ya dakika 20.. kwa hivyo unahitaji kufanya kazi haraka!
  3. Kumwaga awali ilikuwa kujaza chini ya ukungu. Baada ya kuweka hii niliongeza ukuta wa ndani wa kadibodi kuniruhusu kumwaga kuta za pembeni.
  4. Ili kuunda sehemu ya juu, ambayo LED ingekaa, nilikata na kushikamana na bomba / kikombe cha plastiki mahali pembeni. Na tena resin ilimwagika ndani na kuruhusiwa kuweka.
  5. Sasa nyumba ilikuwa imewekwa, nilihitaji kuchimba mashimo kadhaa na kuipatia mchanga mzuri.
  6. Primer ilitumika na kisha ikanyunyizwa na kanzu ya mwisho ya rangi.

Hatua ya 6: Mkutano / Hitimisho

Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
Mkutano / Hitimisho
  1. Slot ya jack ya DC ilikatwa nje ya nyumba. Jack hiyo imewekwa gundi.
  2. Bodi ya LED inaweza kusukumwa chini katika sehemu ya juu, na waya zilizolishwa hadi sehemu ya chini.
  3. Waya kutoka kwa LED na DC jack kisha zikaingiliwa kwenye vizuizi sahihi vya wastaafu.
  4. Bodi kuu hutiwa ndani ya nyumba
  5. Kipande cha plywood kisha kinakumbwa chini kufunika chini ya nyumba.
  6. Jambo la mwisho ni gundi 'puck' pamoja, kuhakikisha kuelekeza nguzo za sumaku na "mwangaza" sahihi au "rangi ya muda wa mwisho".

Kwa jumla taa hufanya kazi vizuri! Kuna mende chache kwenye programu ya kuondoa chuma na RGB ya LED inaweza kuwa nyepesi. Ninaweza pia kuongeza sensorer ya taa ili kubadilisha moja kwa moja joto la rangi, kuanzia 'baridi' wakati wa mchana na kubadilisha kuwa 'joto' usiku.

Shangwe za kusoma!

Ilipendekeza: