Мазмуну:

Rainbow Dice: 6 кадам (Сүрөттөр менен)
Rainbow Dice: 6 кадам (Сүрөттөр менен)

Video: Rainbow Dice: 6 кадам (Сүрөттөр менен)

Video: Rainbow Dice: 6 кадам (Сүрөттөр менен)
Video: КЫЙКЫРДЫ - ЖОГОЛДУ ₽200.000 / ТАШТАНДЫК: Тынчтык 2024, Июль
Anonim
Rainbow Dice
Rainbow Dice

Бул 5 түстүү smd LEDлеринен турган 5 өлүү менен оюн оюндарынын кутусун түзөт. Айдоочу программалык камсыздоо ар кандай оюн режимдерине катышып, бир нече чүкө тартылган.

Бир мастер которгуч оюнду тандоого жана сөөктөрдү жылдырууга мүмкүндүк берет. Ар бир өлүктүн жанындагы жеке которгучтар оюндун түрүнө жараша тандоого же башкарууга мүмкүндүк берет.

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

Электроника ESP8266 модулунун (ESP-12F) тегерегинде негизделген, ал веб-серверди иштетип, программалык камсыздоону оңой жаңыртууга жана оюндарды көзөмөлдөө / кеңейтүү мүмкүнчүлүгүн берет.

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

1 -кадам: Бөлүктөр жана шаймандар

Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар
Бөлүктөр жана куралдар

Компоненттер

Төмөнкү компоненттер керек. Алардын баары eBayде жеткиликтүү

  1. ESP-12F ESP8266 wifi иштетүү модулу. (£ 1.50)
  2. 18650 батарея жана кармагыч (£ 3.00)
  3. SMD LED x7 кызыл, көк, жашыл, сары, ак (ар бир түстүн 20дан турган пакети £ 0.99)
  4. Баскыч 6мм баскычтар x6 (£ 0.12)
  5. Кичи 8x4мм күйгүзүү/өчүрүү которгучу (£ 0.10)
  6. LIPO USB батареяны заряддоо модулу (£ 0.20)
  7. n канал MOSFETS - AO3400 x6 (£ 0.20)
  8. 3.3V төмөндөө жөнгө салуучу - XC6203E (£ 0.20)
  9. 220uF электролит (£ 0.15)
  10. 220R каршылыгы x5 (£ 0.05)
  11. 4K7 каршылыгы х 6 (0.06)
  12. Прототип тактасы изоляцияланган эки тараптуу тешиктерди (£ 0.50)
  13. Ийкемдүү туташтыруу зымы
  14. Эмалданган жез зым 32
  15. Header казыктары 40 пин тилкеси x3 (£ 0.30)

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

Куралдар

  1. Жакшы чекит
  2. Жакшы пинцет
  3. Сым кескичтер
  4. Junior hack көрдү
  5. Ийне файлдары пайдалуу
  6. Чайыр клей
  7. 3D принтерге кирүү, эгерде кутуча дизайнын колдонсоңуз.

2 -кадам: Circuit Description

Circuit Description
Circuit Description

Схемада ESP-12F модулу 5 светодиодду түзүп, кубикти түзөт.

Ар бир чырак 3 жуп (2 диагональ жана орто) плюс бир борбордук LEDден турган 7 светодиоддон турат. Буларга көрсөтүү үчүн LEDSти тандоо үчүн 4 GPIO казыгы керек. 220R каршылыгы учурдагы токту аныктоо үчүн колдонулат, ал эми 2 борбордук LED үчүн катар колдонулат, ошондуктан ток бирдей.

5 сөөк MOSFET өчүргүчтөрүн айдаган 5 GPIO линиялары менен мультиплексирленген. Бир убакта бир гана которгуч иштетилген. Программалык камсыздоо 1мсек ылдамдыгын берет, андыктан жалпы жаңыртуу мезгили 200 Гц жана эч кандай жылтылдоо жок.

5 өчүргүчтөр ар бир өлүү менен байланышкан. GPIO чектелгендиктен, булар матрицаны мультиплекстөө үчүн колдонулган сызыктарды колдонуу менен окулат. Мультиплекстүү ырааттуулук учурунда бул башкаруу линиялары өйдө көтөрүлгөн жана өчүргүчтөрдүн абалы жазылган материалдар катары коюлат. Андан кийин алар мультиплекс ырааттуулугунун калган бөлүгүнө чыгарылат.

Жалпы көзөмөл үчүн 6 -которгуч GPIO16 линиясы тарабынан окулат. Бул ылдый гана тартылышы мүмкүн, андыктан которгуч 3.3Vга зымдуу. Бул которгуч ачылганда төмөн, ал жабылганда жогору окулат.

3 -кадам: DIEдин курулушу

DIEдин курулушу
DIEдин курулушу
DIEдин курулушу
DIEдин курулушу

Бул жумуштун эң көп убакытты талап кылган бөлүгү жана кам көрүүгө муктаж.

Ар бир өлүү 6 тешик x 6 тешик квадрат прототип тактасынан жасалган. Биринчи кадам - бул мини хек аранын жардамы менен алардын бирөөсүн 5тен кесип салуу. Мүмкүн болушунча тешиктердин сыртында аз чек калтырууга аракет кылыңыз.

Кийинки этап - ар бир тарапка 2 6 төөнөгүчтүн башын кошуу жана булардын жанына 3 изоляцияланган 2 казыкты кошуу, андан кийин ортодо дагы бир жуп. Булар SMD LEDлерин кармап турган нерселер. Мен сырттагы мамычалардын ар биринен 2 колдонулбаган төөнөгүчтү алып салууну жакшы көрөм. Жарык диоддору орнотула турган тактанын үстүңкү капталында 1 ммдей сыртка чыгып кетиши үчүн, төөнөгүчтөрдү кесип салыш керек. Алардын бардыгын бир деңгээлде сактоого аракет кылыңыз. Бул LEDS тактайдын үстүнөн чыгып турууга мүмкүндүк берет.

7 SMD LED азыр казыктардын ар бир жуп үстүнө ширетилген. Бул жалпы курулуштун эң татаал бөлүгү, бирок бир аз машыгуудан кийин көп убакытты талап кылбайт. Мен колдонгон ыкма, төөнөгүчтөрдүн жарымынын үстүн калай кылуу болчу, андыктан кандайдыр бир ширетүү бар болчу. Андан кийин LEDди пинцет менен кармап, кайра эритип, ага LEDди киргизиңиз. Бул этапта муундун сапаты жөнүндө өтө көп тынчсызданбаңыз. Эң маанилүүсү, LEDдин тегизделишин мүмкүн болушунча жакшы, горизонталдуу жана казыктар аркылуу алуу. Жарык диодду орноткондон кийин, аны экинчи четине кадоого туура келет, андан кийин керек болсо биринчи муун кайра сатылат.

Диоддордун полярдуулугу туура болушу керек. Мен аноддорго туташтырылган бардык сырттагы төөнөгүчтөрдү уюштурам. Мен борбордук светодиодду сол колонкага окшоштуруп жасадым (беттен каралат жана ылдый жагында запастык катар. Диоддордун катоддо начар белгиси бар, бирок метр менен текшерүү да жакшы. Диоддор Чындыгында каршылык диапазонун (2K дейли) жана аноддогу кызыл коргошун жана катоддо кара түстү колдонгондо жарык болот. Алар тескерисинче жарыксыз бойдон калат. Бул дагы аралашып кетсе, түстөрдү текшерүүнүн жакшы ыкмасы.

Светодиоддор орнотулгандан кийин тактанын калган бөлүгүн бүтүрсө болот.

Тактанын асты жагында.

  1. Изоляцияланбаган жука бир талдуу зымды колдонуп, бардык катоддорду зым менен бириктириңиз.
  2. Мосфетти катоддук сапка туташтырылган дренаждык пин менен кошуңуз
  3. Mosfet булагын акыры 0V боло турган башкы пинге чейин өткөрүңүз
  4. Дарбазаны 4K7 резистору аркылуу анын башына сайыңыз. Муну башка астыңкы тешик аркылуу тамырлаш жакшы, бул жерде туташуу туташат.

Тактайдын алдында кросс 3 жуп анодду туташтырат.

  1. Профилди төмөн кармоо үчүн ширетилүүчү эмальдалган зымды колдонуңуз.
  2. Ар бир зымдын бир учун алдын ала калай
  3. Аны бир анодго кошуңуз.
  4. Аны өтүңүз жана узундугуна кесиңиз.
  5. Алдын ала калайлап, ага аноддук түгөйдү кошуңуз.

Бул учурда мультиметрди колдонуу менен ар бир өлгөнгө алдын ала текшерүү жүргүзүү жакшы. Жалпы катоддордогу кара коргошун менен (Mosfet дренажы), кызыл коргошун 3 аноддук жуптарга жана бир анодго жылдырууга болот. Тиешелүү светодиоддор күйүшү керек.

4 -кадам: кутуча куруу

Куту куруу
Куту куруу
Куту куруу
Куту куруу
Куту куруу
Куту куруу
Куту куруу
Куту куруу

Бул 3D басылган кутуча версиясы колдонулуп жатат деп болжолдонууда. Кутуда ар бир өлүү үчүн чегинүү жана ар бир LED бар. Ар бир светодиоддун астыңкы катмары өтө жука (0.24мм), ошондуктан ак пластик менен жарыктын жакшы өтүшүнө шарт түзүп, диффузордун ролун аткарат. Бардык өчүргүчтөр үчүн кесилген жерлер жана кубаттоочу пункт бар. Батарейканын өзүнүн бөлүмү бар.

Адегенде 6 мини баскыч баскычын жана слайд которгучун ордуна орнотуңуз. Алардын сырты менен шайкеш келишин текшериңиз. Баскыч баскычтарында эки жуп байланыш бар, алар параллелдүү. Аларды багыттоочу которуштуруучу контактылар алардын жанына жанаша жайгашсын. Орнуна бекитүү үчүн кээ бир тез орнотуу чайырын колдонуңуз.

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

LIPO заряддагыч түзүлүшүн тешиги аркылуу жеткиликтүү болгон микро USB менен жабдылган.

Негизги электр өткөргүчтөрүн бүткүл баскыч баскычтары жана LIPO B- туташуусу аркылуу батареяны жерге илип, электроникага туташуу үчүн чочконун куйругун калтырыңыз. Батарея + LIPO заряддагычтагы B + жана слайд которгучка өтүшү керек. Слайд которгучтун экинчи тарабы алтынчы которгуч жана электроника үчүн чочконун куйругу менен кетиши керек. Слайд которгуч өчүк абалда экенин текшерип, чочконун куйруктарын убактылуу изоляция кылыңыз. Батареяны кыскарткыңыз келбейт!

5 кыска өчүргүчтөрдүн ар бирине эки кыска изоляцияланбаган чочконун куйруктарын кошуу. Булар бир аз ийкемдүү болушу керек.

Өлгүчтүн ар биринин позициясын эки пигтейлди өлүү тактасына ширетүү менен орнотуп, 0V которгучтун mosfet булагына / 0V чекитине жана 4K7 / дарбазага которгучтун жандуу тарабына кошулганын текшериңиз. mosfet. Тактадагы светодиоддор капкактын тешиктерине туура келиши керек жана которгуч зымдары калыпты абалында кармоо үчүн жетиштүү болушу керек.

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

ESP-12F түзөт

Эскертүү, сиз ESP-12F модулун монтаждоодон мурун программалоону каалашыңыз мүмкүн. Ал жаркырагандан кийин, башка бардык жаңыртууларды wifi OTA аркылуу жасаса болот.

3.3V жөндөгүчтү прототип картасынын бир аз бөлүгүнө түзүңүз. Бул жерде жөн гана LDO жөндөгүчү жана ажыратуучу конденсатор бар. Электр энергиясынын таралышы өтө аз болсо да, мен контакттардын бир нечесин чогуу ширетип, түзмөк үчүн жылыткыч катары иштейм. Эки зым чыгып, ESP-12Fтин 3.3V / 0V менен түз байланыш түзө алат.

5 мультиплекс линиялары үчүн GPIO төөнөгүчтөрүнө зымдарды кошуу 6. 4 LED анод айдоочу линиялары 220R / 440R сериясындагы резисторлорго муктаж. Бул үчүн кичинекей тешик резисторлорун ESP-12Fге колдонсо болот же мен муну SMD менен эле тешиктерге тыгып койгом, ал абдан күчтүү.

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

5 -кадам: Программалык камсыздоо

Бул үчүн программа ESP8266 Arduino чөйрөсүнө негизделген. Бул githubда жеткиликтүү.

Код бул жерде жеткиликтүү

Жарык диоддорду мультиплекстөө жана өчүргүчтөрдү окуу үчүн колдонулган төмөнкү деңгээлдеги функцияларды камсыз кылган diceDriver китепканасы бар. Бул үзгүлтүккө учурайт, андыктан кубиктин мааниси коюлганда, ал өзүн өзү сактап калат.

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

Китепкана ошондой эле мультиплекстин бир бөлүгү катары чукул которгучтарды окуйт жана параллелдүү түрдө бир же бир нече сүйүктү "жылдыруу" эрежелерине ээ.

Эскиз китепкананы чүкө оюн режимдерин тандоо жана бул оюндарды иштетүү үчүн колдонот. Ал ошондой эле башында wifi орнотуу, OTAнын жаңы программасын жүктөө жана түзмөктүн абалын текшерүү жана текшерүү үчүн кээ бир негизги веб функцияларын камсыз кылуу үчүн тейлөө функцияларын камсыз кылат.

Программа Arduino IDEде түзүлгөн. Ошондой эле ino негизги функцияларды камсыз кылуу үчүн BaseSupport китепканасын колдонот. Бул жергиликтүү BaseConfig.h файлында конфигурацияланган. "Сырсөздүн" демейки сырсөзү анын wifi орнотуусуна туташуу үчүн колдонулат. Сиз муну башка нерсеге алмаштыргыңыз келиши мүмкүн. Эгерде сиз орнотулган орнотууну колдонууну каалабасаңыз, аны туруктуу wifi грамоталары менен конфигурациялай аласыз. Ошо сыяктуу эле, OTA камтылган программалык камсыздоону жаңыртуу процесси үчүн ошол эле демейки сырсөз бар. Бул флеш сериялык режимге өтүү үчүн, баштапкы абалга келтирүү учурунда GPIO0 төмөн тартылган кадимки жарк этүү эрежелерине баш ийиши керек. Бул модуль акыры зым менен жабылганга чейин ыңгайлуу түрдө жасалат, бирок тиешелүү клиптерге клиптер тиркелсе, жеринде жасалышы мүмкүн.

Камтылган программа биринчи жолу иштетилгенде, ал жергиликтүү wifiга туташа албай калат жана өзүнүн кирүү тармагын орнотуу менен автоматтык түрдө орнотуу режимине кирет. Сиз буга Wi -Fi түзмөгүнөн (мисалы, телефондон) туташып, андан кийин 192.168.4.1ге өтсөңүз болот, ал чыныгы жергиликтүү Wi -Fiны тандап, анын сырсөзүн киргизүүгө мүмкүндүк берет. Эгер бул туура болсо, анда ал кайра жүктөлөт жана бул тармакты колдонот.

OTA Arduino IDEде экилик файлдарды экспорттоо жана андан кийин ip/firmwareге сереп салуу аркылуу жасалат, мында ip туташканда кутунун ipи болот. Бул жаңы бинарды сурайт / карап чыгат.

Башка веб функциялары

  • setpower - өлүү үчүн кубатты орнотот (ip/setpower? dice = 3 & power = 50)
  • setflash - чырактар үчүн жаркылдайт (ip/setflash? mask = 7 & interval = 300)
  • setdice - бир өлүү маанисин коет (ip/setdice? dice = 3 & value = 2)
  • параметрлер - ролл параметрлерин коет (ip/параметрлери? маска = 7 & убакыт = 4000 & интервал = 200)
  • status - сандын маанилерин жана статусун которот

6 -кадам: Оюндар

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

Башында система оюнду жөндөө режиминде, биринчи өлүү "1" көрсөтөт. Сиз бул баскычты кыска басуу менен 12 түрдүү оюн режимин айланасыз. Биринчи өлүү 1 - 6 кетет, андан кийин 6да калат, ал эми экинчи өлүү 1-6 көрсөтөт.

Белгилүү бир оюнду тандоо үчүн, сиз баскычты көп басып турасыз (> 1 секунд) жана бул аны оюн режимине коёт.

Оюндун ичинде адатта бул которгучту кыска басуу менен башталат. Кайра иштетүү режиминен оюн тандоо режимине кайтып келүү үчүн, бул которуштурууну узак басып туруңуз, андан кийин ал оюн номерин мурдагыдай көрсөтүп, андан ары тандоого мүмкүндүк берет.

Учурда 9 оюн режими 3 запас менен аныкталган.

1ден 5ке чейинки оюндар - бул солдун жөнөкөй түрмөгү. Ар бир түрмөк текченин баарын тегеретет. Бул оюндардын чукул которгучтары эч кандай таасир этпейт.

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

Оюн 7-көп ыргытуучу түрмөк. Бардык 5 сук катышат. Негизги которгучту басуу бардык чүчү кулак түрөт. Ар бир өчүргүчтү басуу ал жаркылдайт. Негизги которгуч басылганда, жаркыраган өлүү гана жылат, бирок эч ким жаркылдабаса, баары жылат. Бул покер дити же Yahtzee сыяктуу. Белгилей кетсек, уруксат берилген ыргытуулардын саны жок. Бул оюнчунун актыгына байланыштуу.

Оюн 8, Оюн 7ге окшош, бирок күңүрт тандалмалар жарк этпей турганын көрсөтүү үчүн колдонулат.

Оюн 9 түрмөктөрдү аныктоо үчүн өчүргүчтөрдү колдонот. Эгерде жогорку 3түн бири тандалса, анда бул 1, 2 же 3 түрмөктөрдүн санын аныктайт). Андан кийин, эгерде астынкы 2 өчүргүчтөрдүн бири басылса, анда жогорку катар сакталат жана бул астынкы катарда (1 же 2) тоголотула турган чучуктун санын тандайт. Бул Risk сыяктуу оюндарда колдонулат.

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