Mundarija:

Konsol sovutgichi: 11 qadam
Konsol sovutgichi: 11 qadam

Video: Konsol sovutgichi: 11 qadam

Video: Konsol sovutgichi: 11 qadam
Video: I Bought A $6,000 Porsche 911! 2024, Iyul
Anonim
Konsol sovutgichi
Konsol sovutgichi

Sizda eski konsol bormi?

Yozda konsolingiz haddan tashqari qizib ketishidan qo'rqasizmi?

Keyin bu loyiha siz uchun!

Mening ismim Thibeau Deleu va men Howest Kortrijkdagi multimediya va aloqa texnologiyalari talabasiman.

Ushbu loyihaning nomi "Console Cooler" deb nomlangan. Nomidan ko'rinib turibdiki, bu sizning konsolingizni salqin saqlashga yordam beradigan qurilma! Sovutish korpus ustidagi fan orqali sodir bo'ladi, bu esa qo'shimcha havo oqimini hosil qiladi.

Bu loyiha, ayniqsa yozda, juda tez isadigan eski konsoli bo'lganlar uchun. Shuningdek, siz (o'z -o'zidan ishlab chiqarilgan) saytda konsol holatini ko'rishingiz mumkin bo'ladi.

1 -qadam: Asosiy komponentlar (sensorlar va LCD)

Asosiy komponentlar (sensorlar va LCD)
Asosiy komponentlar (sensorlar va LCD)
Asosiy komponentlar (sensorlar va LCD)
Asosiy komponentlar (sensorlar va LCD)
Asosiy komponentlar (sensorlar va LCD)
Asosiy komponentlar (sensorlar va LCD)

Ushbu qurilmani yaratish uchun bizga aniq nima kerak?

Asosiy komponentlar nima ekanligini ko'rib chiqishni boshlaymiz:

  • LDR qarshilik
  • ML35 harorat sensori
  • Jtron DC 5V 0.23a 3 5 sm sovutish foniy.
  • PIR harakat sensori
  • Ultra Sonic sensori

Bu qadamning boshlanishi haqidagi savolga men sizga kerakli barcha komponentlar bilan 2 ta excel rasmini joylashtiraman. Ammo men keyingi bosqichlarda eng muhim qismlarni ko'rib chiqaman, shuning uchun tushunish osonroq bo'ladi.

Birinchidan, bu ishni bajarish uchun bizga asosiy komponent kerak va bu kamida 16 gigabaytli micro SD kartali Raspberry Pi. Busiz hech narsa ishlamaydi.

Ikkinchidan, korpus ichidagi harorat va konsolning holatini ko'rish uchun muhim parametrlarni qayd etadigan komponentlar, buning uchun bizga harorat sensori va yorug'lik sensori kerak. Men ushbu loyihada foydalanadiganlar:

  • LDR qarshiligi
  • LM35 harorat sensori

Fanning o'ziga kelsak, men Jtron DC 5V 0.23a 3 5 sm sovutish foniyidan foydalanaman.

Ushbu loyihada qo'shimcha komponentlar mavjud, chunki ularni loyihaga qo'shish qiziq edi (men uchun shaxsan).

Birinchi komponent - bu fanni yoqish uchun tugma sifatida ishlaydigan PIR Motion sensori. Ikkinchi komponent - korpus va devor orasidagi masofani o'lchaydigan ultra tovushli sensor. Men bu oxirgi sensorni ishga tushirdim, chunki havo korpusdan osongina chiqib ketishi muhim.

Nihoyat, bizda saytning IP -manzilini ko'rsatadigan LCD bor, bu sayt sensorlar qiymatini ko'rsatadi va siz fanni shu saytdan boshqarishingiz mumkin bo'ladi.

2 -qadam: O'chirish uchun elementlar (tranzistorlar, rezistorlar, …)

O'chirish ishlarini bajaradigan narsalar (transistorlar, rezistorlar, …)
O'chirish ishlarini bajaradigan narsalar (transistorlar, rezistorlar, …)
O'chirish ishlarini bajaradigan narsalar (transistorlar, rezistorlar, …)
O'chirish ishlarini bajaradigan narsalar (transistorlar, rezistorlar, …)
O'chirish ishlarini bajaradigan elementlar (transistorlar, rezistorlar, …)
O'chirish ishlarini bajaradigan elementlar (transistorlar, rezistorlar, …)

Ushbu loyihani amalga oshirish uchun quyidagi tranzistorlar / rezistorlar ishlatilgan.

Transistorlar:

NPN tranzistor: PN2222 (1 ta kerak)

Rezistorlar:

  • 10k ohm (3 ta kerak)
  • 1k ohm (2 ta kerak)
  • 2k ohm (2 ta kerak)

Quvvatlantirish manbai:

3V / 5V plastmassa paneli (1 ta kerak)

Kabellar:

  • erkak/erkak (kamida 30-40)
  • ayol/erkak kabellari (LCD, LDR va fan uchun 10-20 atrofida)
  • ayol/ayol kabellari (agar siz korpus uchun ba'zi kabellarni uzaytirmoqchi bo'lsangiz, 10-20 atrofida).

Boshqa:

  • 1 potentsiometr (LCD displeyda yorug'likni sozlash uchun)
  • 1 MCP3008 (LDR analog qiymatini raqamli qiymatga aylantirish uchun)
  • Hammasini joylashtirish uchun 2 ta taxta.

3 -qadam: tushuntirishlar bilan simlar sxemasi

Bu qadam avvalgisining kengaytmasi. Bu erda men konsolni sovutish uchun elektr simlarining to'liq sxemasini ko'rsataman. Hamma narsani qanday ulashni ko'rish uchun ilova qilingan fayllarni bosing.

4 -qadam: ish: komponentlar

Vaziyat: komponentlar
Vaziyat: komponentlar
Ish: komponentlar
Ish: komponentlar
Vaziyat: komponentlar
Vaziyat: komponentlar

Albatta, bu elektr zanjiri ishlashini to'xtatishi mumkin bo'lgan turli kuchlardan himoyalangan bo'lishi kerak. Men kuchlar bilan yomg'ir, qurilmaga tegishi mumkin bo'lgan narsalarni va boshqalarni nazarda tutaman.

Shu sababdan ish ochish kerak.

Bu ishni yaratish uchun bizga quyidagi komponentlar kerak bo'ladi:

Yog'och:

  • Quyidagi qismlarni kesish uchun bitta katta tolali taxta (qalinligi 1,2 sm):

    • 20 sm dan 14 sm gacha bo'lgan 2 dona (korpusning old / orqa qismi)
    • 12 sm dan 45 sm gacha bo'lgan 2 dona (ishning yon tomonlari)
    • 45 sm dan 20 sm gacha bo'lgan 2 dona (korpusning yuqori / pastki qismi)
    • 2 bar (sumka uchun oyoq sifatida ishlatiladi)

Menteşalar:

  • Oldini ochish uchun 2 ta menteşe (menteşeler old tomonning pastki qismida)
  • Yuqori qismini ochish uchun 2 ta menteşe

Tutqich:

1 tutqich (old qismini ochish uchun)

Yelim:

1 ta katta TEC elimli naycha (bo'laklarni bir -biriga yopishtirish uchun)

Arra:

Atlantika arra (datchiklar, LDR va fan uchun kerakli teshiklarni kesish uchun)

Sander:

Black & Decker parchalari kesilganidan keyin tekislanadi

Matkap:

Vida diametri 0,6 sm bo'lgan 1 burg'ulash (teshiklarni yaratish uchun)

Bo'yoq / astar:

  • 1 qozon oq Levis astar (0,25L)
  • 1 pot oq Levis bo'yog'i (0,25 l)

Magnitlar:

2 magnit (korpus eshigini ushlab turadi)

Cho'tkalar:

  • 1 rolik (katta sirtlarni bo'yash uchun)
  • 1 ta cho'tka (batafsil ma'lumot uchun)

Vintlar:

  • Menteşalar uchun 8 ta kichik vint (maksimal uzunligi 1,1 sm, chunki plastinka qalinligi 1,2 sm)
  • Tutqich uchun 2 ta kichik vint (maksimal uzunligi 1,1 sm)
  • Magnitlar uchun 4 ta kichik vint (maksimal uzunligi 1,1 sm)

5 -qadam: Ish: Yaratilish

Vaziyat: Yaratilish
Vaziyat: Yaratilish
Vaziyat: Yaratilish
Vaziyat: Yaratilish
Vaziyat: Yaratilish
Vaziyat: Yaratilish

Endi ishni hal qilish vaqti keldi.

  1. Kosonning yuqori qismi uchun. Plitani yarmiga bo'ling, chunki biz sensorlar/elektronikaga o'tishimiz uchun orqa qismini ochishimiz kerak
  2. Elyaf taxtasi qismlarida quyidagi teshiklarni kesib oling- yuqori qismning yarmida. 3 ta teshikni kesib oling: - 1 ta to'rtburchaklar teshik (LCD displey uchun 3,5 sm) - 1 dumaloq teshik (fan uchun diametri 2,5 sm) - 1 kvadrat teshik (2,5 sm PIR harakat sensori uchun 2,5 sm)
  3. Orqa qismdan aylana shaklidagi teshikni kesib oling. Bu erda elektr kabellari o'tadi.
  4. Kichik teshiklarni burg'ilash yordamida diametri 0,6 sm bo'lgan vintni orqasida (kabellar uchun teshik atrofida) va korpusning chap tomonida qiling. Biz shunday qilamizki, bu holatda havo aylanishi etarli bo'ladi.
  5. Ishning o'ng tomonida. Ultra sonik sensori uchun orqa tomondan teshik (3,5 sm dan 5,5 sm gacha) kesib oling (u to'g'ri ishlashi uchun).
  6. Barcha qismlarni TEQ elim bilan yopishtiring. Agar kerak bo'lsa, korpusning yon tomonlarini mustahkamlash uchun tolali taxtali panjaralarni qo'shishingiz mumkin. Hammasini quritgandan keyin
  7. Ishning old qismidagi dastani burab qo'ying. Old qismning yuqori qismiga burab qo'ying (biz 3 teshik qilgan yuqori qism emas => agar kerak bo'lsa, rasmlarni ko'ring).
  8. Ishning o'ng tomonida (orqa tomonda) 2 ta menteşani (4 vint) burang, shunda yuqori orqa qismi ochiladi.
  9. Korpusning old tomoni ochilishi uchun old qismning pastki qismiga 2 ta menteşani (4 vint) burang.
  10. Korpusning ichki qismidagi magnitlarni burab qo'ying:- old tomonning yuqori qismi oldida 2 magnit

    - Old qismning yuqori qismida 1 ta metall bo'lak, u magnit bilan bog'lanadi

  11. Korpusning pastki qismidagi tolali taxta panjaralarini yopishtiring, shunda old tomondan tutqich yordamida osongina ochiladi.
  12. Kosonga astar qo'shing
  13. Kosonga oq bo'yoq qo'shing
  14. Tabriklaymiz! Sizning ishingiz tugadi!

6 -qadam: Komponentlarni qutiga joylashtirish

Komponentlarni qutiga joylashtirish
Komponentlarni qutiga joylashtirish

Kosonga komponentlarni joylashtirish uchun quyidagilar kerak:

  1. LCD va ventilyator korpusning yuqori qismiga vidalanadi.
  2. PIR harakat sensori korpusning ichki qismiga yopishtiriladi.

Biz buni harakat sensori uchun qilayotganimizning sababi, qolganlari uchun emas, balki harakat sensori to'xtovsiz ro'yxatdan o'tishiga yo'l qo'ymaslikdir.

Non paneli (aksariyat elektronikada) korpus ichiga yopishtiriladi va orqa tomonga joylashtiriladi. E'tibor bering, de Ultra sonik sensori o'ng tomondagi teshikdan ko'rinadi.

Raspberry Pi korpusning old yarmiga joylashtiriladi. Pi sovutilishi kerak bo'lgan konsol bo'lgani uchun uni yopishtirish/burama qilishning hojati yo'q (chunki biz buni haqiqiy konsolda qilmagan bo'lardik).

7 -qadam: Raspberry -ni o'rnating

Malinani sozlash
Malinani sozlash

Kodlashni boshlashdan oldin, biz to'g'ri muhitni sozlashimiz kerak.

Buni qanday qilamiz? Malinali pi uchun raspbian buster tasvirini yuklab olish va Win 32 diskli tasvir yordamida malinaga yozish. Rasmni Pi-ga yozishni boshlashdan oldin, Raspberry Pi-da SSH-ni yoqish uchun rasmda SSH-faylini (kengaytmasiz) yaratganingizga ishonch hosil qiling.

Pi -da sozlash

Buni qilganingizdan so'ng, siz malinaga kirishda macunni ishlatishingiz mumkin, shuning uchun uni to'g'ri sozlashingiz mumkin. Bilingki, siz Pi -ni kompyuteringizga chekilgan kabel orqali ulashingiz kerak.

Pi uchun standart foydalanuvchi va parol quyidagilar:

foydalanuvchi: pi

parol: malina

Buni raspi-config yordamida o'zgartirishingiz mumkin.

Boshqa qurilmalar bir xil tarmoqqa kirganda sizning saytingizga qarashlari uchun biz sizning Pi -ga tarmoq qo'shishimiz kerak. Puttyda quyidagi buyruqlarni kiriting.

  1. sudo iw dev wlan0 skanerlash | grep SSID
  2. wpa_passphrase "NAMEOFYOURNETWORK"

    Tarmoq parolini kiriting

  3. sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
  4. sudo qayta yuklash
  5. ifconfig (Wi -Fi sozlamalarini tekshirish uchun)

Pi Internetga ulangan paytda quyidagi buyruqlar yordamida sizning Pi yangilanganligiga ishonch hosil qilishingiz kerak bo'ladi:

  • sudo apt-get yangilanishi
  • sudo apt-get upgrade

Shundan so'ng siz raspi-config yoki buyruqlar yordamida loyihaning ishlashi uchun paketlarni yoqishingiz yoki o'rnatishingiz mumkin. Biz raspi-config haqida gapirayotganimiz uchun, biz bu erda bitta simli interfeysni yoqishimiz mumkin, shunda malina bitta simli sensorni o'qiy oladi. Ulanish variantlariga o'ting, bitta simni tanlang va "Yoqish" tugmasini bosing. Shuningdek, SocketIO -ni quyidagilar bilan o'rnatishingiz kerak bo'ladi:

flask-socketio-ni o'rnatish

Endi bizda Internet bor, biz ma'lumotlar bazasini yaratishimiz kerak. Lekin oldin biz MariaDB (pi) va Mysql Workbench (kompyuterda) ni yuklab olishimiz kerak, shunda biz MariaDB bilan ishlashimiz mumkin.

8 -qadam: Kompyuterni sozlash

Kompyuterni sozlash
Kompyuterni sozlash
Kompyuterni sozlash
Kompyuterni sozlash
Kompyuterni sozlash
Kompyuterni sozlash

Mysql Workbench

Hamma narsa o'rnatilgandan so'ng, biz kompyuterga Mysql Workbench orqali MariaDB -ga kirishimiz mumkin.

Biz yangi ma'lumotlar bazasini yaratganimizda, biz ushbu ma'lumotlar bazasini yuqoridagi rasmga o'xshash tarzda sozlashimiz kerak (ulanish nomi "raspi"). Biz ushbu ma'lumotlar bazasini sozlashda bizga ma'lumotlar bazasi va malinaning foydalanuvchi nomi / paroli kerak. standart foydalanuvchi va parol - ma'lumotlar bazasida "mysql" / "mysql" va Pi da "pi" / "rapsberry". Agar ulanish haqida ogohlantirish bo'lsa, "Baribir davom ettirish" tugmasini bosishingiz mumkin.

Visual Studio kodi

Bizga kerak bo'lgan boshqa dastur - bu Visual Studio Code.

O'rnatilgandan so'ng siz quyidagi kengaytmani o'rnatishingiz kerak.

Bu kengaytma sizga pi dasturlarini shaxsiy kompyuteringizga yozish imkonini beradi. Bu o'rnatilganda, quyidagilarni bajaring:

  1. SSH yozadigan F1 tugmasini bosing
  2. Masofadan kirishni tanlang: yangi SSH xostini qo'shing
  3. Quyidagi ma'lumotlarni kiriting

    ssh 169.254.10.1 -A

  4. Enter ni bosing

Shundan so'ng siz malina pi bilan bog'lanasiz.

Bizga kerak bo'lgan oxirgi narsa - masofaviy mashinaga python kengaytmasini o'rnatish. Bu holda, biz kompyuterda yozadigan dasturlarni ishga tushira olmaymiz.

9 -qadam: Kodlashni boshlaylik

Kodlash boshlasin
Kodlash boshlasin

Endi apparat tayyor, dasturiy ta'minotdan boshlash vaqti keldi.

Ishni boshlashdan oldin biz fayllarimizga tuzilma qo'shishni boshlaymiz. Bunday holda, biz oldingi, orqa va ma'lumotlar bazasi uchun papka yaratamiz. Git omborimga havola bo'ladi (keyingi bosqichlarda), agar bu chalkash bo'lsa. Agar kerak bo'lsa, fayllarni u erdan olib ketishingiz mumkin.

Endi bizda tuzilish bor, men kodlash qanday davom etishi haqida qisqacha ma'lumot beraman.

1. Ma'lumotlar bazasini yaratish Biz sensorlar qiymatlari uchun ma'lumotlar bazasini yaratmoqchi bo'lsak, bizga ma'lumotlarni saqlash uchun yaxshi model kerak bo'ladi. Ushbu modelga ega bo'lgandan so'ng, biz ma'lumotlar bazasini yaratish uchun ushbu modelni ishlab chiqishimiz mumkin. Modelni yaratish uchun biz Mysql Workbench -da ishlaymiz, iltimos, ushbu bosqichdagi rasmni tekshiring va model qanday ko'rinishini ko'ring.

model / oldinga muhandis yaratish uchun quyidagilarni bajaring:

  • Model yaratish uchun faylni bosing (chapda)
  • Yangi modelni bosing
  • Qo'shimcha ma'lumot olish uchun quyidagi havolani bosing
  • Oldinga muhandislik uchun modelni bosing
  • Oldinga bosuvchi muhandis
  • Ha tugmasini bosing/jarayon tugaguncha davom eting.

2. Orqa tomon

Orqa tomon barcha qurilmalar va sensorlar uchun kodlash joyi bo'ladi. U yordamchi sinflar o'rtasida bo'linadi, unda komponentlar kodi va hamma narsa birlashadigan asosiy kod (app.py) bo'ladi.

Ma'lumotlar bazasi fayllari ham shu papkada bo'ladi, chunki ma'lumotlar bazasi datarepository.py fayllar ombori papkasida joylashgan. Config.py fayli faqat orqa qismini ma'lumotlar bazasiga ulash uchun mo'ljallangan.

3. Old qismi

Old qismi sayt uchun. Bu papkada HTML/CSS/JAVA kodlari bo'ladi. Sayt IP orqali Rapsberry Pi -dan foydalanish mumkin. Agar sizning pi-da quyidagi IP: 192.168.0.120 bo'lsa, siz ushbu IP-manzil orqali saytingizga kirishingiz mumkin. Agar siz pi -ning IP -manzilini bilmoqchi bo'lsangiz, "ip a" ni shpatleyka kiritib, WLAN0 manziliga qarashingiz mumkin.

10 -qadam: orqa qism

Oldingi bosqichda aytib o'tilganidek, orqa qism - bu barcha kod komponentlar uchun yozilgan joy. Ma'lumotlar bazasidan ma'lumotlarni qanday olish va saytimizning old qismiga qanday yuborish kerakligi haqida men aytmaganman.

Buning uchun quyidagi amallarni bajarish kerak:

  1. Ma'lumotlar bazasiga ma'lumotlarni olish/yangilash/kiritish uchun mysql so'rovlarini yarating. Bu so'rovlarni o'z ichiga olgan fayl Datarepository.py faylidir. Database.py - bu ma'lumotlar bazasi bilan aloqa o'rnatadigan va kerakli ma'lumotlarni olish uchun datarepository.py so'rovlaridan foydalanadigan fayl. Ma'lumotlar bazasiga ulanish mumkinligiga ishonch hosil qilish uchun, iltimos, konfiguratsiya fayli o'rnatilganligiga ishonch hosil qiling. ma'lumotlar bazasi bilan bir xil parol / foydalanuvchi. Shuningdek, ma'lumotlar bazasi to'g'ri tanlanganligiga ishonch hosil qiling.
  2. Ma'lumotlar bazasi bilan aloqa o'rnatgandan so'ng, biz marshrutni yaratishimiz kerak (app.route (oxirgi nuqta …)). Bu yo'nalish oldingi va orqa tomonlar orasidagi bog'lanishdir. Boshqa ulanish - Socketio.
  3. Ushbu loyihaning ishlashi uchun barcha to'g'ri kutubxonalarni (app.py -da) import qilganingizga ishonch hosil qiling. Mening github -ni ko'rishingiz mumkin, agar app.py uchun qanday kutubxonalardan foydalanganimni bilmoqchi bo'lsangiz.

Ma'lumotlar bazasi dolzarb ma'lumotlar bilan to'ldirilishiga ishonch hosil qilish uchun sensorlardan doimiy o'qishlarni bajarish muhim. Buni amalga oshirishning eng yaxshi usuli-bu vaqt oralig'idan o'tish va bu vaqt oralig'ini ipda ishlatish. Aks holda sizning dasturingiz vaqtinchalik halqada qoladi.

11 -qadam: Frontend

Foydalanuvchi interfeysi
Foydalanuvchi interfeysi
Foydalanuvchi interfeysi
Foydalanuvchi interfeysi
Foydalanuvchi interfeysi
Foydalanuvchi interfeysi

Old tomondan bor

3 html sahifalar:

  • uy.html
  • yorug'lik.html
  • harorat.html

3 CSS fayllari:

  • screen.css (bu mening maktabim tomonidan berilgan fayl.)
  • normalize.css (bu CSS -ni turli xil brauzerlarda bajarishga yordam beradi.)
  • main.css (html-sahifalar uchun asosiy CSS-ni o'z ichiga oladi.)

2 javascript fayllari:

  • app.js (ma'lumotlarni orqa tomondan oladi va uni old tomonga joylashtiradi.)
  • datahandler.js (bu ma'lumotni orqa tomondan boshqaradi, shunda app.js u bilan ishlashi mumkin.)

Men github -ga havolani bu erda ham qo'shib qo'yaman.

Tavsiya: