Qulfni o'zgartiruvchi: QR-kodli eshikni ochish: 8 qadam
Qulfni o'zgartiruvchi: QR-kodli eshikni ochish: 8 qadam
Anonim
Image
Image
Funktsional tahlil
Funktsional tahlil

Salom, mening ismim Ben Vanpoucke va men Belgiyaning Kortrijk shahridagi Xouestda Yangi media va aloqa texnologiyasini o'rganaman. Maktabga topshiriq sifatida biz IOT qurilmasini yasashimiz kerak edi. Airbnb orqali turar joy ijaraga olgach, men kvartirani, uyni, xonani … haqiqiy kalit o'rniga virtual kalit (QR -kod) bilan ochish g'oyasini oldim. Men o'z qurilmamga "LockChanger" nomini berdim. Quyida siz ushbu vositani yaratish uchun zarur bo'lgan barcha qadamlarni o'qishingiz mumkin. Agar siz men va men yaratgan boshqa loyihalar haqida ko'proq bilmoqchi bo'lsangiz, portfelimni tekshiring.

1 -qadam: Funktsional tahlil

Fikr haqiqatga aylandi. Endi bu g'oya odamlarga yoqadimi yoki yo'qligini tekshirish vaqti keldi. Shunday qilib, men Airbnb -da ijaraga berilgan turar joy egalari bo'lgan odamlar bilan ba'zi intervyular o'tkazdim. Bu g'oya ularga juda yoqdi va uni iloji boricha tezroq qurishimni xohlashdi. Shunday qilib, men jarayonning qolgan qismini boshladim. Men bir vaqtning o'zida tahlil qildim va ba'zi shaxslarni yozdim. Shundan so'ng, men bir nechta foydalanuvchi hikoyalari va kartalar haqidagi hikoyalarni yaratdim. Keyin men past aniqlikdagi simli ramkalar yasadim va ularda foydalanuvchi testlarini o'tkazdim. Olingan fikrlarga asoslanib, men ramkalarni o'zgartirdim.

2 -qadam: materiallarni yig'ish

Materiallarni yig'ish
Materiallarni yig'ish
Materiallarni yig'ish
Materiallarni yig'ish
Materiallarni yig'ish
Materiallarni yig'ish

Veb -saytni loyihalashni va o'z vositamni yaratishni boshlashdan oldin, menda qurilmam uchun zarur bo'lgan barcha qismlar borligiga ishonch hosil qilishim kerak edi. Men asboblar qutisiga qaray boshladim va buyurtma berishim kerak bo'lgan narsalarni yozdim. Bu erda siz materiallarning to'liq ro'yxatini topishingiz mumkin. Bu asosiy qismlar:

1. Buzzer

2. LCD displey

3. Led bikolor

4. Qulflash

5. Raspberry pi

6. Kamera

7. Skaner

8. Yog'och

3 -qadam: ma'lumotlar bazasi

Ma'lumotlar bazasi
Ma'lumotlar bazasi

Materiallarni sotib olib, tadqiqotlar olib borganimizdan so'ng, voqealarni haqiqatga aylantirish vaqti keldi.

Men ob'ektlar bilan o'zaro munosabatlar diagrammasini tuzishni boshladim, ma'lumotlar bazasini tuzdim va ba'zi ma'lumotlarni kiritdim. Tez orada ba'zi xatolar borligi aniq bo'ldi, shuning uchun men buni yaxshi deb o'ylamagunimcha qayta -qayta qildim. Bu juda dinamik, shuning uchun siz ba'zi maydonlarni qo'shishingiz, yangilashingiz yoki o'chirishingiz mumkin.

Oddiy va yaxshi natijalarga erishish uchun men skanerlash jadvallarini foydalanuvchilar va turar joylar bilan bog'ladim.

Men veb -saytdagi ishlarni osonlashtirish uchun ba'zi saqlangan funktsiyalarni va saqlangan protseduralarni qildim.

Ushbu ob'ekt munosabatlarining diagrammasini yaratish uchun men draw.io dan foydalanardim.

Ushbu qadamga biriktirilgan holda siz mening Mysql dampini topishingiz mumkin. Shunday qilib, siz uni osongina import qilishingiz mumkin.

4 -qadam: Javob beradigan veb -saytni loyihalash

Javob beradigan veb -saytni loyihalash
Javob beradigan veb -saytni loyihalash
Javob beradigan veb -saytni loyihalash
Javob beradigan veb -saytni loyihalash

Men javob beradigan veb -saytim qanday bo'lishi kerakligini o'ylardim. Buni amalga oshirishdan oldin, men o'zim qilgan funktsional tahlilni ko'rib chiqishim va ilhom va qiziqarli naqshlarni izlashim kerak edi.

Birinchidan, men dizaynimni Adobe XD -da yaratdim. Yuqoridagi rasmlarda siz kontentni yaxshi joylashtirish uchun tartib va boshlang'ich tarmoqdan foydalanganimni ko'rishingiz mumkin.

Men ishlatgan shrift Robotto edi. Men ishlatgan rasmlar pexels.com saytidan olingan litsenziya edi.

Dizayn o'qituvchilarim tomonidan tasdiqlangan, shuning uchun men dasturlashni boshlashim mumkin edi. Men saytni HTML - CSS - Python (Jinja2 va Flask) da yozganman.

Ushbu qadamga biriktirilgan holda siz mening dizaynimni web.xd saytidan topishingiz mumkin.

5 -qadam: Ajratish sxemasi

Sovutish sxemasi
Sovutish sxemasi

Bir necha hafta o'tgach, mening qurilmalarim etkazib berildi, shuning uchun men qurilmamni qurishni boshlashim mumkin edi. Birinchidan, men hamma narsani to'g'ri ulashim uchun sxemani tuzdim.

Men ekranga ulanish uchun 6 pinli GPIO -dan foydalandim. Kamerani to'g'ridan -to'g'ri malina pi ga ulash mumkin. Men shtrix -kod skanerini 5v -ni 3.3v -ga o'tkazish uchun darajali konvertor bilan ulashni tanladim, shuning uchun men pi bilan saqlanadigan ketma -ket aloqani o'rnatdim. Ikki rangli LED 2 gpio pinidan foydalanadi.

Transistorga bitta gpio pin kerak bo'ladi. Keyin, men 12vni qulfga uladim va tranzistorni umumiy joyga bog'ladim. Komponentlaringizni himoya qilish uchun dioddan foydalanganingizga ishonch hosil qiling.

Shovqin shtrix -kod skaneri bilan ulangan. Boshqa GPIO pin ham signal signaliga ulangan, shuning uchun men kod yordamida ovoz chiqaraman. Yaxshi tomosha qiling: buning uchun 2 ta diod ishlatiladi.

Ushbu sxemani yaratish uchun men fritzingdan foydalandim. Siz ushbu bosqichga biriktirilgan sxemani olishingiz mumkin.

6 -qadam: Lazerni kesish va ulash

Lazerni kesish va ulash
Lazerni kesish va ulash
Lazerni kesish va ulash
Lazerni kesish va ulash
Lazerni kesish va ulash
Lazerni kesish va ulash

Do'stim bilan birgalikda men o'rmonni kesaman. Men qalinligi 8 mm bo'lgan multipleks yog'ochni tanlayman. Bu amalga oshgach, men komponentlarimni ramkaga surib qo'ydim. Men komponentlarni plastinkaning orqa qismiga bir nechta vintlar bilan joy tutqichisiz o'rnatdim.

Keyin shtrix -kod skanerini TX en RX portidagi (ketma -ket aloqa) malina pi bilan bog'lanish uchun (5v dan 3.3v gacha) darajali konvertor bilan o'rnatdim.

Men displeyni malina pi ga uladim va intensivlik uchun potansiometrdan foydalandim.

Hech bo'lmaganda qulfimni 12v adapter bilan o'rnatdim. Buni amalga oshirayotganda tranzistor va dioddan foydalanganingizga ishonch hosil qiling.

Ushbu qadamga qo'shilib, siz Adobe Illustrator -da mening lazerni kesish sxemasini topishingiz mumkin

7 -qadam: Ba'zi kodlarni yozish

Ba'zi kodlarni yozish
Ba'zi kodlarni yozish

Endi barcha komponentlar u erda ishlashiga ishonch hosil qilish vaqti keldi. Shunday qilib, men pythonda bir nechta kod yozdim va uni malina pi ga joylashtirdim. O'qituvchilarim buni hammaga e'lon qilishganda siz mening kodimni Github -da topishingiz mumkin.

github.com/NMCT-S2-Project-I/project-i-Ben-Vanpoucke

Kodni dasturlash uchun Pycharm -dan foydalanishim kerak edi. Kod html, CSS va pythonda yozilgan (Flask va Jinja)

8 -qadam: Eshik va tayanchni qo'shish

Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish
Eshik va tayanchni qo'shish

Men panelning yolg'iz qolishini xohlardim, shuning uchun men uni qo'llab -quvvatladim. Buning uchun yog'och elim ishlatardim. Shundan so'ng men eshikni bog'ladim.

Tavsiya: