Mundarija:
- 1 -qadam: ingredientlar
- 2 -qadam: Uskuna
- 3 -qadam: dasturiy ta'minot
- 4 -qadam: Modellashtirish va 3D bosib chiqarish
- 5 -qadam: yig'ish
- 6 -qadam: Yakuniy test
Video: TfCD - Plus: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Plus - bu minimal aqlli yorug'lik, bu nafaqat odamlarni ob -havo haqida xabardor qiladi, balki plyusni aylantirish orqali yorug'lik rangidagi o'zgarishlar foydalanuvchilarga yoqimli tajriba yaratadi. Uning shakli foydalanuvchiga bir nechta modullarni birlashtirish yoki do'stlari qo'ygan plyusli ulkan chiroqni yaratish imkoniyatini beradi. Bu yorug'lik loyihasi TU Delft universitetining Advanced Concept Design (ACD) kursining bir qismi va ilhom manbai sifatida TfCD amaliy qo'llanilgan texnologiya.
1 -qadam: ingredientlar
1 Raspberry pi nol w
1 Groove Adxl345 tezlatgich
4 ta Ws2812b LED
1 Prototiplash taxtasi
3D bosma va lazerli kesmalar
2 -qadam: Uskuna
LEDlar
Neopixel LEDlarida 4 ta pin bor: +5V, GND, Ma'lumotlarni kiritish va Ma'lumotlarni chiqarish.
- Malina pi ning 4 -pinasi barcha LEDlarning +5V ga ulangan
- Malinali pi 6 -pin barcha LEDlarning GND ga ulangan
- Ma'lumotlar birinchi diodli pin, malina pi 12 -piniga ulangan.
- Birinchi LEDning Ma'lumot chiqish pinasi ikkinchisining Ma'lumotlariga va boshqalarga ulanadi.
Iltimos, yaxshiroq tushunish uchun simlar sxemasiga qarang.
Akselerometr
Akselerometrda 4 ta pin bor: VCC, GND, SDA va SCL.
- Malina pi ning 1 -pinasi VCC ga ulangan.
- Malinali pi 3 -pin PIN -kodi SCL ga ulangan.
- Malina pi ning 5 -pinasi SDA ga ulangan.
- Malinali pi ning 9 -pinasi GND ga ulangan.
Qurmoq
- Qulaylik uchun, LEDlar prototip taxtasiga lehimlanishi mumkin. Biz taxtani plyus shaklida kesishga qaror qildik, shunda u 3D dizayndagi korpusga juda mos keladi.
- Biz bortdagi LEDlarni lehimlaganimizdan so'ng, biz 0,1 dyuymli svetodiod va LEDlar orasidagi ulanish uchun o'tish simlarini lehimlaymiz. Sarlavha ulagichi malina pi ni ajratish va kelajakdagi loyihada qayta ishlatish uchun ishlatiladi.
3 -qadam: dasturiy ta'minot
Raspberry Pi operatsion tizimi tasviri
Biz avval Raspberry Pi -ni ishga tushirishimiz kerak. Buning uchun biz quyidagi bosqichlarni bajaramiz:
- Bu yerdan Raspbian -ning so'nggi versiyasini yuklab oling. Siz uni to'g'ridan -to'g'ri yoki torrent orqali yuklab olishingiz mumkin, yuklab olingan OSni SD -kartaga yozish uchun sizga tasvir yozuvchisi kerak bo'ladi (Raspberry Pi B+ modeli va Raspberry Pi Zero uchun micro SD -karta).
- Shunday qilib, "win32 disk tasvirini" bu erdan yuklab oling. SD -kartani noutbukga joylashtiring va tasvir yozuvchisini ishga tushiring. Ochgandan so'ng, yuklab olingan Raspbian rasm faylini ko'rib chiqing va tanlang. To'g'ri qurilmani tanlang, ya'ni SD -kartani aks ettiruvchi disk. Agar tanlangan disk (yoki qurilma) SD -kartadan farq qilsa, boshqa tanlangan disk buziladi. Xo'sh, ehtiyot bo'ling.
- Shundan so'ng, pastki qismidagi "Yozish" tugmasini bosing. Misol tariqasida, quyidagi rasmga qarang, bu erda SD -karta (yoki micro SD) drayveri "G: \" harfi bilan tasvirlangan, endi OS normal foydalanishga tayyor. Ammo, bu qo'llanmada biz Raspberry Pi -ni boshsiz rejimda ishlatmoqchimiz. Bu shuni anglatadiki, unga jismoniy monitor va klaviatura ulanmagan!
- SD -kartani yoqib bo'lgach, uni kompyuterdan chiqarmang! SD -kartadagi config.txt faylini ochish uchun matn muharriridan foydalaning. Pastki qismga o'ting va oxirgi qator sifatida dtoverlay = dwc2 qo'shing:
- Config.txt faylini oddiy matn sifatida saqlang va keyin cmdline.txt-ni oching Rootwaitdan so'ng (birinchi satrda oxirgi so'z) bo'sh joy qo'shing va keyin modullar-load = dwc2, g_ether.
- Endi SD -kartani shaxsiy kompyuteringizdan chiqarib oling va Raspberry Pi -ga joylashtiring va USB -kabel yordamida kompyuteringizga ulang. Operatsion tizim ishga tushirilgach, yangi Ethernet gadjet qurilmasi topilganini ko'rishingiz kerak.
- Kengashga ulanish va uni masofadan boshqarish uchun ssh [email protected] dan foydalanishingiz mumkin. Boshsiz ishlash bo'yicha batafsil ko'rsatmalar uchun bu erga o'ting.
Rpi_ws281x kutubxonasi - bu Raspberry Pi bilan NeoPixel -dan foydalanish imkoniyatini beradigan kalit.
Avval kutubxonani kompilyatsiya qilish uchun kerakli vositalarni o'rnatishimiz kerak. Raspberry Pi-da: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Endi kutubxonani yuklab olish va kompilyatsiya qilish uchun ushbu buyruqlarni bajaring:
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Nihoyat, kutubxona muvaffaqiyatli tuzilgandan so'ng, biz uni python uchun o'rnatishimiz mumkin:
cd python && sudo python setup.py install Endi LEDlarni boshqaruvchi python kodi keladi. Kod sizga yordam beradigan ba'zi izohlar bilan juda oddiy. neopixel importidan * # NeoPixel konfiguratsiyasi LED_PIN = 18 # Raspberry Pi ning GPIO piniga ulangan LED_BRIGHTNESS = 255 # Eng qorong'i uchun 0 ga, eng yorug 'uchun 255 ga o'rnatildi LED_COUNT = 4 # LED piksellar soni = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 5, False, LED_BRIGHTNESS, 0, wSW2811_STRIP_GRB) # Kutubxona stripini boshlang.begin () strip.setPixelColor (0, Rang (255, 255, 255)) strip.show ()
ADXL345 uchun haydovchi
Biz tanlagan akselerometr sensori tashqi dunyo bilan aloqa qilish uchun I2C interfeysiga ega. Yaxshiyamki, biz uchun Raspberry Pi ham I2C interfeysiga ega. Biz uni o'z kodimizda ishlatishga ruxsat berishimiz kerak.
Sudo raspi-config yordamida Raspbian konfiguratsiya vositasiga qo'ng'iroq qiling. Ishlayotganingizdan so'ng, Interfacing Options, Advanced Options -ga o'ting va I2C -ni yoqing, Python -da I2C interfeysidan foydalanishimiz uchun tegishli python modullarini o'rnating:
sudo apt-get install python-smbus i2c-tools Quyidagi python kodi akselerometr sensori bilan bog'lanish va o'z maqsadlarimiz uchun uning registr qiymatlarini o'qish imkonini beradi. smbus import tuzilmasi # Accelerometer konfiguratsiyalari bus = smbus. SMBus (1) manzil = 0x53 daromad = 3.9e-3 bus.write_byte_data (manzil, 45, 0x00) # Kutish rejimiga o'tish bus.write_byte_data (manzil, 44, 0x06) # 6,5 Gts chastotali bus.write_byte_data (manzil, 45, 0x08) # O'lchov rejimiga o'ting # Sensordan ma'lumotlarni o'qing buf = bus.read_i2c_block_data (manzil, 50, 6) ("> hhh", bufer (bytearray (buf)), 0)
x = float (ma'lumotlar [0]) * daromad
y = float (ma'lumotlar [1]) * daromad
z = float (ma'lumotlar [2]) * daromad
Harakat detektori
Biz qilayotgan yorug'likning o'ziga xos xususiyatlaridan biri shundaki, u interaktiv rejimga (yorug'lik aylanishga qarab o'zgaradi) va ob -havo ma'lumoti rejimiga o'tish uchun harakatni (yoki yo'qligini) aniqlay oladi (bu erda ob -havo ma'lumotlariga qarab yorug'lik o'zgaradi). bugun uchun). Quyidagi kod 3-o'qning tezlanish qiymatlarini o'qish va harakat bo'lganda bizni ogohlantirish uchun oldingi funktsiyadan foydalanadi.
accel = getAcceleration ()
dx = abs (prevAccel [0] - tezlashuv [0])
dy = abs (prevAccel [1] - tezlashuv [1])
dz = abs (oldingiAccel [2] - tezlashuv [2])
agar dx> moveThreshold yoki dy To> moveThreshold yoki dz> moveThreshold bo'lsa:
bosib chiqarish "ko'chirildi"
ko'chirildi = To'g'ri
boshqa:
ko'chirildi = noto'g'ri
Ob -havo API
Ob -havo ma'lumotlarini bilish uchun biz Yahoo Weather -dan foydalanishimiz mumkin. Bu juda murakkab bo'lishi mumkin bo'lgan Yahoo Weather Rest API bilan gaplashishni o'z ichiga oladi. Yaxshiyamki, biz uchun qiyin qismi allaqachon piton uchun ob-havo moduli ko'rinishida hal qilingan.
- Avval biz ushbu modulni o'rnatishimiz kerak: sudo apt install python-pip && sudo pip install weather-api
- Iltimos, ushbu modul haqida qo'shimcha ma'lumot olish uchun muallifning veb -saytiga tashrif buyuring.
Quyidagi kodni o'rnatganingizdan so'ng, hozirgi ob -havo ma'lumoti olinadi
ob -havo importidan Weatherweather = Weather ()
manzil = weather.lookup_by_location ("dublin")
shart = manzil.shart ()
chop etish (shart.text ())
Hammasini bir joyga to'plash
Yuqoridagi barcha qismlarni bog'laydigan loyihaning to'liq kodini bu erda topishingiz mumkin.
Python skriptini yuklash vaqtida avtomatik ishga tushirish
Malinali pi -ni qutiga solib qo'yish va uni har safar quvvat manbaiga ulashda kodimizni ishga tushirish uchun biz yuklash paytida kod avtomatik ravishda ishga tushirilganligiga ishonch hosil qilishimiz kerak. Buning uchun biz cron deb nomlangan asbobdan foydalanamiz.
- Avval cron asbobini quyidagicha chaqiring: sudo crontab -e
-
Oldingi qadamlar konfiguratsiya faylini ochadi, unda biz quyidagi qatorni qo'shamiz:
@qayta yuklash python /home/pi/light.py &
4 -qadam: Modellashtirish va 3D bosib chiqarish
Plus 3D modeli Solidworks -da ishlab chiqarilgan va. Stl formatida saqlangan. Keyin 3D bosib chiqarish uchun. Stl fayli Cura dasturiga import qilindi. Plyusning har bir tomoni ishlab chiqarish uchun 2:30 soat davom etdi; shuning uchun har bir to'liq plyusni chop etish uchun taxminan 5 soat vaqt kerak bo'ldi. Shaffof tomonlar uchun pleksiglas lazer bilan kesilgan.
5 -qadam: yig'ish
3D bosilgan qism, elektronika va dasturiy ta'minot bilan biz nihoyat yakuniy mahsulotni yig'ishimiz mumkin.
- 3D bosilgan yuqori va pastki plitalar biz kutganimizdan ko'ra shaffofroq. Alyuminiy folga qatlami yorug'lik oqishi muammosini hal qildi.
- Biroq, bu varaqlar Supero'tkazuvchilar va bizning himoyalanmagan sxemamizda qisqa tutashuvga olib kelishi mumkin. Shunday qilib, tepaga oq kartochkaning yana bir qatlami yopishtirilgan.
- Pleksiglasning tarqoq segmentlari yon plitalardan biriga yopishtirilgan.
- 3D bosilgan yon panellardan birida teshik ochiladi. Bu elektr shnuridan o'tishimiz uchun.
- Elektr shnuri teshikdan o'rnatilgach, biz uni prototip taxtamizga lehimlaymiz.
- Biz sensorni malina pi ga biriktiramiz va keyin uni ulagichga ulaymiz.
- Yakuniy mahsulotni olish uchun biz 2 qismni biriktiramiz.
- Ixtiyoriy ravishda, siz doimiyroq ulanish uchun 2 qismni yopishtirishingiz mumkin. Shuni yodda tutingki, agar siz keyinchalik kodni o'zgartirmoqchi bo'lsangiz, yopishtirilgandan keyin qutiga kirish qiyin bo'lishi mumkin.
Tavsiya:
HAIKU, moda va texnologiya birlashganda. TfCD loyihasi. TU Delft.: 4 qadam
HAIKU, moda va texnologiya birlashganda. TfCD loyihasi. TU Delft.: Haiku - TU Delft magistrlik kursi uchun Mucahit Oydin tomonidan ishlab chiqilgan kontseptsiya. Bu kimononing asosiy printsipi - kimdir quchoqlash tuyg'usini kengaytirish. Buni amalga oshirish uchun kimono tekkandan so'ng naqshni ochib beradi. Qanaqasiga? Imperatorlar tomonidan
NFC (TfCD) yordamida oldindan o'rnatilgan qiymatlarni saqlang va tiklang: 4 qadam
NFC (TfCD) yordamida oldindan o'rnatilgan qiymatlarni saqlang va tiklang: Biz ma'lum bir qiymatni yoki sozlamani sozlash uchun qanday ishlashini sinab ko'rmoqchimiz va keyinchalik bu sozlamani eslaymiz. Ushbu tajriba uchun biz NFC yorlig'ini o'qib, keyin qiymatini saqlab qo'ydik. Keyinchalik tegni qayta skanerlash va qiymatni qaytarib yuborish mumkin
Kiyinadigan maxsus yorug'lik paneli (Texnologiyalarni o'rganish kursi - TfCD - Tu Delft): 12 qadam (rasmlar bilan)
Kiyinadigan maxsus yorug'lik paneli (Texnologiyalarni o'rganish kursi - TfCD - Tu Delft): Ushbu yo'riqnomada siz o'zingiz kiyishingiz mumkin bo'lgan yorqin tasvirni qanday yasashni o'rganasiz! Bu EL texnologiyasidan foydalangan holda amalga oshiriladi, uni vinil stiker bilan yopiladi va uni tasmalar bilan bog'lab qo'yishingiz mumkin, shunda siz uni qo'ltig'iga taqishingiz mumkin. Bundan tashqari, siz ushbu qismni o'zgartirishingiz mumkin
Vizual ob'ektni kamera yordamida aniqlash (TfCD): 15 qadam (rasmlar bilan)
Vizual ob'ektlarni kamera yordamida aniqlash (TfCD): his -tuyg'ularni, odamlarning yuzini yoki oddiy narsalarni taniy oladigan kognitiv xizmatlar hozircha rivojlanishning dastlabki bosqichida, lekin mashinani o'rganish bilan bu texnologiya tobora rivojlanib bormoqda. Biz bu sehrdan ko'proq narsani kutishimiz mumkin
Elektron to'qimachilik loyihasi: Yengil futbolka (TfCD): 7 qadam (rasmlar bilan)
Elektron to'qimachilik loyihasi: Yengil futbolka (TfCD): Elektron to'qimachilik (elektron to'qimachilik)-bu raqamli komponentlar va elektronikani ularga joylashtirishga imkon beradigan matolar. Bu yangi texnologiya juda ko'p imkoniyatlarga ega. Ushbu loyihada siz sport ko'ylagining prototipini yaratasiz, u qanday qilib