Mundarija:

Binary Switch o'yini: 6 qadam
Binary Switch o'yini: 6 qadam

Video: Binary Switch o'yini: 6 qadam

Video: Binary Switch o'yini: 6 qadam
Video: Java dasturlash tilidan darslar 1 - Kirish 2024, Iyul
Anonim
Image
Image
Ikkilik almashtirish o'yini
Ikkilik almashtirish o'yini
Ikkilik almashtirish o'yini
Ikkilik almashtirish o'yini

Ben Hekning "Hex Game" dan ilhomlangan

Bu men do'stlarimga ikkilikni o'rgatish uchun qilgan ikkilik o'yin. Oxir -oqibat men o'zimni hushyor bo'lish uchun darsda shu bilan o'ynayman.

Siz ekrandagi tasodifiy denary (0-255) yoki o'n oltilik (0-ff) qiymatlarini ikkilikka aylantirasiz, so'ngra bu ikkilik qiymatni kiritish uchun 8 ta asosiy kalitdan foydalanasiz. Siz qiymatlarni ikkilikka abadiy yoki yuqori ball bilan 60 soniya ichida o'zgartirishni tanlashingiz mumkin (lekin xotirada saqlanmagan).

Boshqa xususiyatlar ham bor, masalan

  • Spam o'yini, bu erda siz yuqori ball olish uchun tugmani 60 soniyada spam qilasiz
  • Ikkilikni denariya, o'n oltilik yoki ASCII ga aylantirish uchun konvertatsiya vositasi
  • ASCII matn muharriri, bu erda siz ekranga ASCII belgisini ifodalovchi ikkilik qiymatlarni kiritasiz va
  • Asosiy menyu, bu erda siz turli xil funktsiyalar va rejimlarga kirish uchun ikkilik qiymatlarni kiritasiz
  • Ovoz yo'qligi, shuning uchun siz sinfda o'ynashingiz mumkin (Bu xato emas, balki xususiyat)

Bu ko'rsatmaga kelsak:

  • Bu mening birinchi, shuning uchun menga yo'l -yo'riq bering
  • Men telefon kamerasidan foydalanayapman, shuning uchun sifatsiz tasvirlar uchun uzr so'rayman

    Menda nuqta va otish bor, lekin bu juda ko'p qiyinchilik, shuning uchun uzr

  • Men buni o'rgatadigan qilib qo'ydim va ko'pchilik rasmlarimni qurilmani tayyorlaganimda emas, balki uni yaratganimdan keyin oldim, shuning uchun menda jarayonni hujjatlashtiradigan fotosuratlar yoki videolar ko'p emas. Buning uchun ham uzr

Shunga o'xshash Instructable Binary Game ham bor, u sizga ikkilikni qanday o'ynashni ko'rsatib beradi

Shunday qilib, boshlaylik!

1 -qadam: Materiallar va asboblar

Materiallar

  • ATMega 328p (Arduino Uno chipi)
  • 8 ta kalit (ikkilikni kiritish uchun)
  • Boshqa ikkita kalit (1 quvvat uchun va 1 rejim uchun)
  • Nokia 5110/3110 LCD
  • O'chirish platasi (Duh)
  • Quvvat davri

    • 150mAh lityum polimer batareyasi (hodisadan bepul olingan)
    • Lityum -ion batareyali zaryadlovchi va himoya qilish davri (xuddi shu hodisadan bepul)
    • 3.3V pastga tushirish konvertori
  • Akril (qora va tiniq)

Asboblar

  • Lehimlash temir va lehim

    Lehim so'rg'ich (chunki siz xato qilishingiz mumkin)

  • Arduino uchun ISP dasturchisi (yoki qo'shimcha Arduino Uno, Raspberry Pi va boshqalar)

2 -qadam: muvaffaqiyatsizliklar

Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar
Muvaffaqiyatsizliklar

Nima uchun muvaffaqiyatsizlik (2 ta muvaffaqiyatsizlik)? Chunki bu loyiha ikkiga asoslangan.

Men dastlab 8-bitli yigit kabi LCD o'yinchoq qurmoqchi edim. Ammo, men qandaydir tarzda ishlashga muvaffaq bo'lgan bo'lsam -da, LCD belgisi elektron plataga qo'yilganda qovurilgan edi. Men nima uchun ekanligini hech qachon tushuna olmadim. Sxema 8 bitli yigitning sxemasiga o'xshaydi.

Men ham DIY Gambuino qurmoqchi edim. Ekran, mikrokontroller va boshqaruv elementlari modulli va ajratib olinadigan bo'ladi. Biroq, men yuklash qurilmasini yuklay olmadim va SD -kartani Raspberry Pi -da ishlata olmadim va o'sha paytda menda Arduino Uno yo'q edi, shuning uchun men maktab ishidan voz kechdim.

Ushbu loyiha ustida ishlayotganda, men DIY Gamebuino -ning asosiy mikrokontroller kartasini va LCD O'yinchoqlar taxtasini kalitlar bilan birlashtirishga qaror qildim.

3 -qadam: Lehimlash

Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash
Lehimlash

Umuman olganda, butun sxema quyidagilarni o'z ichiga oladi.

  1. Nokia LCD -ni ulash
  2. 8 ta kalit, tugma va rejim kalitini ulash (9-0-pinlar, qo'shimcha ma'lumot uchun arduino eskizini tekshiring)

    8 ta kalit (2^7, 2^6, 2^5, 2^4, 2^3, 2^2, 2^1, 2^0)

  3. 150 mA / soat lityum polimer batareyasini va zaryadlovchi zanjirini, quvvat tugmachasini ketma -ket ulash

Shuning uchun uni payvandlashga vaqt ajrating. Siz hamma narsani bitta taxtaga lehimlashingiz mumkin. ammo, ATmega328p taxtasi va kalitlari bo'lgan elektron karta bilan, men ularni ulash uchun sarlavhalar va simlarni lehimladim, shuningdek, LCDni asosiy mikrokontrolder platasidan uzaytiradigan kabel.

4 -qadam: dasturlash

Dasturlash
Dasturlash

Yuklash uchun siz Internet -provayderingiz dasturidan foydalanishingiz kerak. Agar sizda men kabi Internet -provayderingiz bo'lmasa, siz ArduinoISP eskizi bilan zaxira Arduino Uno -dan foydalanishingiz mumkin.

Dasturlash uchun bir nechta asosiy narsalar mavjud:

  1. Asosiy menyu

    Ikkilik qiymatni kalitlardan o'qish (Arduino eskizida)

  2. Ikkilik o'yinning o'zi (60 soniya o'tib ketganligini tekshirish uchun milis () dan foydalaniladi)
  3. SpamGame (tugmachani necha marta bosilganini sanash va millis () yordamida 60 soniya o'tganligini tekshirish)
  4. ASCII matn muharriri

Maslahat: Agar siz uni dasturlash uchun Arduino Uno -dan foydalansangiz, avval Nokia 5110 LCD -ni ajratib oling. Uni Arduino Uno -ning 5 voltli kuchida qovurish mumkin. (Shaxsan men buni ikki marta qilishni unutganman, lekin xayriyatki, mening LCD hali ham ishlagan)

5 -qadam: ish

Koson
Koson
Koson
Koson
Koson
Koson

Uni dasturlash va maktabga olib kelgandan so'ng, men uning ichidagi elektronikani himoya qilish uchun akril korpus yasashga qaror qildim

Menda boshqa bo'lak loyihasidan 2 dona qora akril va maktab darslaridan qolgan akril bo'lagi bor. 60 vattli arzon lehimli temir bilan, men egilishni xohlagan qirralarni qizdirdim, keyin yog'och blok yordamida akrilni 90 gradusga egdim. Tartibni o'zgartirish uchun, men korpusning yon tomonidagi teshikni eritish uchun lehimlantiruvchi dazmoldan foydalandim. Bundan tashqari, akrilning ortiqcha qismini eritib yuborish uchun lehimlantiruvchi dazmolni ishlataman. Biroz topshirish, ishni tekisroq qilib qo'yadi va qirralarning atrofida qo'pol bo'lmaydi.

Biroq, menda yomon ishlash.

  • Men juda sabrsiz edim va ish uchun akril parchasini sindirdim. Natijada, pastki qismi silliq va toza old qirraga ega emas.
  • Men akrilni iloji boricha egilganiga erishmadim, shuning uchun keyingi safar buni hisobga olasan (qiyshiq egilgan chiziqlarga qara)

Lehimlash temiridan foydalanish toza yoki yaxshi emas, lekin bu ishni tez va iflos usulda bajaradi va u ishlaydi!

Akril bo'laklari egilgandan so'ng, men qora yopishqoq akril bo'laklarini mahkamlash uchun issiq elim ishlatdim. Yuqori qism uchun nima qilish kerakligini bilmay, men uni joyiga yopishtirib qo'ydim. Qachondir biror narsani tuzatishim kerak bo'lsa, lenta va ustki qismi osonlikcha tuzatish uchun sxemaga kirishi uchun tushadi. Quvvat kalitini ham issiq yopishtiraman.

Oh, elektron kartaning yuqori chetidagi qalam qopqog'i uning siljishini oldini oladi

6 -qadam: Bajarildi

Bir haftalik mashaqqatli mehnatdan so'ng, men bu ikkitomonlama o'yinda 2 ta (agar sizda akril qoldiqlari bo'lsa) singan loyihalarni qutqarishga muvaffaq bo'ldim. Biroq, bu kichik qurilma bu erda va u erda buzilib ketdi, shuning uchun jarayonga o'tish uchun men kuch va rejim kalitlarini almashtirishga, lehimni kalitlarning elektron platasiga o'rnatishga va engil teginishga to'g'ri keldi. LCD displey to'g'ri ishlamasligi mumkin, ba'zida biror narsani ko'rsatish uchun uni bosishim kerak. Lekin, bu men qilgan birinchi narsa, aslida foydali va ishlaydi!

Tavsiya: