Агуулгын хүснэгт:

Fancy LED малгай: 5 алхам (зурагтай)
Fancy LED малгай: 5 алхам (зурагтай)

Видео: Fancy LED малгай: 5 алхам (зурагтай)

Видео: Fancy LED малгай: 5 алхам (зурагтай)
Видео: Перемещение стран и другие большие изменения! 🥳🎉 (Наши планы на 2022 год) 2024, Арваннэгдүгээр
Anonim
Image
Image
Сонирхолтой LED малгай
Сонирхолтой LED малгай

Би үргэлж Arduino төсөл хийхийг хүсдэг байсан ч манай гэр бүлийг гоёмсог малгайны үдэшлэгт урих хүртэл ийм сайхан санаа байгаагүй. Хоёр долоо хоногийн хугацаа өнгөрөхөд би хөдөлгөөнт мэдрэмтгий LED анимэйшн малгайг хоёуланг нь төлөвлөж, гүйцэтгэх боломжтой эсэхийг сонирхож байлаа. Би чадна гэж мэдэгдэв! Би жаахан хэтрүүлсэн байх, гэхдээ төслийн нийт өртөг 80 орчим доллар байсан. Туршилт, зарим кодчилол хийснээр та үүнийг бага үнээр хийж чадна.

Малгайтай байсан зорилго нь дараах байдалтай байв.

  1. Малгайны төв урд хэсгээс ар тал руу нь тус бүр нэг гэрэл асаах хэрэгтэй
  2. Малгайны урд болон арагш хазайсантай холбоотойгоор гэрлийн аялалын хурдыг өөрчил
  3. Малгайны туузыг доошоо хазайлгах үед гэрлийг эргүүлэхийг зөвшөөрөх (өөрөөр хэлбэл гэрлийн хүндийн хүчний нөлөөг дуурайх)
  4. Малгайгаа зүүнээс баруун тийш хазайлгахад үндэслэн өнгөө өөрчил
  5. Мэдрэхүйц цочрол, онцгой эффект харуулна
  6. Зүүсэн хүн ээрэхийг мэдэрч, онцгой эффект үзүүлээрэй
  7. Үүнийг малгайнд бүрэн оруулаарай

Алхам 1: Шаардлагатай эд анги

Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд
Шаардлагатай эд ангиуд

Би дараах үндсэн бүрэлдэхүүн хэсгүүдийг ашигласан (Amazon-ийн харьяа бус холбоосууд багтсан болно):

  • Teensy LC микроконтроллер - Би жижиг хэмжээтэй тул энгийн Arduino -г сонгосон бөгөөд энэ нь миний LED -ийг удирдах тусгай холболттой, номын сан, олон нийтийн дэмжлэгтэй байв.
  • Bosch BNO055 дээр суурилсан байрлалын мэдрэгч - үнэндээ миний олж авсан баримт бичгийн нэг юм. Хямд үнэтэй сонголтууд байдаг, гэхдээ Bosch -ийг олж мэдсэнээр энэ нь таны хувьд маш их зүйлийг хийх болно, өөрөөр хэлбэл та кодыг хийх хэрэгтэй болно.
  • WS2812 хаягтай LED зурвас - Би метр тутамд 144 LED бүхий 1 метрийн уртыг сонгосон. Ийм нягтралтай байх нь тусдаа элементүүдийг дараалан асаахаас илүүтэйгээр гэрлийг хөдөлж буй мэт харагдуулдаг.

Мөн дараахь жижиг бүрэлдэхүүн хэсгүүд:

  • Малгай - малгайтай ямар ч малгай хийх болно. Энэ бол орон нутгийн дэлгүүрийн 6 долларын үнэтэй малгай юм. Хэрэв ар талд нь оёдол байгаа бол утас дамжуулах нь илүү хялбар болно. Малгайны туузыг наасан бол анхаарлаа хандуулаарай, учир нь энэ нь нэмэлт хүндрэл учруулах болно. Үүнийг дээд талаас нь оёдог боловч доод хэсгийг нь амархан татаж авдаг.
  • 4.7K ом эсэргүүцэл
  • 3x AAA батерейны хайрцаг - 3 ААА батерейг ашигласнаар электроникийн хүссэн хэмжээнд хүчдэл гаргадаг бөгөөд энэ нь бүх зүйлийг хялбаршуулдаг. AAA нь AA -аас илүү хялбар малгай өмсдөг бөгөөд маш сайн ажиллах чадвартай хэвээр байна.
  • Жижиг хэмжигч утас - Би өмнөх LED төслөөс барьж байсан хатуу утсыг ашигласан.
  • Гагнуурын төмөр ба гагнуур
  • Малгай болон утасны дотоод өнгөтэй тохирч байгаа зарим спандекс

Санал болгосон, гэхдээ заавал биш:

  • Батерейны утсыг хурдан холбодог
  • Туслах гар хэрэгсэл, эдгээр зүйлс нь маш жижиг бөгөөд гагнахад хэцүү байдаг

Алхам 2: Малгайгаа өөрчлөх

Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх
Малгайгаа өөрчлөх

Танд электрон бараа суурилуулах малгайнд зай, зай авах газар хэрэгтэй болно. Эхнэр маань хувцастай мэргэжлийн түвшинд ажилладаг тул би түүнээс зөвлөгөө, тусламж хүсч байсан. Бид спандекс бүхий хоёр халаас үүсгэсэн. Урд зүг рүү чиглэсэн анхны жижиг халаас нь малгай шиг харагддаг бөгөөд ингэснээр электрон төхөөрөмжийг суурилуулах үед байрлалын мэдрэгчийг сайн байрлуулсан боловч шаардлагатай бол амархан арилгаж болно. Ар тал руу чиглэсэн хоёр дахь халаас бол батерейны багцыг хадгалах явдал юм.

Халаасанд титэм зураасны дагуу малгайны өнгөтэй таарсан утас тарьсан байв. Малгай, материалын хэв маягаас хамааран энэ техникээр YMMV -ээр хийгдсэн болно.

Бид мөн малгайны туузыг нэг талаас нь өөртөө наасан болохыг олж мэдсэн бөгөөд тэр байрлал дахь малгайнд бүрэн оёсон байв. LED -ийг туузны доор ажиллуулахын тулд бид анхны давхаргыг арилгах шаардлагатай болсон. Барилга угсралтын явцад тээглүүрээр бэхлээд, дууссаны дараа тохирох утасаар оёдог байв.

Эцэст нь бид малгайны ар талд оёдол нээсэн бөгөөд энэ нь туузаар бүрхэгдсэн байв. Бид LED -тэй хамт ирдэг утаснуудын бэхэлгээг тэр давхаргын дундуур шургуулж, туузан дээрх эхний LED -ийг яг оёдол дээр байрлуулав. Дараа нь бид LED -ийг малгайгаар боож, туузыг хайчилж авснаар сүүлчийн LED нь эхнийхтэй яг зэрэгцэх болно. LED туузыг зөвхөн малгайны туузаар байрлуулж болно, гэхдээ таны тууз, материалаас хамааран LED -ийг оёх эсвэл цавуугаар бэхлэх шаардлагатай байж магадгүй юм.

Алхам 3: Үүнийг утсаар холбоно уу

Үүнийг утсаар холбоно уу
Үүнийг утсаар холбоно уу

Teensy самбар болон LED нь 3.3V -аас 5V хүртэл ажиллах боломжтой. Тиймээс би 3 ААА батерейг ашиглахаар сонгосон бөгөөд 4.5 вольтын гаралтын хүчдэл нь энэ хязгаарт маш сайн байдаг бөгөөд тэдгээр нь LED -ийг ажиллуулахын тулд ажиллах хугацаатай байдаг. Та 8 -аас дээш цаг ажиллах боломжтой байх ёстой.

Эрчим хүчийг холбож байна

Би батерейны хайрцаг болон LED -ийн эерэг ба сөрөг утсыг холбож, дараа нь зохих газарт Teensy руу гагнав. Батерейны эерэг талыг диаграм дээрх Teensy -ийн баруун дээд зүүтэй холбох ёстой (самбар дээр Вин гэж бичсэн), сөрөг талыг GND шошготой ямар ч зүүгээр холбож болно. Тохиромжтой нь самбарын эсрэг талд эсвэл Вин зүүний хажууд байдаг. Самбарын бүрэн диаграммыг энэ хуудасны доод хэсгээс олж болно. Зарим тохиолдолд самбарыг захиалахдаа цаасан хуулбарыг оруулсан болно.

Хэрэв та хэд хэдэн LED -ийг нэг дор асаах кодыг ажиллуулахаар төлөвлөж байгаа бол LED -ийг Teensy -ээс 3.3V гаралт болон GND ашиглан асааж болно, гэхдээ хэрэв та хэт их хүч авахыг оролдвол самбарыг гэмтээх. Тиймээс өөртөө хамгийн их сонголтыг өгөхийн тулд LED -ийг батерейны эх үүсвэр рүү шууд холбох нь дээр.

LED -ийг холбох

Би энэ төслийн хувьд Teensy LC -ийг сонгосон бөгөөд энэ нь зүүтэй тул LED хаягийг холбоход илүү хялбар болгодог. Самбарын доод талд зүү No17 -ийн зүүн талын толин тусгалаас хоёрдугаарт, гэхдээ 3.3v байна. Үүнийг татах гэж нэрлэдэг бөгөөд бусад самбар дээр та хүчдэлийг өгөхийн тулд резистор залгах хэрэгтэй болно. Teensy LC -ийн хувьд та энэ зүүгээс шууд LED -ийнхээ өгөгдлийн утас руу залгаж болно.

Байршлын мэдрэгчийг холбож байна

Зарим BNO055 хавтангууд нь хүчдэлийн хувьд илүү хатуу бөгөөд зөвхөн 3.3 вольтыг хүсдэг. Үүний улмаас би BNO055 самбар дээрх Vin -ийг Teensy дээрх 3.3v зориулалтын гаралтаас холбосон бөгөөд энэ нь баруун талын 3 -р зүү юм. Дараа нь та BNO055 дээрх GND -ийг Teensy дээрх GND -тэй холбож болно.

BNO055 байрлалын мэдрэгч нь Teensy -тэй ярилцахдаа I2c -ийг ашигладаг. I2c нь татах шаардлагатай тул би Teensy дээрх 3.3V гаралтаас 4.7K ом эсэргүүцэл бүхий хоёр эсэргүүцлийг 18 ба 19-р тээглүүрт холбосон.

Утас холбох зөвлөмж/заль мэх

Энэ төслийг хийхийн тулд би гацсан гэхээсээ илүү хатуу утсыг ашигласан. Хатуу утаснуудын нэг давуу тал нь ийм загварыг самбар дээр гагнах явдал юм. Та утсыг хуулж, 90 градус хүртэл нугалж, терминалуудын аль нэгний ёроолд оруулах боломжтой бөгөөд ингэснээр утасны зүсэгдсэн төгсгөл нь самбар дээр наалдана. Терминал дээр барихын тулд танд бага хэмжээний гагнуур хэрэгтэй бөгөөд илүүдлийг нь амархан таслах боломжтой болно.

Хатуу утсыг хэрхэн гулзайлгахыг хүсч байгаа тул ажиллахад илүү хэцүү байх болно. Гэхдээ энэ төслийн хувьд энэ нь давуу тал байсан. Би утаснуудаа тааруулж, програмчлах зориулалттай малгайнаас электроникийг авч байрлуулахдаа байрлалын мэдрэгчийн чиглэл тогтвортой байхаар утсаа хайчилж, хэлбэржүүлсэн.

Алхам 4: Програмчлал

Бүх зүйл угсарч дууссаны дараа танд Arduino -тэй нийцтэй програмчлалын хэрэгсэл хэрэгтэй болно. Би жинхэнэ Arduino IDE (Linux, Mac, PC дээр ажилладаг) ашигладаг байсан. Teensyduino самбартай интерфэйс хийхийн тулд танд Teensyduino програм хангамж хэрэгтэй болно. Энэхүү төсөл нь LED -ийн өнгө, байрлалыг програмчлахад FastLED номын санг ихээхэн ашигладаг.

Тохируулж байна

Таны хийхийг хүсч буй хамгийн эхний зүйл бол Kris Winer -ийн BNO055 -ийн маш сайн GitHub репозитор руу очиж BNO_055_Nano_Basic_AHRS_t3.ino ноорог татаж авах явдал юм. Энэ кодыг Цуваа монитор ажиллаж байх үед суулгаарай, энэ нь BNO055 самбар онлайнаар зөв ажиллаж, өөрийн тестийг давсан эсэхийг танд хэлэх болно. Энэ нь танд BNO055 -ийг шалгалт тохируулга хийх замаар хөтлөх бөгөөд энэ нь дараа нь илүү тууштай үр дүнг өгөх болно.

Fancy LED ноорог зурж эхэлж байна

Fancy LED малгайны кодыг тусгайлан хавсаргасан болно, мөн миний GitHub репозитор дээр. Би кодонд илүү их өөрчлөлт оруулахаар төлөвлөж байгаа бөгөөд үүнийг GitHub репо дээр байрлуулах болно. Энд байгаа файл нь энэхүү зааварчилгаа хэвлэгдэх үеийн кодыг тусгасан болно. Ноорогыг татаж аваад нээсний дараа хэд хэдэн зүйлийг өөрчлөх шаардлагатай болно. Өөрчлөх чухал үнэт зүйлсийн ихэнх нь #define мэдэгдлүүдийн дээд хэсэгт байдаг.

24 -р мөр: NUM_LEDS 89 -ийг #тодорхойлох - үүнийг LED туузан дээрх LED тоонуудын бодит тоогоор өөрчилнө үү

28 -р мөр: SERIAL_DEBUG -ийг хуурамчаар тодорхойлох - та үүнийг үнэн болгохыг хүсч магадгүй бөгөөд ингэснээр та цуваа дэлгэц дээрх гаралтыг харах боломжтой болно

Албан тушаал илрүүлэх код

Байрлалыг илрүүлэх болон таны ихэнх тохируулга 742 -р мөрөөс эхэлж 802 -р дамждаг. Бид Pitch, Roll, Yaw өгөгдлийг байрлалын мэдрэгчээс аваад утгыг тогтооход ашигладаг. Таны цахилгаан хэрэгслийг хэрхэн яаж суурилуулж байгаагаас хамааран тэдгээрийг өөрчлөх шаардлагатай болж магадгүй юм. Хэрэв та байрлалын мэдрэгчийг чиптэйгээр малгайны дээд талд байрлуулж, самбар дээр хэвлэгдсэн X -ийн хажууд байгаа сум нь малгайны урд зүг чиглэсэн байвал дараахь зүйлийг харах ёстой.

  • Пич толгой дохиж байна
  • Ролл таны толгойг хазайлгаж байна, жишээ нь. чихэндээ мөрөндөө хүр
  • Yaw бол аль чиглэл юм. та тулгарч байна (Хойд, Баруун гэх мэт).

Хэрэв таны самбар өөр чиглэлд суурилагдсан бол та хүссэнээрээ биеэ авч явахын тулд Pitch/Roll/Yaw -ийг солих шаардлагатай болно.

Roll тохиргоог тохируулахын тулд та дараах #define утгыг өөрчилж болно.

  • ROLLOFFSET: малгайгаа тогтвортой байлгаж, аль болох төвлөрүүлж, хэрвээ Roll 0 биш бол үүнийг ялгавартайгаар өөрчил. Өөрөөр хэлбэл хэрэв та малгайгаа төвд байрлуулсан байхад -20 -т Roll -ийг харж байгаа бол үүнийг 20 болгоорой.
  • ROLLMAX: Roll хэмжихэд ашиглах хамгийн их утга. Малгай өмсөж, баруун чихээ баруун мөр рүүгээ чиглүүлэх замаар олоход хамгийн хялбар байдаг. Цуваа дэлгэцийг ашиглахын тулд танд урт USB кабель хэрэгтэй болно.
  • РОЛЛМИН: толгойгоо зүүн тийш хазайлгах үед өнхрөх хэмжилтийг ашиглах хамгийн бага утга

Үүний нэгэн адил, Pitch -ийн хувьд:

  • MAXPITCH - дээшээ харж байгаа хамгийн дээд утга
  • MINPITCH - доошоо харж байхдаа хамгийн бага утга
  • PITCHCENTER - та урагшаа харж байгаа үеийн давтамжийн утга

Хэрэв та SERIALDEBUG -ийг файлын дээд хэсэгт үнэн гэж тохируулсан бол эдгээр утгыг өөрчлөхөд туслах цуваа монитор дээрх Roll/Pitch/Yaw гаралтын одоогийн утгыг харах ёстой.

Таны өөрчлөхийг хүсч буй бусад параметрүүд

  • MAX_LED_DELAY 35 - LED бөөмийг хөдөлгөж чадах хамгийн удаан. Энэ нь миллисекундээр байна. Энэ нь нэг LED -ээс нөгөөд шилжих нь утсан дахь саатал юм.
  • MIN_LED_DELAY 10 - LED тоосонцор хөдөлж чаддаг мацаг. Дээрх шиг миллисекундээр байна.

Дүгнэлт

Хэрэв та ийм хол явсан бол бүрэн ажиллагаатай, хөгжилтэй, LED малгайтай байх ёстой! Хэрэв та үүнээс илүү ихийг хийхийг хүсч байвал дараагийн хуудсанд тохиргоог өөрчлөх, өөрийн ажлаа хийх талаар нэмэлт мэдээлэл орсон болно. түүнчлэн миний кодын үлдсэн хэсэг юу хийж байгааг тайлбарлах болно.

Алхам 5: Нарийвчилсан ба нэмэлт: Кодын дотор

Цохилт ба эргэлтийг илрүүлэх

Цохилт/эргэлтийг илрүүлэх ажлыг BNO055-ийн өндөр G мэдрэгчийн функцийг ашиглан хийдэг. Та initBNO055 () дээрх дараах мөрүүдийг ашиглан түүний мэдрэмжийг өөрчилж болно.

  • Мөр #316: BNO055_ACC_HG_DURATION - арга хэмжээ хэр удаан үргэлжлэх ёстой
  • Мөр #317: BNO055_ACC_HG_THRESH - нөлөөлөл ямар хэцүү байх ёстой
  • 319 -р мөр: BNO055_GYR_HR_Z_SET - эргэлтийн хурдны босго
  • 320 дугаар мөр: BNO055_GYR_DUR_Z - эргэлт хэр удаан үргэлжлэх ёстой

Хоёр утга нь хоёулаа 8 битийн хоёртын форматтай бөгөөд одоогоор нөлөөллийг B11000000 болгож тохируулсан бөгөөд энэ нь 255 -аас 192 байна.

Цохилт эсвэл эргэлт илрэх үед BNO055 нь кодыг давталтын эхэнд хайж олох утгыг тогтоодог.

// Өндөр G байт intStatus = readByte (BNO055_ADDRESS, BNO055_INT_STATUS) -ийн улмаас үүссэн аливаа тасалдлыг илрүүлэх; if (intStatus> 8) {цохилт (); } if if (intStatus> 0) {spin (); }

Нөлөөллийн зан үйлийг өөрчлөхийн тулд кодын дээрх void effect () мөрийг, эсвэл эргэх зан үйлийг өөрчлөхийн тулд void spin () мөрийг хайна уу.

Туслагчид

Би бүх LED -ийг нэг өнгө болгон хурдан тохируулах энгийн туслах функцийг (void setAllLeds ()) бүтээсэн. Бүгдийг унтраахын тулд үүнийг ашиглана уу:

setAllLeds (CRGB:: Хар);

Эсвэл та FastLED номын сангаар хүлээн зөвшөөрөгдсөн дурын өнгийг сонгож болно.

setAllLeds (CRGB:: Улаан);

Мөн бүх LED -ийг 25%бүдэгрүүлэх fadeAllLeds () функц байдаг.

Бөөмийн анги

Цахилгааны утсыг ихээхэн хялбарчлахын тулд би нэг LED чийдэнг ашиглахыг хүссэн боловч олон утастай адилхан ажиллахыг хүссэн. Энэ бол миний анхны оролдлого байсан тул би үүнийг аль болох энгийн байлгахыг хүссэн тул би нэг утсыг хоёр гэж үздэг бөгөөд дунд LED (үүд) нь хуваагдах болно. Бид тэгш эсвэл сондгой тоотой байж болох тул үүнийг тооцох хэрэгтэй. Би дэлхийн зарим хувьсагчдаас эхэлж байна:

/ * * Хувьсагч ба LED -ийн контейнер */ CRGB leds [NUM_LEDS]; статик тэмдэггүй int curLedDelay = MAX_LED_DELAY; static int centerLed = NUM_LEDS / 2; static int maxLedPos = NUM_LEDS / 2; static bool oddLeds = 0; статик bool бөөмсDir = 1; static bool speedDir = 1; гарын үсэг зураагүй урт dirCount; гарын үсэг зураагүй урт hueCount;

Мөн тохиргоонд байгаа зарим код ():

хэрэв (NUM_LEDS % 2 == 1) {oddLeds = 1; maxLedPos = NUM_LEDS/2; } өөр {oddLeds = 0; maxLedPos = NUM_LEDS/2 - 1; }

Хэрэв бид сондгой тоонуудтай бол 1/2 цэгийг дунд нь ашиглахыг хүсэж байгаа бол 1/2 цэгийг хүсэж байна. 1. Үүнийг 10 эсвэл 11 LED -ээр харахад хялбар байдаг.

  • 11 LED: Бүхэл тоотой 11/2 нь 5 хүртэл байх ёстой бөгөөд компьютер 0 -ээс тоолох ёстой. Тиймээс 0 - 4 нь нэг тал, 6 - 10 нь нөгөө тал, 5 нь тэдний хооронд байна. Бид энэ тохиолдолд #5 -ийг аль алиных нь нэг хэсэг гэж үздэг, өөрөөр хэлбэл энэ нь LED -ийн виртуал хэлхээний хувьд #1 юм.
  • 10 LED: 10/2 нь 5. Гэхдээ компьютер 0 -ээс эхлэн тоолж байгаа тул бид нэгийг нь хасах хэрэгтэй. Дараа нь бид нэг хагаст 0 - 4, нөгөө талд нь 5 - 9 байна. Эхний виртуал мөрийн #1 нь 4, хоёр дахь виртуал мөрийн #1 нь #5 байх болно.

Дараа нь манай бөөмийн кодонд бид ерөнхий байрлалаас LED утсан дээрх бодит байрлал хүртэл тоолох ёстой.

if (oddLeds) {Pos1 = centerLed + CurrPos; Pos2 = centerLed - CurrPos; } өөр {Pos1 = centerLed + CurrPos; Pos2 = (centerLed -1) - CurrPos; }

Код нь бөөмс чиглэлээ өөрчлөх боломжтой нөхцлүүдтэй тул үүнийг бас анхаарч үзэх хэрэгтэй.

if (particleDir) {if ((CurrPos == NUM_LEDS/2) && oddLeds) {CurrPos = 0; } өөр бол ((CurrPos == NUM_LEDS/2 - 1) && (! oddLeds)) {CurrPos = 0; } өөр {CurrPos ++; }} өөр {хэрэв ((CurrPos == 0) && oddLeds) {CurrPos = centerLed; } өөр бол ((CurrPos == 0) && (! oddLeds)) {CurrPos = centerLed - 1; } өөр {CurrPos--; }}

Тиймээс бид дараагийн чиглэлд аль LED асах ёстойг тооцоолохын тулд зориулагдсан чиглэлийг (particleDir) ашигладаг, гэхдээ бид LED зурвасын жинхэнэ төгсгөл эсвэл төвийн цэгийн аль нэгэнд хүрсэн эсэхийг анхаарч үзэх хэрэгтэй. виртуал мөр бүр.

Энэ бүхнийг олж мэдсэний дараа бид шаардлагатай бол дараагийн гэрлийг асаадаг.

if (particleDir) {if (oddLeds) {Pos1 = centerLed + CurrPos; Pos2 = centerLed - CurrPos; } өөр {Pos1 = centerLed + CurrPos; Pos2 = (centerLed -1) - CurrPos; }} өөр {хэрэв (oddLeds) {Pos1 = centerLed - CurrPos; Pos2 = centerLed + CurrPos; } өөр {Pos1 = centerLed - CurrPos; Pos2 = (centerLed -1) + CurrPos; }} leds [Pos1] = CHSV (CurrHue, 255, 255); leds [Pos2] = CHSV (CurrHue, 255, 255); FastLED.show ();}

Энэ ерөөсөө яагаад анги болгоод байгаа юм бэ? Одоогийн байдлаар энэ нь маш энгийн бөгөөд хичээлд хамрагдах шаардлагагүй юм. Гэсэн хэдий ч би нэг удаад нэгээс илүү тоосонцор гарч ирэхийн тулд кодыг шинэчлэх төлөвлөгөөтэй байгаа бөгөөд зарим нь урвуу ажиллаж байхад зарим нь урагшлах болно. Олон тооны тоосонцор ашиглан эргэлтийг илрүүлэх үнэхээр гайхалтай боломжууд байгаа гэж би бодож байна.

Зөвлөмж болгож буй: