Mundarija:

Interaktiv Twister: 9 qadam
Interaktiv Twister: 9 qadam

Video: Interaktiv Twister: 9 qadam

Video: Interaktiv Twister: 9 qadam
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Noyabr
Anonim
Interaktiv Twister
Interaktiv Twister

Twister - bu klassik oilaviy o'yin va ishonchim komilki, bu ko'rsatmalarni o'qiganlar hech bo'lmaganda bir marta o'ynagan. O'yinning asosiy maqsadi - tuval ustida turgan oxirgi odam va aylanma g'ildirak tanlagan vazifalarni bajarayotganda yiqilib tushmasligingizga ishonch hosil qilish.

Muammo Twisterning har bir o'yinida, har doim g'ildirakni aylantiradigan odam bo'lishi kerak. Agar bularning barchasi avtomatik tarzda ro'y bersa, ancha oson bo'larmidi? Shunday qilib, har kim Twister o'yinini o'ynab dam olishi mumkin.

Men Howest Kortrijkdagi NMCT talabasiman. Bu bizning birinchi yilimizdagi yakuniy loyihadir.

Bu yo'riqnomada men Twister -ning interaktiv o'yinini qanday yaratganimni va uni uyda qanday qurish mumkinligini tushuntiraman.

1 -qadam: talablar

  • Raspberry Pi
  • T-tikuvchi
  • Twister o'yini
  • Bosqichli motor
  • DRV8825
  • LDR
  • Kondensatorlar (100 mF va 10 mF)
  • Turli xil rangdagi kabellar
  • Alyuminiy folga
  • Ductape
  • Elektr tasmasi
  • Ikki tomonlama lenta
  • Velcro
  • Yog'och taxtalar
  • Breadbord
  • Kengash paneli (ixtiyoriy)
  • Ayol sarlavhalari (ixtiyoriy)
  • Raspberry Pi uchun 5V adapter
  • 12V kuchlanishli adapter
  • 2 x MCP23017

2 -qadam: Twister Mat

Twister Mat
Twister Mat
Twister Mat
Twister Mat
Twister Mat
Twister Mat

Talablar:

  • Ko'pikli rulon
  • Twister mat
  • Ductape
  • Alyuminiy folga
  • kabellar
  • marker

Ko'rsatmalar:

Gilam yasash - bu butun loyihaning eng katta ishi. O'rnatish qiyin emas, lekin hamma narsani 24 marta takrorlash kerak. Bu ko'p kanalli kanalni ham o'z ichiga oladi … va men juda ko'p narsani nazarda tutyapman.

Boshlash uchun siz Twister gilamchasi bilan bir xil bo'lgan 2 dona ko'pikni kesib olishingiz kerak. Men parket tagiga yotqizish uchun ko'pik ishlatardim. Muammo shundaki, ko'pik juda nozik. Agar siz kamida 2 mm bo'lgan ko'pikni topsangiz, bu juda yaxshi bo'lardi va sizda tuval yasash uchun kamroq ish bo'ladi, lekin men keyinroq bunga qaytaman.

Ko'pikning birinchi qatlamiga ko'pikning butun qismiga to'rtta alyumin folga qo'yishingiz kerak. Ular zanjir uchun asos sifatida ishlatiladi. Uni biriktirishning eng yaxshi usuli - kanallarni yon tomonlariga yopishtirish.

Keyingi ko'pik qatlamini Twister matining ustiga qo'ying. Twister gilamchasidagi har bir nuqta uchun aylana chizish. har bir doira ichida ko'pik ustidagi teshikni kesish kerak. Teshikning diametri unchalik muhim emas, uning katta yoki kichik emasligiga ishonch hosil qiling.

Har bir teshik alyumin folga bilan qoplangan bo'lishi kerak. Yana uni biriktirishning eng yaxshi usuli - bu ductape. Nosozliklarni oldini olish uchun hech qanday yamaqlar ishlamasligiga ishonch hosil qiling.

Bu kerak emas, lekin agar ishlatilgan ko'pik 2 mm dan kam bo'lsa, folga yopishmasligi uchun har bir teshikka qandaydir balandlik qo'yish kerak. Men komponentlarimning qadoqlanishi bilan kelgan kichik ko'pikli yong'oqlardan foydalandim.

Oxirgi qadam - kabel yotqizish. Har bir patch uchun 1 ta kabel kerak. Erdagi yamaqlar bir -biriga, keyin esa Raspberry pi bilan ulanishi mumkin.

3 -qadam: Uy -joy

Uy -joy
Uy -joy

Talablar

  • yog'och taxtalar
  • mixlar
  • burg'ulash
  • velcro

Ko'rsatmalar:

o'lchamlari: 32 sm x 30 sm x 8 sm

Uy-joy-bu oddiy quti dizayni. Sizga kerak bo'lgan taxtalarni yuqoridagi rasmlardan birida ko'rishingiz mumkin. Yog'och mening uyimdagi omborxonada arralandi. Men unchalik qulay emasman va ular arzon narxda yog'ochni ko'rishdi va siz uning o'lchamlari to'g'ri bo'lishini allaqachon bilgansiz.

Qutini yig'ish uchun men pastki qismidagi vintlarni burg'uladim. Vintlarning uzunligi unchalik muhim emas. Faqat ular er plastinkasining balandligidan uzunroq va yog'ochni sindirishlari uchun juda uzun emasligiga ishonch hosil qiling.

Qopqoqning o'rtasida siz dvigatelga mos keladigan kichik teshikni burishingiz kerak. Bu teshik 5 mm diametrli bo'lishi kerak.

Qopqoq qutiga velkro yordamida biriktirilgan.

Siz qilishingiz kerak bo'lgan oxirgi narsa - Twister matining kabellari uchun old tomondan teshik va ikkita adapter uchun orqa tomondan teshik qilish. Teshiklarning diametri siz foydalanadigan adapterlarga va to'shak kabellarini qanday boshqarishingizga bog'liq. Men matli kabellar uchun to'rtburchaklar teshikni kesib oldim, chunki menda etarlicha katta matkap yo'q edi.

4 -qadam: elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Talablar:

  • DRV8825
  • Bosqichli motor
  • 2 x mcp23017
  • LDR
  • 100 mFF elektrolitik kondansatör
  • 10 mF elektrolitik kondansatör
  • T-poshnali Raspberry Pi
  • 24 x 330 ohmli qarshilik

Ko'rsatmalar:

Barcha elektronikani ishlab chiqarishning eng tezkor usuli - uni non paneliga qo'yish. Muammo shundaki, hech narsa tuzatilmagan va ba'zi komponentlar bo'shashishi mumkin. Eng yaxshi usul - hamma narsani kompyuterda lehimlash. Men step motorli haydovchi va sensorni lehimladim. Men ikkita IO kengaytirgichni non panelida qoldirdim, chunki ko'plab kabellar MCP23017 ga o'tadi. Buni qanday qilish sizga to'liq bog'liq.

Kabelga oid ba'zi bir nishonlar:

Bosqichli dvigatelda ikkita g'altak jufti bor. Mening motorimdagi juftlarning simlari:

qora, yashil -> juftlik 1

qizil, ko'k -> juftlik 2

Twister matidan kirishlar to'g'ri tartibda ulanganligiga ishonch hosil qiling. Birinchi nuqta birinchi MCP23017 GPA0 ga ulangan. Oxirgi nuqta ikkinchi MCP23017 GPA7 ga ulangan. Har bir kirish oxirida qarshilik borligiga ishonch hosil qiling.

5 -qadam: Raspberry PI ni sozlash

Raspberry PI ni sozlash
Raspberry PI ni sozlash

Talablar:

  • Malinali PI
  • SD-karta
  • Ethernet kabeli

Ko'rsatmalar:

Raspian tasvirini https://www.raspberrypi.org/downloads/raspbian/ saytidan yuklab oling. Ish stoli versiyasini yuklab olganingizga ishonch hosil qiling. SD-kartadagi tasvirni yozish dasturi yordamida yozib oling. Men etcher -dan foydalandim, lekin boshqa dasturni ishlatishdan xavotir olmang. SD-kartani Pi-ga joylashtirishdan oldin, siz kompyuter bilan ba'zi narsalarni o'zgartirishingiz kerak. SD-kartaning yuklash segmentini oching. Siz boshqa segmentni ocholmaysiz, chunki Windows Linuxni tanimaydi. Yuklashda faylni oching: "cmdline.txt". Fayl oxirida "ip = 169.2554.10.1" qatorini qo'shing. Bu APIPA manzili va kompyuter va Pi ni ssh orqali ulash uchun ishlatiladi. Bu bajarilgandan so'ng, yuklash segmentida "ssh" deb nomlangan, lekin kengaytmasi bo'lmagan fayl yarating. Shunday qilib, Pi yuklashda ssh -ni yoqadi.

Ethernet kabeli bilan Pi -ni kompyuteringizga ulang. Siz ssh -ga Pi dasturini yuklab olishingiz kerak bo'ladi. Men macun ishlatardim. Mastikani oching va APIPA manzilini (169.254.10.1) to'ldiring va ulanishni oching. PI birinchi marta ishga tushganda, hamma narsa tayyor bo'lgunga qadar biroz vaqt ketishi mumkin. Bir oz kutib turing va agar ulanolmasangiz, qaytadan urinib ko'ring. Ulanishdan so'ng, standart hisob ma'lumotlari bilan kiring: foydalanuvchi nomi: pi, parol: malina.

Agar xohlasangiz, o'zingizdan foydalanuvchi yaratishingiz mumkin. Endi siz Internetga ulanishni sozlashingiz kerak. Agar siz wifi -dan foydalanmoqchi bo'lsangiz, quyidagi ikkita buyruqdan foydalanishingiz mumkin:

wpa_passphrase 'SSID' 'Parol' | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf

wpa_cli -i wlan0 qayta sozlang

Ushbu dasturlarni quyidagi buyruqlar yordamida o'rnating:

sudo apt update && sudo apt install -y python3 -venv

python3 -m pip o'rnatish -pip setuptools g'ildiragini yangilash python3 -m venv --system -site -packages env

python -m pip mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib flask-socketio ni o'rnatadi

6 -qadam: ma'lumotlar bazasi

Talablar:

  • Raspberry Pi
  • Ethernet kabeli

Ilova foydalanuvchilar, g'oliblar va o'yin haqidagi ma'lumotlarni saqlash uchun ma'lumotlar bazasidan foydalanadi.

Avval Raspberry Pi -da db dasturini o'rnating. Siz oldingi qadamda Mysql -ni Pi -ga o'rnatgansiz.

Mysql ishlayotganini tekshirish uchun "sudo systemctl status mysql" dan foydalaning.

Mysql -ni ishga tushiring:

sudo mariadb

Keyin quyidagi kodni kiriting:

CREATE USER 'project_name-admin'@'localhost' IDENTIFIED 'adminpassword';

Ma'lumotlar bazasini yaratish project_name;

Project_name.* Ga "PROJET1-admin"@"localhost" ga GRANT OPSIYASI BILAN HAMMA imtiyozlarni berish;

YUQARISH IMKONIYATLARI;

Loyihaning nomini xohlaganingizcha o'zgartiring.

Ma'lumotlar bazasini to'ldirish uchun, keyinchalik ko'rsatma berilgan kod bilan berilgan sql faylini ishga tushiring.

7 -qadam: kod

Kodni quyidagi havolada topishingiz mumkin:

Raspberry Pi -ga omborni klonlang.

Foydalanuvchi ostida to'g'ridan -to'g'ri katalogda klonlanganligiga ishonch hosil qiling.

8 -qadam: Avtomatlashtirilgan xizmat

Raspberry Pi ochilganda dastur ishga tushishi kerak. Buni amalga oshirish uchun siz ilovaga xizmat ko'rsatishingiz kerak.

Konfiguratsiya allaqachon tuzilgan va conf katalogida joylashgan.

Xizmatni yuklashni boshlash uchun qilishingiz kerak bo'lgan yagona narsa bu kod satri:

sudo systemctl project1.service -ni yoqing

Bitta muammo shundaki, pi tarmoq yuklanishini kutadi. Siz buni o'chirib qo'yishingiz mumkin, lekin hech qanday ta'siri yo'q, chunki biz cmdline.txt -da APIPA manzilidan foydalanamiz. Agar siz uning tezroq yuklanishini xohlasangiz, siz APIPA manzilini olib tashlashingiz kerak, lekin muammo bo'lsa, Wi -Fi tarmog'iga ulana olmasangiz, Pi -ni monitorga ulashingiz kerak bo'ladi.

9 -qadam: Ko'rsatmalar

Ko'rsatmalar
Ko'rsatmalar

Brauzeringizda th Pi-ning IP-manzilini kiriting. IP-manzilga: 5000 qo'shishni unutmang.

Saytga kelganingizda, yangi o'yinni boshlang va o'yinchi nomlarini to'ldiring.

O'yin boshlangandan so'ng, ikkita qurilma ulanmaguncha 5 soniya kutish kerak.

Ko'rsatkichning aylanishiga ruxsat berish uchun yorug'lik sensorini yoping. Ko'rsatkich aylanishni to'xtatgandan so'ng, harakat ekranda paydo bo'ladi.

Agar kimdir yiqilsa yoki o'z vazifasini bajara olmasa, u yutqazadi va siz uning nomini ekranda surishingizga to'g'ri keladi.

Oxirida turgan oxirgi o'yinchi g'alaba qozonadi.

Tarix jadvalida o'tmishda g'olib bo'lganlarning barchasini ko'rishingiz mumkin.

Maza qiling!

Tavsiya: