Мазмуну:

Magic Answers Ball Arduino Pro Mini жана TFT Display менен: 7 кадам
Magic Answers Ball Arduino Pro Mini жана TFT Display менен: 7 кадам

Video: Magic Answers Ball Arduino Pro Mini жана TFT Display менен: 7 кадам

Video: Magic Answers Ball Arduino Pro Mini жана TFT Display менен: 7 кадам
Video: Когда Контрнаступление Украины? (10 июня 2023) 2024, Июль
Anonim
Magic Answers Ball Arduino Pro Mini жана TFT Display менен
Magic Answers Ball Arduino Pro Mini жана TFT Display менен
Magic Answers Ball Arduino Pro Mini жана TFT Display менен
Magic Answers Ball Arduino Pro Mini жана TFT Display менен
Magic Answers Ball Arduino Pro Mini жана TFT Display менен
Magic Answers Ball Arduino Pro Mini жана TFT Display менен

Бир аз убакыт өткөндөн кийин, кызым экөөбүз Magic 8 тобун бөлүп алдык, ал жыйырма жоопту анын тандоосу менен алмаштыра алды. Бул анын досунун белеги болчу. Муну кантип чоң масштабда жасоону ойлондум. Бизде 20дан ашык жооп болушу мүмкүнбү? Электрондук версия менен биз жасай алабыз!

Ошентип, бул мен Mattel Magic 8 Ballду кантип ажыратып салганымды жана кошумча жооптордун укмуштуудай санын көрсөтүү үчүн тегерек TFT дисплейин колдонгондугумду сүрөттөйт (мен тапкан эң кичинекей микро-SD карта 8 ГБ болгон, ошондуктан ал чындап эле ашыкча ал эмне үчүн колдонулат) Топ Sparkfun Wake-on-Shake тактасын колдонуп, жоопту иштетет жана батареяны үнөмдөө үчүн топту кийин өчүрөт. Батарейканы USB туташуусунан кайра заряддоого мүмкүндүк берүү үчүн кайра заряддоо тактасы колдонулат.

Жабдуулар

Бөлүктөр:

Arduino Pro Mini 328 - 3.3V/8MHz

Shake боюнча SparkFun ойгонот

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

Уюштуруучу 12pcs TP4056 Заряддоо Модулу 5V Микро USB 1А 18650 Литий Батареясын Коргоочу Заряддоочу Модулу менен Заряддоо Башкармасы (сизге булардын бири гана керек, бирок 12 пакет 9 доллардан азыраак болгон)

DAOKI 5Pcs Micro SD сактагыч тактасы (дагы бир жолу сизге керек, бирок 5 пакет дагы $ 9дан аз болчу)

DFRobot 2.2 дюймдук TFT LCD дисплей модулу

Кингстон 8 ГБ microSD (сизде булардын эскилиги болушу мүмкүн)

Perma-Proto чейрек өлчөмүндөгү Breadboard PCB (сиз каалаган ПКБны колдоно аласыз)

Magic 8 Ball

FTDI Basic Breakout 3.3V (эгер сиз Arduino Pro Mini же ушуга окшош такта менен ушундай долбоорду аткарсаңыз, анда сизде буга чейин болушу мүмкүн)

2.54mm JST XH Эркек/Ургаачы Pin Header Dupont Wire Connector Kit менен 4 пин турак (милдеттүү эмес, бирок батареяны туташтыруу үчүн сунушталат)

Башка негизги жабдуулар:

Sugru Moldable Glue (скотч менен ысык желимди колдонсо болмок, бирок мага бул жакты)

Лента

Эки тараптуу көбүк тасмасы

Зым

Куралдар:

Кандооч

Сиз тандаган рота куралы (б.а. Dremel)

Эмерек кысуучу

1 -кадам: Сыйкырдуу 8 топту жарымына бөлүңүз

Сыйкырдуу 8 топту экиге бөлүңүз
Сыйкырдуу 8 топту экиге бөлүңүз
Сыйкырдуу 8 топту экиге бөлүңүз
Сыйкырдуу 8 топту экиге бөлүңүз

Алгач сиз Magic 8 Ballду экиге бөлүшүңүз керек. Мен эмерек кыскычын колдонуп тегиз жагын ылдый каратып жумуш столуна бекиттим. Негизги кесүүчү диск тиркелген Дремелди колдонуп, шардын тигилген жерин кесип алыңыз. Сиз терең, кесүү диск уруксат бергендей, абдан көп кесип алышыңыз керек. Акырын алыңыз. Кесип бүтүргөндөн кийин да, акыркы бөлүүнү жасоо үчүн жалпак баштуу отвертка же кескичти колдонуу керек болушу мүмкүн. Ичинде "сыйкырдуу" суюктукту жана икосаэдрди (жыйырма кырдуу форма - ооба, мен муну карашым керек болчу) кармаган цилиндр бар. Муну ыргытыңыз же башка долбоордо колдонуңуз. Эгер сиз аны башка долбоордо колдонсоңуз, мага эмне кылганыңызды билдириңиз, ошондо меники менен эмне кылышымды билем.

Сиз сүрөттөрдө көрсөтүлгөндөй эки жарым менен каласыз. Мен муну азыр үч жолу кылдым жана эң акыркы жолу, ак эрин кырка эмес, жылмакай болчу, андыктан сиздин шарыңыз сүрөттөгүдөй бир аз башкача көрүнүшү мүмкүн.

Сырткы четинде дагы деле пластикалык шлактар болот (ээриген жана кайра катталган пластик). Колуңуз менен тормозуңуз, эгер мүмкүн болсо; инструментти колдонуу менен топтун аягына чейин сүрүлүп калуу коркунучу бар жана шлак оңой эле чыгып кетет.

2 -кадам: Топту даярдаңыз

Топту даярда
Топту даярда
Топту даярда
Топту даярда
Топту даярда
Топту даярда

Топтун пластикалык жарымына эки өзгөртүүнү киргизишибиз керек.

Биринчиден, "8" боёлгон ачык бөлүктө, USB заряддоо тактабыздын USB порту сыртка чыгып отурушу үчүн, чоң аймакты кырып салышыбыз керек. Мен Дремелимди катуу тегиздөө барабаны менен колдоном. Сиз муну тазаланбай туруп, мүмкүн болушунча жука кылгыңыз келет. Андан кийин кичинекей тешикти кесип, USB портун сыртка чыгарууга уруксат бериңиз. Мен USB портун өлчөө үчүн калибрди колдондум, бирок керек болсо сиз муну көрө аласыз. Дагы, мен ачууну жасоо үчүн кичинекей кесүүчү тиркеме менен Дремелди колдондум. Биринчи эки сүрөт ачылышын жана анын артында USB такта менен кандай экенин көрсөтөт.

Экинчиден, экинчисинде, ЭКИ тарабында тешиги бар жана ак пластик эрин, дисплейдин отурушу үчүн жер даярдайт. Дисплей отура турган тешиктин ичинде эле, пластикалык кыркалар жана оюктун ичинде резина (?) Фланеци бар. Фланецти алып чыгып, бир жакка коюңуз. Биз муну кийинчерээк артка кайтарабыз, бирок биз бул кадамга жол жок болушун каалайбыз. Дисплейдин бир тарабында тик бурчтуу экструзия бар, эгерде бул кыркалардын айрымдары алынып салынбаса, анын ачылышта тегиз отурушуна жол бербейт. Дремелге дагы тегиз тегиздөөчү барабанды колдонуп, мүмкүн болушунча кырып салыңыз. Дисплей эң жакшы бурчта боло турган тешиктен келиңиз. Ал бүткөндөн кийин сүрөттөргө окшош болушу керек. Эскертүү, сүрөттөр дисплейди өз ордунда көрсөтүп турат, бирок ага азырынча КОШУЛБАҢЫЗ.

3-кадам: Micro-SD карта боюнча жоопторду даярдоо

Бул кадам сиз ойлогондон бир аз татаалыраак. Эгерде сиз өзүңүздүн жооп тизмеңизди түзгүңүз келбесе, бул кадамдын акыркы абзацына өтүңүз.

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

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

Мен Java программасын форматталбаган жооптор файлын алып, тегерек TFTде оңой көрсөтүлө турган толук борборлоштурулган жазууларга айландыруу үчүн жаздым. ("FormatToPicksFileFullyCentered.java" файлын жүктөө үчүн шилтеме).

Бүтүндөй кодду түшүндүрбөстөн, жалпы идея - биз борбордон артка карай иштейбиз (бош) жана боштуктарды киргизип, сөздү көрүнөө сызыктар аркылуу бузбашыбыз үчүн, андан кийин ошол эле нерсени кылабыз. алдыга борбор. Акыр-аягы, биз бардык саптарды айлантып, 216 символдун ар бир сызыгынын ортосуна так 316 байт (315 тамга-сандык белгилер жана жаңы сап белгиси) жазуусун түзөбүз. Код иш жүзүндө үч шрифт аркылуу иштейт, x 3, x 2 жана x 1, бул тексттин колдонула турган жана дагы деле ылайыктуу болгон эң чоң шрифти экенин көрүү үчүн. Борборлоштуруу x 2 жана x 3 шрифттери үчүн бир аз өчүрүлгөн, кечиресиз. Бирден ашык байтты ээлеген символдордон сак болуңуз, алар чыгарылган файлды ыргытып салышы мүмкүн.

"Picks.txt" файлын микро 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-Display китепканасы

5 -кадам: Компоненттерди зым менен жабыңыз

Компоненттерди тартыңыз
Компоненттерди тартыңыз
Компоненттерди тартыңыз
Компоненттерди тартыңыз

Бардык зымдарды ширетүү убактысы келди. Мен чындыгында керек болгондон бир аз узунураак зымдар менен ката кетирдим, бирок бул жакшы иштеди.

Тиркелген схемада TFT дисплейи бүт дисплейдин сүрөтү эмес, туташтыргыч менен көрсөтүлөт (мен Fritzing бөлүгүн таба алган жокмун). Мен зымдарды/төөнөгүчтөрдү бөлүктө кантип белгиленгенине жараша белгилеп койдум. Ошо сыяктуу эле, SD карта мен колдонгон так эмес, бирок мен көрсөтүлгөн бөлүктүн зымдарын/казыктарын белгилеп койдум.

Мен бул кадамда чогуу ширетпеген бир компонент бар: батарея. Анын ордуна, мен эки ортолуу казыктары алынып салынган төрт зымдуу туташтыргычты колдондум (экинчи сүрөт). Бул мага бардык компоненттерди бириктирип сынап көрүүгө, анан мен баарын шарга тиркеп жатканда батареяны ажыратууга уруксат берди.

Акыр-аягы, мен кубаттуулукту жана бөлүшүлгөн байланыштарды жеңилдетүү үчүн чейрек өлчөмүндөгү туруктуу нан платасын колдондум. Сиз муну ассамблеядагы сүрөттөрдөн көрөсүз.

Баары иштеп жаткандыгын текшериңиз

6 -кадам: Компоненттерди шарга тиркөө

Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө
Топко компоненттерди тиркөө

Адегенде дисплейди ордуна коюп, аны камсыз кылуу үчүн кээ бир Сугруну колдонуңуз (алгачкы эки сүрөт). Мурда алып салган фланецти унутпаңыз, дисплейди ордуна бекитүүдөн мурун аны кайра ордуна коюшуңуз керек.

Андан кийин, мен прото тактаны топтун бош жарымынын түбүнө скотч менен чаптадым. Мен бардык ширеткичтеримди тактанын бир жагында кармадым, андыктан менде дагы лентанын жарымы калды. Мен батарейканы прото тактасынын ошол эле жарымынын үстүнө скотч менен чаптадым (үчүнчү сүрөт).

Эки жарым тең азыр зымдар менен туташкан. Эки тешикти бириктиргенде USB тешиги кайда бүтөөрүн аныктаңыз. Эгерде ак эриндин омурткалары жабышып калган болсо, анда ал ак эриндин такасынын бирине түшүшү керек экенин эстен чыгарбаңыз, анткени биз эриндин үстүндөгү пластикалык кыркалардын ортосуна USB заряддоо тактасын бекитебиз.

Эки тараптуу көбүк тасманын кичинекей бөлүгүн колдонуп, USB кубаттоо тактасын тиркеңиз. Эки тараптуу лента заряддык тактанын түбүн бүт жаппашы керек, анткени зымдардын учу ак эриндин борбордук четине илинет. Ошентип, лента тактанын астыңкы бетинин төрттөн үч бөлүгүн камтышы керек. Тасманы алгач тактанын түбүнө коюңуз, анан чечкен жериңизге басыңыз. USB туташтыргычы топтун четинде туруп, пластиктин кара жерине жабышып, топтун сыртына чыкпай турушу керек. Акыр -аягы, тактанын үстүнө дагы эки Сугруну колдонуңуз жана эки тарапты тең камсыз кылыңыз. Бул USB портуна кабель киргизилгенде кошумча күч берет.

Микро SD картаны азыр SD карт модулуна салыңыз

Кааласаңыз, башка компоненттерди ак эринге беките аласыз. Мен калган компоненттерди дисплейдин артына тыктым.

7 -кадам: Эки жарымды кайра бириктирип коюңуз

Эки жарымды кайра бириктир
Эки жарымды кайра бириктир
Эки жарымды кайра бириктир
Эки жарымды кайра бириктир

SD картаны салганыңызды жана бардык компоненттерди бирге текшергениңизди эки жолу текшериңиз.

Макул, эгер сиз даяр болсоңуз, Сугру клейинен узун жылан жасаңыз жана аны ак эрин менен шардын жарымынын четине чейин чуркаңыз (биринчи сүрөт). Желимди пластиктин ак жана кара бөлүктөрү бириккен жерден бириктирүү керек. Бул жерге клей коюу менен сиз эки тарап тең бириккенден кийин жаракадан сыгылып кетүүчү желимдин санын азайтуу менен бекем байланышыңыз бар экенине ынанасыз.

USB порту мурда кесилген тешиктен өтөөрүн текшерип, эки жарымын тең басыңыз. Эмерек кыскычын колдонуп, эки жарымын бирдей бекем кармаңыз, жарымдарды бирге кармоо үчүн, аны катуу кысуунун кереги жок. Sugru клейи болжол менен 24 сааттын ичинде катып калат.

Эгерде сизде муундан сыгылып кеткен желим бар болсо, аны манжаңыз менен же жылмакай кездеме/кагаз сүлгү менен сүртүп алыңыз.

Сунушталууда: