Mundarija:

GrimmsBox: O'zingizning hikoya qiluvchi qurilmangizni yarating: 5 qadam (rasmlar bilan)
GrimmsBox: O'zingizning hikoya qiluvchi qurilmangizni yarating: 5 qadam (rasmlar bilan)

Video: GrimmsBox: O'zingizning hikoya qiluvchi qurilmangizni yarating: 5 qadam (rasmlar bilan)

Video: GrimmsBox: O'zingizning hikoya qiluvchi qurilmangizni yarating: 5 qadam (rasmlar bilan)
Video: Mungda | Total Dhamaal | Dance Cover | Shreyashi | Grimms Box 2024, Noyabr
Anonim
GrimmsBox: O'zingizning hikoya qurilmangizni yarating
GrimmsBox: O'zingizning hikoya qurilmangizni yarating

Bu ko'rsatma sizga o'z hikoyalar qutisini qanday qurishni ko'rsatib beradi. O'zingizning sarguzashtingizni tanlashda erkin bo'ling.

"GrimmsBox" deb nomlangan loyiha Germaniyaning Hochschule der Medien Shtutgart shahridan bo'lgan talabalar tomonidan amalga oshirildi. Hikoyaning birinchi qismini chop etish uchun biz umumiy kvitansiya printeridan foydalanamiz. Bo'lim oxirida qaror qabul qilinishi kerak. Tugmalar yordamida siz hikoya qanday davom etishini tanlashingiz mumkin. Biz dasturiy ta'minotni ishga tushirish uchun Raspberry Pi -dan foydalanamiz.

Tez orada ikkita quti foydalanishga topshiriladi. Mannxaymdagi jamoat kutubxonasi bolalar bilan seminarlar tashkil etmoqda. Bolalar o'z hikoyalarini yaratishi mumkin va ular o'z hikoyalarini GrimmsBox yordamida boshdan kechirishlari mumkin. Bunday seminarlarning asosiy maqsadi o'qish va yozish qobiliyatini rag'batlantirishdir. Hikoyalar qutilari ham tadbirlarga olib boriladi, shuning uchun 3-6 sinf o'quvchilari o'qish tajribasi bilan tanishadilar.

1 -qadam: GrimmsBox uchun ishni qanday qilish kerak

GrimmsBox uchun ishni qanday qilish kerak
GrimmsBox uchun ishni qanday qilish kerak

Kerakli materiallar:

  • 1x6 mm kontrplak plitasi (1200x600x6mm)
  • 1x4 mm kontrplak plitasi (1200x600x4mm)
  • yog'och elim
  • kerakli qurilmalar: lazerni kesuvchi, kompyuter

GrimmsBox ishlatadigan fayllar bepul yuklab olish mumkin. Fayllar GrimmsBox alohida komponentlarining svg va dxf fayllari. Bu, bir tomondan, Raspberry Pi o'z o'rnini topadigan pastki tuzilma, so'ngra egiluvchan mentli kitob va o'z-o'zidan ishlab chiqarilgan kitob stendi.

6 mm kontrplakli plastinka taglik va kitob stendi uchun ishlatiladi. Kitob 4 mm kontrplakdan yasalgan. Qalin plastinka kitobni tayyorlash uchun juda qalin bo'lardi. Bükme menteşesi faqat 3-4 mm kontrplak paneli bilan ishlaydi. Aks holda buziladi.

Dxf fayllari endi hech narsani o'zgartirmoqchi bo'lmaganlar uchun to'g'ri tanlovdir. Ular lazer kesgichda ishlatishga tayyor.

Ammo, hali ham qutiga o'ziga xoslik berishni xohlaydiganlar, qutidagi SVG fayllaridan foydalanishlari mumkin. Bularni xohlaganingizcha o'zgartirish mumkin. Buning uchun faylni dasturda ochish kerak (masalan, Inkscape). Ushbu dasturlar yordamida siz alohida komponentlarni tahrir qilishingiz mumkin. Agar siz biror narsani o'zgartirgan bo'lsangiz (masalan, tugmachalar yoki tortiladigan teshiklar o'lchami), SVG faylini dxf fayli sifatida saqlashingiz kerak.

Dxf faylini lazer kesgichda ochish kerak. Fayl kompyuterda ko'rsatilishi bilanoq, qaysi chiziqlarni kesish va qaysi birini o'yib yozish kerakligini tanlash kerak. Qutining yon tomonidagi yozuv Grimm qutisiga o'yilgan va kitobdagi yozuv zaif kesilgan. Sizga yoqadigan narsaga qarab, siz u yoki boshqasini ishlatishingiz mumkin. Albatta, tashqi chiziqlar kesilishi kerak. Shu bilan birga, lazer kesgichni ishlatish lazerni kesish modeliga bog'liq bo'lishi mumkin va boshqacha bo'lishi mumkin.

2 -qadam: GrimmsBox uchun tugmachalarni qanday yig'ish kerak

GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak
GrimmsBox uchun tugmachalarni qanday yig'ish kerak

Kerakli materiallar:

  • 6 ta odatda ochiladigan lahzali tugmalar, masalan. arja o'yinlari uchun tugmalar
  • Kamida bitta ayol uchi bo'lgan 8 ta o'tish simlari, bizniki uzunligi taxminan 40 sm
  • bir oz ortiqcha oro bermay
  • Sizning loyihangiz uchun ishlatiladigan qutini issiqlik o'tkazmaydigan quvurlar, bizning holatimizda lazer bilan kesilgan yuqori qopqoq va qo'shimcha tugmachalarni o'z ichiga olgan ikkita yon qopqoq.
  • lehim va lehim temir
  • ko'p metrli
  • tel kesuvchi
  • simni ajratuvchi
  • engilroq yoki issiq havo quroli
  1. Bizning kodimizda biz ichki rezistorlardan foydalanganmiz, shuning uchun biz faqat ikkita narsani qilishimiz kerak: birinchidan, har bir tugmachaga ayol o'tish simini ulang, bu esa tegishli GPIO piniga olib keladi, ikkinchidan - tugmachalarni bir -biriga ulang. boshqa ayol o'tish kabeli orqali erga ulash. Biz o'chirish tugmachasini va dasturni qayta ishga tushirish tugmachasini bir -biriga bog'ladik va ular uchun bitta topraklama pinidan foydalandik. O'zingizning sarguzashtli dvigatelda ishlatiladigan to'rtta tugma ham bir-biriga ulangan va bitta pinni ulashgan.
  2. Agar sizning tugmalaringiz ikkitadan ortiq pinli bo'lsa, multimetrdan foydalanib, qaysi biri GPIO pinini va erni ulash uchun mos ekanligini aniqlang. Ovoz funksiyasi bilan siz faqat ikkita pimga tegganingizda va hozircha tugma bosilganda ovoz eshitiladi. Siz uzluksizlik testini o'tkazishingiz mumkin, buni qanday qilish bo'yicha qo'llanma ifixit -da mavjud:
  3. Bitta tugmani oling va uni qutiga kiriting. O'tish simlaridan birini oling va bir uchini kesib oling, bu sizga bitta ayol uchi bo'lgan o'tish simini qoldirishi kerak. Taxminan 5 millimetrli izolyatsiyani kesish uchun simni ajratgichdan foydalaning. Bo'shashgan simlarni biroz burab qo'ying, shunda bitta sim chiqib ketmaydi. Simlar uchun chiroyli qoplama qilish uchun ozgina qalaydan foydalaning. Agar siz lehimlashda yangi bo'lsangiz, qanday qilib lehim qilishni o'rgatadigan ajoyib, qisqa chiziq roman mavjud. U "Lehimlash oson" deb nomlanadi va PDF-ni bir nechta tillarda olish mumkin: https://mightyohm.com/blog/2011/04/soldering-is-e… O'chirish quvurlarini o'lchash va kesish. tugma va o'tish simlari lehimlanadigan qism. Issiqlikka chidamli trubkani o'tish simidan torting. O'tish simini tugmachadagi pinlardan biriga lehimlang.
  4. Barcha tugmalar uchun oxirgi qadamni takrorlang. Lehimlashdan oldin, har doim issiqlikka chidamli trubkani jumper simidan tortib oling, chunki u ulagichga to'g'ri kelmasligi mumkin.
  5. Endi siz o'chirish tugmachasini va qayta boshlash tugmachasini ulaysiz. Biz emallangan mis simni ishlatardik, lekin bu biroz qiyin bo'lganidek, men oddiy bintni ishlatishni taklif qilardim. Bir necha santimetr ortiqcha oro bermay kesib oling. Oldingi kabi, uni simni ajratgich yordamida demontaj qiling, lekin bu safar ikkala uchida. Keyin, bir uchini o'chirish yoki qayta yoqish tugmasining piniga lehimlang. Yana, issiqlik o'tkazmaydigan trubkani kesib oling va uni ortiqcha oro bermay torting.
  6. Keyin, ortiqcha oro bermayni boshqa tugmani bo'sh piniga ulang. Ammo siz bu erga boshqa o'tish simini ham ulaysiz, bu esa erga olib keladi. Kabel simini boshqalar bilan bo'lgani kabi tayyorlang, shu jumladan issiqlik o'tkazmaydigan quvurlar. Endi ortiqcha oro bermay burang, shunda siz uni tugmachaning bo'sh uchiga qaragan bo'sh pinga lehimlay olasiz. Keyin o'tish simini pinga lehimlang. Bir tomondan keladigan bintni va boshqa tomondan o'tish simini lehimlash, siz issiqlik o'tkazmaydigan quvurni lehimlangan qismdan tortib olishingiz mumkin.
  7. Kichik ko'priklar qurish orqali o'yin dvigateli uchun ishlatiladigan to'rtta tugmani ulang. Lehimlashdan oldin, har doim issiqlikka chidamli quvurni ortiqcha oro bermay ustidan tortib oling. (Shuningdek, tugmalarni bir -biriga ulashdan oldin ular to'g'ri holatda ekanligiga ishonch hosil qiling). Oxirgi tugmachani ulashda, boshqa ikkita tugmachada bo'lgani kabi, ortiqcha oro bermayni pastdan bog'lab, o'tish simini ham ulashingiz kerak.
  8. Multimetrning ovozli funktsiyasidan foydalanib, hamma narsa yaxshi ulanganligini tekshirishingiz mumkin. Nihoyat, barcha issiqlik o'tkazmaydigan quvurlar kerakli joyda ekanligini tekshirishingiz kerak. Keyin uni qisqartirish uchun engilroq yoki issiq tabancadan foydalanishingiz mumkin. Endi siz tugmachalarni yig'ishni tugatdingiz!

3 -qadam: dasturiy ta'minotni sozlash

Dasturiy ta'minotni sozlash
Dasturiy ta'minotni sozlash

Sizga kerak bo'ladi:

  • Raspbian o'rnatilgan Raspberry Pi (siz boshqa tarqatishni ham ishlatishingiz kerak, lekin ba'zi buyruqlarni o'zgartirishingiz kerak)-biz oldindan o'rnatilgan SD-karta, quvvat manbai va Raspberry Pi 3 Model B+ dan iborat paketdan foydalanganmiz. bir holatda, boshqa modellar ham ishlashi kerak
  • kvitansiya printeri - printerni Raspberry Pi -ga ulashingiz kerakligini yodda tuting, shuning uchun USB orqali ulash eng oson bo'lishi mumkin.
  • sizning tugmalaringiz
  1. Raspberry Pi -ni ekran, sichqoncha va klaviaturaga ulang. Siz uni oxirigacha printerga va tugmalarga ulashingiz kerak bo'ladi. Tugmalar maxsus GPIO pinlariga ulangan bo'lishi kerak. Agar siz biznikidan farqli ravishda boshqa pinlardan foydalanmoqchi bo'lsangiz, buni kodda o'zgartirishingiz mumkin. Hozircha, bu ro'yxatda qaysi tugmachani qaysi pinga ulash kerakligini aytadi. Men kodda ishlatiladigan BCM raqamlashdan foydalanaman. Https://www.raspberrypi.org/documentation/usage/g… sahifasida qaysi pin qaysi raqamga ega ekanligini ko'rsatadigan jadval mavjud.

    • o'chirish tugmasi - 17 • qaytadan ishga tushirish tugmasi - 27 • hikoya/sarguzasht variantlari uchun ishlatiladigan birinchi tugma - 5 • ikkinchi tugma - 6 • uchinchi tugma - 13 • to'rtinchi tugma - 19 • pimlarga ulangan ikkita o'tish simlari tugmalar erga tushishi kerak - qora nuqta bilan belgilangan jadvalda

    Raspberry Pi -ni quvvat manbaiga ulang. LAN kabeli yoki simsiz tarmoq yordamida Raspberry Pi -ni Internetga ulang.

  2. Raspberry pi -ga kerakli dasturiy ta'minotni o'rnatishda birinchi narsa - bu allaqachon o'rnatilgan dasturiy ta'minotni yangilash. Biz buni terminal yordamida qilamiz. Agar siz birinchi marta terminaldan foydalansangiz, Raspberry Pi hujjatlari (https://www.raspberrypi.org/documentation/usage/terminal/) atrofda harakatlanish va atrof -muhit bilan tanishishga yordam beradi. Terminalni oching va sudo apt update yozing va Enter ni bosing. Bu mavjud paketlar va versiyalar ro'yxatini yangilaydi. Shundan so'ng, sudo apt upgrade -ni kiriting. Bu aslida o'rnatilgan paketlarning yangi versiyalarini o'rnatadi.
  3. Printer drayverini o'rnatish keyingi qadamdir. Linuxda printerni boshqarish CUPS yordamida amalga oshirilishi mumkin. Avval uni Raspberry Pi -ga o'rnatishingiz kerak bo'lishi mumkin. Terminalga sudo apt install kupalarini kiriting. Keyingi qadam - printer drayverlarini olish. Ehtimol, sizga omad kulib boqadi va u rasmiy omborlarga kiritilgan. Terminalda, qidirish uchun [printer nomi yoki ishlab chiqaruvchining nomi] mos qidiruvdan foydalaning. Ko'pgina printerlar, ehtimol, omborlarga kirmaydi, shuning uchun uni boshqa joydan olish kerak. Printerga kompakt -disk o'rnatilgan bo'lishi mumkin. Ishlab chiqaruvchining veb -saytida eng yangi drayverlarni yuklab olish mumkin. Ba'zi ishlab chiqaruvchilar dunyoning turli mintaqalari uchun turli xil veb -saytlarga ega va afsuski, ularning hammasi bir xil ma'lumotlarni o'z ichiga olmaydi. Agar sizda Star printeri bo'lsa, starasia.com - bu eng yangi yuklab olinadigan drayverlarga ega veb -sayt. Iltimos, Linux uchun printerlarni yuklab olganingizni tekshiring. Biz JavaPOS drayverlarini emas, CUPS drayverlarini ishlatdik.
  4. Keyinchalik, siz drayverlarni o'rnatishingiz kerak. Iltimos, ishlab chiqaruvchining ko'rsatmalariga amal qiling. Linux uchun dasturiy ta'minot qo'llanmasi mavjud bo'lishi mumkin, bu qulay bo'lishi mumkin. Iltimos, Debian yoki Ubuntu uchun ko'rsatmalarga amal qiling - Linuxda juda ko'p turli xil tarqatishlar mavjud va ularning hammasi ham bir xil emas, shuning uchun qo'lda to'g'ri ko'rsatmalar bo'lsa, avval tekshirib ko'ring. Bizning qo'llanmada ko'rsatmalar Red Hat-ga asoslangan tizimlar uchun ko'rsatilmagan holda boshlangan va faqat keyingi sahifada Debian-ga asoslangan tizimlar uchun ko'rsatmalar boshqacha ekanligini bilib oldik. Dasturiy qo'llanmada, shuningdek, qaysi paketlarni o'rnatish kerakligini ham ko'rsatish kerak, masalan, biz "libcups2-dev" ni o'rnatishimiz kerak edi. Ehtimol, ba'zi buyruqlarni bajarishingiz kerak bo'ladi. Sizni xatolarimizni takrorlashdan qutqarish uchun: agar siz drayverlarni manba kodidan make -make yordamida kompilyatsiya qilishingiz kerak bo'lsa, sudoed. Xato xabari tufayli biz nima noto'g'ri bo'lganini aniqlay olmadik.
  5. Agar siz o'rnatish qo'llanmasiga kirmasangiz, printerni CUPS -da sozlashingiz kerak. Buning uchun brauzerda localhost: 631 -ga o'ting. Printerni sozlash uchun "Ma'muriyat" va keyin "Printer qo'shish" ni bosing. Shuningdek, yordam bo'limi mavjud. Siz foydalanuvchi sifatida autentifikatsiya qilishingiz kerak, tafsilotlar uchun https://help.ubuntu.com/lts/serverguide/cups.html… ("Veb -interfeys" bo'limi) ga qarang. Tegishli ppd va qog'oz hajmini tanlang. Siz uni standart printerga aylantirishingiz kerak, chunki dasturiy ta'minot standart printerda chop etiladi. Buning uchun printer sahifasiga o'ting va "Ma'muriyat" menyusidan "Serverni standart sifatida o'rnatish" -ni tanlang. "Xizmat ko'rsatish" menyusida siz hamma narsani to'g'ri sozlanganligini tekshirish uchun "Test sahifasini chop etish" -ni tanlashingiz mumkin.
  6. Sizga kerak bo'lgan boshqa paket-bu python3-yaml, chunki hikoyalar yaml fayllarida saqlanadi va python kodi ularni talqin qilishi uchun paket kerak. O'rnatish uchun sudo apt install python3-yaml dan foydalaning.
  7. Endi biz nihoyat hikoyalarni chop etadigan va tugmalarga ulangan GPIO pinlarini kiritishni tinglaydigan dasturni o'rnatishni boshlaymiz. Agar siz terminalda bo'lmasangiz, terminalni oching va uy katalogiga o'ting (buni CD yozish orqali bajarish mumkin (katalogni o'zgartirish uchun)). Bizning kod GitHub-da bo'lgani uchun, uni git clone yordamida Raspberry Pi-ga ko'chirishingiz mumkin https://github.com/fio-na/GrimmsKiste-1.git Bu bizning kodimiz Raspberry Pi-da mahalliy ombor yaratadi. Agar siz git o'rnatilmaganligi sababli xato xabari olsangiz, uni sudo apt install git yozib o'rnatishingiz mumkin.
  8. Kodda siz o'zgartirishingiz kerak bo'lgan ba'zi elementlar mavjud. Birinchidan, hikoyalar gam omborida joylashgan yaml fayllarida saqlanadi. Agar sizning papkangizga yo'l "/home/pi/GrimmsKiste-1" bo'lmasa, hikoyalarni ishlatish uchun siz bu yo'llarni o'zgartirishingiz kerak bo'ladi. Ikkinchidan, biz subprocess yordamida chop etamiz va terminal buyruqlarini topshiramiz. Bunga printer drayveri ishlatadigan ba'zi variantlar kiradi, bu bizga qog'ozni chop etilgandan keyin kesilishi yoki kesilmasligini aniqlash imkonini beradi. Ehtimol, ular siz uchun ishlamaydi (agar siz Star TSP printeridan ham foydalanmasangiz). Shuni ham ko'rasizki, faqat bitta nuqta bo'lgan qator qatorlar chop etiladi. Bizga bu kerak edi, chunki aks holda hikoyaning qismlari o'qilmaydi, chunki qog'oz hali ham printerda qolib ketgan. Va nihoyat format_text funktsiyasida biz 28 ta belgidan oshmaydigan matnli bo'laklarni olish uchun textwrap -dan foydalanamiz, chunki bu 80 mmli qog'ozimizda bitta qatorga to'g'ri keladi. Iltimos, ularni sozlamalarga mos ravishda sozlang.
  9. Ba'zi fayllarni bajariladigan qilib qo'yish kerak. Buni amalga oshirish uchun, siz hozirgina yuklab olgan kod bilan papkaga o'ting. Agar siz ta'qib qilsangiz, bu cd ~/GrimmsKiste-1 bo'lishi kerak. Linuxda fayl ruxsatnomalari chmod tomonidan boshqariladi. chmod a+x Engin.py va chmod a+x shutdown-pi-and-restart-program.py bu ikki faylni hamma foydalanuvchilar uchun bajariladigan qilib qo'yadi.
  10. Endi biz dvigatel to'g'ri ishlay oladimi yoki ishlamayaptimi, printer va tugmalar to'g'ri sozlanganligini tekshirishimiz mumkin. Buni amalga oshirish uchun./Engin.py kiriting.
  11. Agar hamma narsa yaxshi ishlayotgan bo'lsa, keyingi qadam ikkita systemd xizmatini o'rnatishdir. Qo'shimcha ma'lumot olish uchun, archlinux wiki sahifasi (https://wiki.archlinux.org/index.php/Systemd) yoki systemd.service (https://www.freedesktop.org/software/systemd/) sahifasi yordam berishi mumkin. man/systemd.service.html). Birinchi systemd xizmati har ikki soniyada tekshiradi, agar Engin.py hozirda ishlayotgan bo'lsa va u bo'lmasa, u ishga tushadi. Shuning uchun u Raspberry Pi yuklanganda dasturni ishga tushiradi. Faylni systemd papkasida oching: sudo nano /etc/systemd/system/grimmskiste-restart.service quyidagilarni kiriting:
  12. [Birlik]

    Tavsif = bajarilmasa, Grimms Kiste har ikki soniyada qayta ishga tushadi [Service] ExecStart =/home/pi/GrimmsKiste-1/Engin.py Restart = always RestartSec = 2 [Install] WantedBy = multi-user.target

  13. Yo'lni ExecStart -da o'zgartirishingiz kerak, agar sizning Engin.py boshqa joyda bo'lsa, masalan. agar foydalanuvchi ismingiz boshqacha bo'lsa. Faylni nanoda saqlash uchun ctrl + x tugmalarini bosish kerak, keyin y (ha uchun) yozing va enter tugmasini bosing.
  14. Boshqa xizmat o'chirish va qayta boshlash tugmachasini tinglaydigan shutdown-pi-and-restart-program.py skriptini ishga tushiradi. Qayta ishga tushirish tugmasi Engin.py jarayon identifikatorini fayldan o'qiydi va uni o'ldiradi va boshqa tizimli xizmat tufayli Engin.py ikki soniyadan so'ng qayta ishga tushadi. O'chirish tugmasi Raspberry Pi -ga buyruq yuboradi, u hozir yopiladi. Sudo nano /etc/systemd/system/grimmskiste.service yordamida boshqa faylni oching va quyidagilarni kiriting:
  15. [Birlik]

    Tavsif = Malinali pi-ni o'chirish yoki ishlaydigan Grimms Kiste [Service] ExecStart =/home/pi/GrimmsKiste-1/shutdown-pi-and-restart-program.py [Install] WantedBy = o'chirish uchun ikkita apparat tugmachasini boshqaradi. ko'p foydalanuvchilarli maqsad

  16. Shunga qaramay, agar siz Pi -da boshqacha bo'lsa, ExecStart -da yo'lni o'zgartirishingiz kerak bo'ladi. Va yana, faylni nano formatida ctrl + x yordamida saqlashingiz mumkin, keyin y yozib, enter tugmasini bosishingiz mumkin.
  17. Endi sizda systemd xizmatlarining birlik fayllari bor, lekin ular hali ishlatilmayapti. Birlik fayllarini o'zgartirganda, sudo systemctl daemon-reload-ni kiriting, buni hozir qiling. Keyin ikkala xizmatni ham boshlang sudo systemctl start grimmskiste.service va sudo systemctl start grimmskiste-restart.service Bu hozircha xizmatlarni ishga tushiradi. Ularning ishlayotganligini tekshirish uchun sudo systemctl status grimmskiste.service va sudo systemctl status grimmskiste-restart.service dan foydalaning. Chiqishda "faol (ishlayotgan)" ni o'z ichiga oluvchi qator bo'lishi kerak, ehtimol uchinchi qatorda - agar bo'lmasa, biror narsa noto'g'ri ketdi. Journalctl ko'proq disk raskadrovka ma'lumotlariga yordam berishi mumkin.
  18. Systemctl start -dan foydalanish hozircha xizmatlarni ishga tushiradi, lekin agar siz Raspberry Pi -ni har safar ishga tushirishni xohlasangiz, ularni yoqishingiz kerak. Bu sudo systemctl faollashtirish orqali amalga oshiriladi grimmskiste.service va sudo systemctl grimmskiste-restart.service.
  19. Agar hamma narsa to'g'ri ishlayotgan bo'lsa, endi siz barcha tugmalarni sinab ko'rishingiz kerak. O'chirish tugmachasini ham tekshiring va qayta ishga tushirilgandan keyin hammasi to'g'ri ishlayotganini tekshiring. Agar shunday bo'lsa, sizga ekran, klaviatura va boshqalar kerak emas va har safar Raspberry Pi ni rozetkaga ulaganingizda sizning dasturingiz ishlashi kerak.

4 -qadam: YAMLga kirish:

YAMLga kirish
YAMLga kirish
YAMLga kirish
YAMLga kirish
YAMLga kirish
YAMLga kirish
YAMLga kirish
YAMLga kirish

Muhim: binafsha rangdagi maydonlar qayta nomlanmasligi kerak. Shaxsiy ro'yxatlarning nomlari bundan mustasno. Har bir hikoya o'z tanlovi bilan o'z YAML faylini oladi. Tuzilishi start.yaml fayli bilan bir xil

Ikki nuqta: Agar siz matnda ikki nuqta ishlatmoqchi bo'lsangiz, keyin> xabarini yozishingiz kerak. Keyin matn bir qatorga tushiriladi va ikkita bo'sh satr bilan kiritiladi.

Yorliqlar: Yorliqlardan foydalanmang va xabar oxirida hech qanday yorliq yo'qligiga ishonch hosil qiling, buning natijasida tahlilchi faylni o'qiy olmaydi.

_default_question: Agar tarixda "savol" yozilmagan bo'lsa, bu erga kiritilgan savol qabul qilinadi.

_prompt: O'quvchi yozuv kiritishi kerak bo'lganda, bu maydon chop etiladi.

Ikkala maydon ham start.yaml faylida faqat bir marta bo'lishi mumkin va boshqa fayllarda ishlatilmasligi mumkin.

start: start - boshlang'ich sahifaning birinchi ro'yxatining nomi. Boshqa barcha ro'yxatlarda ismlar takrorlanmasligi kerak. Shablonda bu maydon "Hikoyaning nomi" deb nomlanadi va har bir hikoya uchun o'zgartirilishi kerak.

Xabar: Bu maydon hikoyani o'z ichiga oladi va bir qatorda turishi kerak. savol: _default_questiondan boshqa savol ishlatilganda ishlatiladi. Agar maydon ishlatilmasa, uni o'chirish kerak. (ixtiyoriy)

Amallar: "Amallar" ro'yxati tanlov variantlarini o'z ichiga oladi. Bu erda maksimal 4 ta variantni kiritish mumkin. Yorliq: Yorliq tanlov varianti sifatida chop etiladi.

Keyingi: Bu chaqiriladigan keyingi tanlov variantining nomi.

oxiri: faqat xabari bo'lgan ro'yxat hikoyaning oxirini bildiradi, harakatlar, yorliq va keyingi maydonlarni o'chirish kerak

Yana hikoyalar qo'shing:

Yuqorida aytib o'tilganidek, har bir yangi hikoya o'z.yaml faylini oladi. Buning uchun "Grimms Box" papkasini oching va template.yaml faylini nusxa ko'chiring. Siz uni GitHub repo-da ham topishingiz mumkin (https://github.com/fio-na/GrimmsKiste-1). Fayl nomini o'zgartiring Hikoyaning sarlavhasi va uni oching. Yangi faylda siz ishlab chiqaruvchi va sanani qo'shib, "Hikoyaning nomi" maydonini sarlavhaga o'zgartiring (4 -rasmga qarang: Bu erda hikoyaning nomi HP1). Keyin xabar, savol, yorliq va keyingisini to'ldiring. Buni qilganingizdan so'ng, ma'lumotlar strukturasini nusxa ko'chiring (4 -rasmda ko'rsatilgandek) va oxirgisining ostiga qo'ying. Endi sarlavha birinchi qismda "keyingisida" ishlatilgan bitta kalitga o'zgartiriladi (4 -rasmda ko'rsatilgandek, HP1 yoki HP2, qaysi variant birinchi bo'lib tahrir qilinishiga qarab). Keyin xabar, savol, yorliq va keyingi yana to'ldiriladi. Buni butun tanlov faylda bo'lmaguncha barcha tanlovlar/harakatlar uchun qiling. Oxir -oqibat, oxirgi ro'yxatda faqat xabar bo'lishi kerak. Yakuniy ro'yxatdagi boshqa barcha maydonlar o'chirilishi kerak. Shundan so'ng, fayl saqlanishi kerak.

Qisqasi, protsedura:

  1. Grimms Box papkasini oching
  2. Vorlage.yaml -dan nusxa oling va uni hikoya nomiga o'zgartiring.
  3. Bu yangi faylni oching.
  4. Ma'lumotlar tuzilishini nusxalash (4 -rasm)
  5. Nomni Tarixdan Tanlov nomiga o'zgartiring
  6. Xabar maydoniga hikoya matnini kiriting,
  7. Tegishli belgini kiriting.
  8. Keyingisiga keyingi tanlov variantining nomini kiriting.
  9. Hikoya tugaguncha 4 dan 9 gacha bo'lgan amallarni takrorlang.
  10. Oxirida: Oxirgi ro'yxatda faqat xabar bor.
  11. Faylni saqlang.

Bosh sahifaga yangi hikoyangizni qo'shing:

start.yaml - Grimm qutisi uchun boshlang'ich sahifa. Biroq, bu fayl birinchi navbatda yangi hikoyalarga kira olishi kerak. Shuning uchun, yangi hikoyalar avval ushbu faylga qo'shilishi kerak.

Har bir harakat uchun siz faqat 4 ta yorliq yaratishingiz mumkin, chunki Grimm qutisida faqat 4 ta tugma mavjud. Shuning uchun, agar start.yaml misolida bo'lgani kabi, 4 ta yorliq va keyingi maydonlar allaqachon tayinlangan bo'lsa, 4 -yorliq "Yana hikoyalar" yoki "Yana" deb nomlanishi va ikkinchi ma'lumotlar tuzilmasi bo'lishi kerak (bu erda: S2; xabar, savol bilan, harakatlar, yorliq, keyingi) qo'shilishi va qayta nomlanishi kerak. Keyin siz yangi hikoyani yorliqli va keyingisiga qo'shasiz va unga munosib nom berasiz. Oxir -oqibat, uni saqlash kerak.

Qisqasi, protsedura:

Start.yaml da:

  1. Open start.yaml
  2. Maydonlarni to'g'ri to'ldiring.
  3. Maydon harakatlari, yorliq va keyingi nusxa ko'chirish va joylashtirish kerak.
  4. Saqlash.

"Engin.py" asosiy faylini saqlang:

Nihoyat, hikoyani "Engin.py" asosiy fayliga qo'shish kerak. Buning uchun fayllar ro'yxatiga faqat yangi YAML faylining yo'lini kiritish kerak. Yo'l tirnoq ichiga olingan va boshqalardan ajratilgan. vergul.

Qisqasi, protsedura:

  1. Engine.py -ni oching.
  2. YAML faylining yo'lini nusxalash
  3. Yo'lni fayllar ro'yxatiga nusxalash
  4. Yo'llarni vergul bilan ajrating.

5 -qadam: Foydalanish bo'yicha ko'rsatmalar

Foydalanish bo'yicha ko'rsatmalar
Foydalanish bo'yicha ko'rsatmalar

Grimm qutisini ishga tushirish uchun printerni Raspberry Pi -ga ulang (kabellar uchun kichik teshik bor), printerni va Raspberry Pi -ni rozetkaga ulang va printerni yoqing. Raspberry Pi rozetkaga ulanganda o'z -o'zidan boshlanadi. Uning yuklanishini kuting. Dastur o'z -o'zidan boshlanishi kerak.

Raspberry Pi -ni o'chirish tugmasi va hikoyani tugatmasdan kimdir ketsa, dasturiy ta'minotni qayta ishga tushirish tugmasi mavjud. Ikkalasini ham kamida 3 soniya bosib turish kerak. Bu tasodifan itarib yuborilmasligini ta'minlash uchun, lekin siz shutdown-pi-and-restart-program.py faylidagi vaqtni o'zgartirishingiz mumkin. Iltimos, o'chirish tugmasidan foydalaning, shunchaki Raspberry Pi uchun tarmoqdan uzish yaxshi emas. Joriy sozlash bilan siz Raspberry Pi -ning yoqilgan yoki o'chirilganligini ko'ra olmaysiz, shuning uchun agar siz ishonch hosil qilishni xohlasangiz, u boshqa tugmalarga javob berishini tekshirishingiz kerak.

Dasturni qayta ishga tushirish uchun biroz vaqt kerak bo'ladi, chunki tugmani kamida 3 soniya bosish kerak va fonda jarayon faqat dastur ishlayotgan bo'lsa, har 2 soniyada tekshiriladi, shuning uchun qayta chop etilgunga qadar butun jarayon 6 soniyani olishi mumkin. Unga ozgina vaqt bering. Qayta ishga tushirish tugmachasidan ham foydalanish mumkin, agar muammo yuzaga kelsa. Ehtimol, qayta ishga tushirish uni tuzatishi mumkin. Agar bunday bo'lmasa, Raspberry Pi -ni ekranga ulash va hokazo va terminaldan dasturni ishga tushirish Internetda qidirish mumkin bo'lgan xato xabarlarini keltirib chiqarishi mumkin. Hikoyalar uchun ishlatiladigan tugmachalarni kamida 0,1 soniya bosib turish kerak, lekin kimdir ularni bundan kamroq bosishi juda kam uchraydi.

Agar hikoya tugasa, qog'oz kesiladi va dastur avtomatik ravishda qayta boshlanadi. Ammo o'quvchiga oxirini o'qish uchun vaqt berish uchun u 3,5 soniya kutib turadi va dastur ishlamayotganini va qayta boshlanishini bilish uchun 2 soniya kerak bo'ladi. 3,5 soniyani Engin.py faylida tahrir qilish mumkin.

Oxirgi bosishdan 1,7 soniyadan kam vaqt davomida bosilgan tugmalar qabul qilinmaydi. Biz buni amalga oshirdik, chunki Raspberry Pi printerga qaraganda ancha tezroq va ikkita tugmani bosish o'quvchi variantlarni ko'rmasdan oldin tanlangan harakatga olib keladi.

Tavsiya: