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

Arduino Pro Mini ба TFT дэлгэцтэй Magic Answers Ball: 7 алхам
Arduino Pro Mini ба TFT дэлгэцтэй Magic Answers Ball: 7 алхам

Видео: Arduino Pro Mini ба TFT дэлгэцтэй Magic Answers Ball: 7 алхам

Видео: Arduino Pro Mini ба TFT дэлгэцтэй Magic Answers Ball: 7 алхам
Видео: Настройка 3D-принтера с помощью MKS sGen L v1.0 Часть 3 2024, Долдугаар сарын
Anonim
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball
Arduino Pro Mini болон TFT дэлгэцтэй Magic Answers Ball

Хэсэг хугацааны дараа охин бид хоёр Magic 8 бөмбөгийг салгаж авснаар тэр хорин хариултыг өөрийн хүссэн хариултаар сольж чадсан юм. Энэ бол түүний найздаа өгсөн бэлэг байв. Энэ нь үүнийг хэрхэн илүү өргөн хүрээнд хийх талаар бодоход хүргэсэн юм. Бид 20 гаруй хариулттай байж болох уу? Цахим хувилбараар бид чадна!

Тиймээс энэ нь би хэрхэн Mattel Magic 8 бөмбөгийг задалж (Mattel) дугуй хэлбэртэй TFT дэлгэц ашиглан олон тооны нэмэлт хариултыг харуулсан болохыг тайлбарлах болно (миний олж чадах хамгийн жижиг micro-SD карт нь 8GB хэмжээтэй байсан тул энэ нь үнэхээр хэт их юм. үүнийг юунд ашигладаг вэ). Бөмбөг нь Sparkfun Wake-on-shake самбар ашиглан хариу үйлдэл хийж, дараа нь зайгаа хэмнэхийн тулд бөмбөгийг унтраадаг. Батерейг USB холболтоор цэнэглэхийн тулд цэнэглэх самбар ашигладаг.

Хангамж

Эд анги:

Arduino Pro Mini 328 - 3.3V/8MHz

Shake дээр SparkFun Wake

Лити -ион батерей - 400 мАч

Зохион байгуулагч 12 ширхэг TP4056 цэнэглэх модуль 5V бичил USB 1А 18650 лити батерейны хамгаалалтын цэнэглэгч модуль бүхий цэнэглэх самбар (танд эдгээрийн зөвхөн нэг нь л хэрэгтэй, гэхдээ 12 багц нь 9 доллараас бага байсан)

DAOKI 5Pcs Micro SD хадгалах самбар (дахин хэлэхэд танд зөвхөн нэг л хэрэгтэй, гэхдээ 5 багц нь 9 доллараас бага хэвээр байсан)

DFRobot 2.2 инчийн TFT LCD дэлгэцийн модуль

Kingston 8 GB microSD (танд хуучин байшингийнхаа хажууд хэвтэж байж магадгүй)

Perma-Proto Улирлын хэмжээтэй Breadboard ПХБ (та дуртай ПХБ-ээ ашиглаж болно)

Magic 8 бөмбөг

FTDI Basic 3.3V breakout (хэрэв та Arduino Pro Mini эсвэл үүнтэй төстэй самбартай ижил төстэй төсөл хийсэн бол танд аль нэг нь байж магадгүй)

2.54mm JST XH эрэгтэй/эмэгтэй зүү толгойтой Dupont утас холбогч иж бүрдэл бүхий 4 зүү орон сууц (заавал биш боловч батерейг холбохыг зөвлөж байна)

Бусад үндсэн хангамж:

Sugru Moldable Glue (наалдамхай тууз, халуун цавуу хэрэглэж болно, гэхдээ надад энэ нь илүү таалагддаг)

Наалдамхай тууз

Хоёр талт хөөс соронзон хальс

Утас

Хэрэгсэл:

Гагнуурын төмөр

Таны сонгосон эргүүлэх хэрэгсэл (өөрөөр хэлбэл Dremel)

Тавилгын хавчаар

Алхам 1: Magic 8 бөмбөгийг хагасаар хайчилж ав

Magic 8 бөмбөгийг хагасаар нь хайчилж ав
Magic 8 бөмбөгийг хагасаар нь хайчилж ав
Magic 8 бөмбөгийг хагасаар нь хайчилж ав
Magic 8 бөмбөгийг хагасаар нь хайчилж ав

Эхлээд та Magic 8 бөмбөгийг хоёр хуваах хэрэгтэй болно. Би тавилга хавчаар ашиглан ажлын талбарыг хавтгай талыг нь доош нь харуулав. Үндсэн зүсэх диск хавсаргасан Дремел ашиглан бөмбөгний давхаргын дагуу хайчилж ав. Та огтлох дискний зөвшөөрсөн хэмжээнд хүртэл гүн зүсэх хэрэгтэй болно. Удаан аваарай. Хажуугаар нь хайчилж авсны дараа та эцсийн тусгаарлалтыг хийхийн тулд хавтгай халив эсвэл цүүц ашиглах хэрэгтэй болж магадгүй юм. Дотор нь "шидэт" шингэн, icosahedron (хорин талын хэлбэртэй - тийм ээ, би үүнийг дээш харах ёстой байсан) агуулсан цилиндр байдаг. Үүнийг хаях эсвэл өөр төсөлд ашиглах хэрэгтэй. Хэрэв та үүнийг өөр төсөлд ашиглаж байгаа бол юу хийснээ надад хэлээрэй, тэгвэл би юу хийхээ мэдэх болно.

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

Гаднах ирмэгийн эргэн тойронд зарим хуванцар шаар байх болно (хайлсан, дахин хатсан хуванцар). Боломжтой бол гараараа тоормослох; хэрэгсэл ашиглах нь бөмбөгний өнгөлгөөг үрэх эрсдэлтэй бөгөөд шаар нь амархан гадагшилдаг.

Алхам 2: Бөмбөгийг бэлтгэ

Бөмбөгийг бэлтгэ
Бөмбөгийг бэлтгэ
Бөмбөгийг бэлтгэ
Бөмбөгийг бэлтгэ
Бөмбөгийг бэлтгэ
Бөмбөгийг бэлтгэ

Бөмбөгний хуванцар талыг бид хоёр удаа өөрчлөх шаардлагатай болно.

Нэгдүгээрт, нээлттэй хэсэгт, "8" дээр будсан хэсэгт, USB цэнэглэгч самбар нь USB порт гарч наалдсан суухад хангалттай том хэсгийг хусах хэрэгтэй болно. Би Дремелээ том ширхэгтэй зүлгүүрийн бөмбөр зүүж ашигласан. Та үүнийг цэвэрлэхгүйгээр аль болох нимгэн байхыг хүсч байна. Дараа нь USB портыг гаднаас нь цоолох боломжийг олгох жижиг нүхийг хайчилж ав. Би USB портыг хэмжихэд диаметр хэмжигч ашигласан боловч хэрэв шаардлагатай бол та үүнийг нүдээр харж болно. Дахин хэлэхэд би нээлт хийхийн тулд жижиг зүсэх хавсралт бүхий Дремелийг ашигласан. Эхний хоёр зураг дээр нээлт болон түүний ард USB самбар ямар харагдаж байгааг харуулав.

Хоёрдугаарт, нөгөө талдаа, ХОЁР талдаа нүхтэй, цагаан хуванцар уруултай нь дэлгэц дээр суух газар бэлтгэ. Дэлгэц суух нээлхийн дотор хуванцар нуруу, нээлхийн дотор талд резин (?) Фланц байна. Хоног гаргаж аваад хажуу тийш нь тавь. Бид үүнийг дараа нь буцааж тавих болно, гэхдээ үүнийг энэ алхамд саад болохыг хүсч байна. Дэлгэц нь нэг талдаа тэгш өнцөгт шахмал хэлбэртэй бөгөөд хэрэв эдгээр нурууны зарим хэсгийг арилгаагүй бол нүхэнд хэвтэх боломжийг олгодоггүй. Дремел дээр том ширхэгтэй зүлгүүрийн хүрд ашиглан дахин аль болох хусаарай. Дэлгэц хамгийн сайн өнцгөөр харагдах нүхнээс орж ирээрэй. Энэ нь дууссаны дараа зураг шиг харагдах ёстой. Анхаарна уу, зургууд дэлгэцийг байрандаа харуулсан боловч хараахан үүнийг бүү хавсаргаарай.

Алхам 3: Бичил SD карт дээрх хариултуудыг бэлтгэ

Энэ алхам нь таны бодож байгаагаас арай илүү төвөгтэй юм. Хэрэв та өөрийн хариултын жагсаалтыг гаргахыг хүсэхгүй байгаа бол энэ алхамын сүүлийн догол мөр рүү алгасаарай.

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

Дэлгэц нь дугуй хэлбэртэй байсан ч функциональ байдлаар тойрог дотор зөвхөн пикселүүд байдаг виртуал тэгш өнцөгт дэлгэц юм. Дэлгэц нь олон хэмжээтэй текстийг харуулах боломжтой боловч бид зөвхөн 6х8 пиксел хэмжээтэй хамгийн жижиг хувилбарыг ашигладаг. Энэ хэмжээг ашиглан дэлгэцийг дэлгэц дээр байрлуулах боломжтой 315 тэмдэгт байдаг (нэг мөрөнд 15 мөрийг 21 тэмдэгт оруулах боломжтой), гэхдээ зөвхөн 221 нь харагддаг бөгөөд мөр бүрт өөр өөр тооны тэмдэгтүүд байдаг. Асуудлыг харж байна уу?

Би форматлаагүй хариултуудын файлыг авч, дугуй хэлбэртэй TFT дээр хялбархан харуулах бүрэн төвлөрсөн бичлэг болгон хөрвүүлэхийн тулд Java програм бичсэн. ("FormatToPicksFileFullyCentered.java" файлыг татаж авах линк).

Кодыг бүхэлд нь тайлбарлахгүйгээр ерөнхийдөө бид төвөөс хойш ухарч, хоосон зай оруулах замаар нүдэнд харагдахуйц мөрүүдийг зөрчихгүй байх ёстой. төв урагш. Эцэст нь бид бүх мөрүүдийг тойрч, мөр бүрийг 21 тэмдэгт мөрийн дунд байрлуулж яг 316 байт (315 үсэг, тоон тэмдэгт, шинэ мөрийн тэмдэгт) бичлэгийг бий болгоно. Код нь x 3, x 2, x 1 гэсэн гурван фонтоор ажилладаг бөгөөд аль нь ашиглаж болох, текстэд тохирсон хэвээр байгаа фонтыг харах боломжтой болно. Төвлөрөл нь x 2 ба x 3 фонтын хувьд жаахан дутуу байна, уучлаарай. Нэгээс илүү байтыг эзэлдэг тэмдэгтүүдээс болгоомжлох хэрэгтэй бөгөөд эдгээр нь гаралтын файлыг устгах болно.

"Picks.txt" файлыг micro SD карт руу хуулна уу.

Хэрэв та өөрийн сонгосон жагсаалтыг гаргахад бэрхшээлтэй тулгарахыг хүсэхгүй байгаа бол SD карт руу хуулж, ашиглах боломжтой сонголтуудынхаа жагсаалтыг би оруулсан болно. Би одоогоор.txt файлыг зааварчилгаанд байршуулж чадаагүй тул эндээс picks.txt файлыг татаж авах линкийг энд оруулав.

Алхам 4: Arduino Mini руу код оруулах

Arduino Mini руу код оруулах
Arduino Mini руу код оруулах
Arduino Mini руу код оруулах
Arduino Mini руу код оруулах
Arduino Mini руу код оруулах
Arduino Mini руу код оруулах

Нэгдүгээрт, хэрэв та Arduino Pro Mini -ийг өмнө нь ашиглаж байгаагүй бол USB кабель залгаад татаж авах боломжгүй. Та FTDI самбар ашиглаж, утсыг мини дээрх зохих тээглүүрт холбох хэрэгтэй. Би энэ талаар заавар өгөхгүй, вэб дээр маш олон зүйл байгаа. Миний хувьд би кодыг татаж авахад ганцхан удаа ашиглагддаг микроконтроллерын самбар дээр байнгын холбогчийг гагнахыг хүсээгүй тул мини гагнахгүйгээр програмчлахад ашиглаж болох жижигхэн клип бүтээв (зургийг үзнэ үү). Үүнийг Фиди гэх мэт бүтээгдэхүүнүүдээс санаа авсан боловч надад 3D принтер ашиглахад хялбар байдаггүй тул төмсний чип хавчаараар өөрөө хийсэн. Хэрэв хүмүүс сонирхож байгаа бол би үүний төлөө л зааварчилгаа өгөх болно.

Код руу оръё. Энэ кодын хэд хэдэн сонирхолтой хэсгүүд байдаг боловч ихэнхдээ шууд урагшаа гардаг.

Тохиргооны функцэд сайн санамсаргүй үрийг авахтай холбоотой зохих хэмжээний код байдаг. Холбогдоогүй зүүгээс аналог унших аргыг ашиглах ердийн арга нь миний туршлагад хангалттай олон янзын хариу өгөхгүй байна. Би 477-482 гэсэн тоог авдаг. Arduino санамсаргүй функц нь ганц ганц дараалалтай бөгөөд үр нь энэ дарааллаар хаанаас эхлэхээ тодорхойлдог тул ийм нарийн хүрээ нь эцсийн дүндээ хангалттай хариулт өгөхгүй болно. Энэ код нь Wake-on-shake самбар нь тэжээлийг унтрааж, асаах бүртээ эхэлдэг гэдгийг санаарай, тиймээс үрээр тодорхойлогдсон эхний дарааллын байрлал нь маш чухал юм. Үүнд туслахын тулд би SD карт дээр хамгийн сүүлчийн үрийг хянаж, холбогдоогүй зүүгээс гарч буй шинэ утгыг нэмэхийн тулд маш жижиг файл бичдэг.

Давталтын функцээс сонголтыг сонгоод тэмдэгтүүдийн массив руу уншсаны дараа бид мөрийг бүхэлд нь хэвлэж чадахгүй. Дэлгэц нь нэг удаад хичнээн урт утсыг барьж чадах хязгаартай. Ийм учраас бид арван таван мөр бүрийг тойрч, нэг нэгээр нь дэлгэц рүү илгээх ёстой.

Шаардлагатай гадаад номын сан:

ST7687S номын сан

DFRobot-Дэлгэцийн номын сан

Алхам 5: Бүрэлдэхүүн хэсгүүдийг холбоно уу

Бүрэлдэхүүн хэсгүүдийг утсаар холбоно уу
Бүрэлдэхүүн хэсгүүдийг утсаар холбоно уу
Бүрэлдэхүүн хэсгүүдийг утсаар холбоно уу
Бүрэлдэхүүн хэсгүүдийг утсаар холбоно уу

Утасны бүх гагнуур хийх цаг болжээ. Би хэрэгтэй байгаагаасаа арай урт утаснуудад алдаа гаргах хандлагатай байсан ч энэ нь сайн үр дүнд хүрсэн.

Хавсаргасан схемд TFT дэлгэцийг бүхэл бүтэн дэлгэцийн зураг гэхээсээ илүү холбогчоор дүрсэлсэн болно (үүнд Fritzing хэсгийг олж чадаагүй). Би утас/тээглүүрийг тухайн хэсэгт хэрхэн шошголсон дээр үндэслэн шошго тавьсан. Үүний нэгэн адил SD карт нь яг миний ашигласан карт биш, гэхдээ би жагсаасан хэсгийн утас/зүүг тэмдэглэсэн.

Энэ үе шатанд би гагнахгүй байсан нэг бүрэлдэхүүн хэсэг байдаг: зай. Үүний оронд би хоёр зүүг салгасан дөрвөн зүү холбогч ашигласан (хоёр дахь зураг). Энэ нь бүх бүрэлдэхүүн хэсгүүдийг хооронд нь холбож туршиж үзээд дараа нь бүх зүйлийг бөмбөгөнд холбохдоо зайгаа салга.

Эцэст нь би хүч чадал болон хуваалцсан холболтыг хөнгөвчлөхийн тулд дөрөвний нэг хэмжээтэй байнгын талхны ПХБ ашигласан. Үүнийг угсрах зургуудаас харах болно.

Бүх зүйл ажиллаж байгаа эсэхийг шалгаарай

Алхам 6: Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана

Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу
Бүрэлдэхүүн хэсгүүдийг бөмбөгөнд хавсаргана уу

Эхлээд дэлгэцийг байрлуулж, аюулгүй болгохын тулд зарим Sugru ашиглана уу (эхний хоёр зураг). Өмнө нь салгасан фланцынхаа талаар бүү мартаарай, дэлгэцийг бэхлэхээс өмнө үүнийг буцааж байрлуулах ёстой.

Дараа нь би бөмбөгний хоосон хагасын ёроолд прото самбарыг наажээ. Би бүх гагнуураа самбарын нэг талд хадгалдаг байсан тул би туузаа хийж болох хагас самбартай хэвээр байсан. Дараа нь би батерейг прото самбарын ижил хагас дээр наажээ (гурав дахь зураг).

Хоёр тал хоёулаа утсаар холбогдсон байна. Хоёр талыг хооронд нь холбосноор USB нүх хаана дуусахыг олж мэдээрэй. Хэрэв цагаан уруул дээр нуруу нь наалдсан байвал цагаан уруулын аль нэг шаантаг дээр төвлөрч буух ёстой гэдгийг санаарай, учир нь бид USB урамшууллын самбарыг уруул дээрх хоёр хуванцар ирмэгийн хооронд бэхлэх болно.

Жижигхэн хоёр талт хөөс соронзон хальсны тусламжтайгаар USB цэнэглэх самбарыг холбоно уу. Хоёр талт соронзон хальс нь цэнэглэх самбарын бүх ёроолыг хамрах ёсгүй, учир нь уясан утас бүхий төгсгөл нь цагаан уруулын дунд ирмэг дээр дүүжлэгдэх болно. Тиймээс соронзон хальс нь хавтангийн доод гадаргуугийн дөрөвний гурвыг хамарсан байх ёстой. Соронзон хальсыг эхлээд самбарын доод талд байрлуулаад дараа нь шийдсэн газраа дарна уу. USB холбогч нь бөмбөгний ирмэг дээр байх ёстой бөгөөд хуванцарны хар хэсэгт наалдсан байх ёстой. Төгсгөлд нь самбарын орой дээр хоёр Sugru түрхээд хоёр талаас нь бэхлээрэй. Энэ нь кабелийг USB порт руу оруулах үед нэмэлт хүчийг нэмэгдүүлдэг.

Бичил SD картыг яг одоо SD картны модульд оруулна уу

Хэрэв та хүсвэл бусад бүрэлдэхүүн хэсгүүдийг цагаан уруулаар бэхлэх боломжтой. Би үлдсэн хэсгүүдийг дэлгэцийн ард байрлуулсан.

Алхам 7: Хоёр талыг нь буцааж тавь

Хоёр талыг буцааж тавь
Хоёр талыг буцааж тавь
Хоёр талыг буцааж тавь
Хоёр талыг буцааж тавь

Та SD картаа оруулсан эсэхээ шалгаад бүх бүрэлдэхүүн хэсгүүдийг хамтад нь шалгасан эсэхийг шалгаарай.

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

Хоёр талыг нь дарж, USB порт нь өмнө нь тайрч авсан нүхээр дамжиж байгаа эсэхийг шалгаарай. Тавилгын хавчаарыг ашиглан хоёр талыг нь чангалж, талыг нь хооронд нь байлга, тиймээс хатуу хавчих шаардлагагүй болно. Sugru цавуу 24 цагийн дотор хатуурна.

Хэрэв танд үенээс шахсан цавуу байгаа бол хуруугаараа эсвэл гөлгөр даавуу/цаасан алчуураар хусаж болно.

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