Mundarija:

Raspberry Pi Impact Force Monitor: 16 qadam (rasmlar bilan)
Raspberry Pi Impact Force Monitor: 16 qadam (rasmlar bilan)

Video: Raspberry Pi Impact Force Monitor: 16 qadam (rasmlar bilan)

Video: Raspberry Pi Impact Force Monitor: 16 qadam (rasmlar bilan)
Video: THE WALKING DEAD SEASON 2 COMPLETE GAME 2024, Iyul
Anonim
Image
Image
Tavsiya etilgan o'qish
Tavsiya etilgan o'qish

Inson tanasi qanchalik ta'sir qila oladi? Bu futbol bo'ladimi, qoyaga ko'tarilishmi yoki velosipedda baxtsiz hodisa bo'ladimi, to'qnashuvdan keyin tez tibbiy yordamga qachon murojaat qilish kerakligini bilish juda muhim, ayniqsa shikastlanishning aniq belgilari bo'lmasa. Ushbu qo'llanma sizga o'zingizning ta'sir kuch monitorini qanday yaratishni o'rgatadi!

O'qish vaqti: ~ 15 min

Qurilish vaqti: ~ 60-90 min

Bu ochiq manbali loyiha Raspberry Pi Zero W va LIS331 akselerometridan foydalanuvchini potentsial xavfli G kuchlarini kuzatish va ogohlantirish uchun ishlatadi. Albatta, tizimni har xil fuqarolaringizning ilm -fan ehtiyojlariga mos ravishda o'zgartirishingiz va moslashtirishingiz mumkin.

Eslatma: Impact Force Monitor yordamida qiziqarli narsalarni yarating! Ammo, iltimos, uni professional tibbiy maslahat va diagnostika o'rnini bosuvchi sifatida ishlatmang. Agar siz jiddiy yiqilganingizni his qilsangiz, to'g'ri davolanish uchun malakali va litsenziyaga ega mutaxassisga tashrif buyuring.

1 -qadam: Tavsiya etilgan o'qish

Qo'llanmani iloji boricha qisqa tutish uchun, menimcha, siz Pi Zero W. funktsional dasturidan boshlayapsiz, yordam kerakmi? Muammo yo'q! Bu erda to'liq sozlash bo'yicha qo'llanma.

Biz Pi -ga masofadan ulanamiz (aka simsiz). Ushbu jarayon haqida batafsil ma'lumot olish uchun ushbu qo'llanmani ko'rib chiqing.

** Qotib qoldingizmi yoki ko'proq bilishni xohlaysizmi? Mana bir nechta foydali manbalar: **

1. Pi uchun zo'r "Ishga kirish" qo'llanmasi.

2. LIS331 akselerometrni kesish taxtasi uchun to'liq ulash qo'llanmasi.

3. Akselerometrlar haqida batafsil!

4. Raspberry Pi GPIO pinlarining umumiy ko'rinishi.

5. Pi -da SPI va I2C seriyali avtobuslaridan foydalanish.

6. LIS331 ma'lumotlar jadvali

2 -qadam: materiallar

Materiallar
Materiallar
Materiallar
Materiallar
  • Raspberry Pi Zero W asosiy to'plami

    • Bu to'plam quyidagilarni o'z ichiga oladi: SD karta, NOOBS operatsion tizimi; USB OTG kabeli (microUSB dan USB ayolgacha); Mini HDMI - HDMI; MicroUSB quvvat manbai (~ 5V)
    • Shuningdek tavsiya etiladi: USB uyasi
  • Raspberry Pi 3 sarlavhalari

  • LIS331 akselerometrni kesish taxtasi
  • MicroUSB ulagichli batareya to'plami
  • 5 mm qizil LED
  • 1k rezistor
  • 6 "issiqlik qisqaradigan quvur yoki elektr lenta
  • Akselerometr uchun bosh pinlari (4-8) va LED (2)
  • Ayoldan ayolga o'tish simlari (6)

Asboblar

  • Lehimlash temir va aksessuarlar
  • Epoksi (yoki boshqa doimiy, o'tkazmaydigan suyuq yopishtiruvchi)
  • Ehtimol, qaychi ham:)

3 -qadam: Lekin kuting! Ta'sir kuchi nima?

Yaxshiyamki, "zarba kuchi" atamasi juda oddiy: ta'sirdagi kuch miqdori. Ko'p narsalar singari, uni o'lchash aniqroq ta'rifni talab qiladi. Ta'sir kuchining tenglamasi:

F = KE/d

bu erda F - zarba kuchi, KE - kinetik energiya (harakat energiyasi), d - zarba masofasi yoki jismning qancha qisilishi. Bu tenglamadan ikkita asosiy echim bor:

1. Ta'sir kuchi kinetik energiyaga to'g'ridan to'g'ri proportsionaldir, ya'ni kinetik energiya oshsa zarba kuchi ortadi.

2. Ta'sir kuchi zarba masofasiga teskari proportsionaldir, ya'ni zarba masofasi oshsa zarba kuchi kamayadi. (Shuning uchun bizda xavfsizlik yostiqchalari bor: ta'sir masofasini oshirish uchun.)

Quvvat odatda Nyuton (N) da o'lchanadi, lekin zarba kuchi "G-kuch", g ga ko'paytma yoki erning tortishish tezlanishi (9,8 m/s^2) nuqtai nazaridan muhokama qilinishi mumkin. G-kuch birliklarini qo'llaganimizda, biz ob'ektning erga erkin tushishiga nisbatan tezlanishini o'lchaymiz.

Texnik nuqtai nazardan, g - bu tezlashuv, kuch emas, lekin to'qnashuvlar haqida gapirganda foydalidir, chunki tezlanish* inson tanasiga zarar etkazadi.

Ushbu loyiha uchun biz G-kuch birliklaridan foydalanib, ta'sir potentsial xavfli ekanligini va tibbiy yordamga loyiqligini aniqlaymiz. Tadqiqotlar shuni ko'rsatdiki, 9G dan yuqori g-kuchlar ko'pchilik odamlar uchun halokatli bo'lishi mumkin (maxsus tayyorgarliksiz) va 4-6G bir necha soniyadan ko'proq davom etganda xavfli bo'lishi mumkin.

Buni bilgan holda, biz zarba kuchi monitorini dasturlashtira olamiz, agar bizning akselerometrimiz G-kuchini ushbu chegaralardan birortasida o'lchasa. Xayr, ilm!

Qo'shimcha ma'lumot olish uchun Vikipediyada zarba kuchi va g-kuch haqida o'qing!

Tezlashtirish - bu tezlik va/yoki yo'nalishning o'zgarishi

4 -qadam: Pi Zero W ni sozlang

Pi Zero W ni sozlang
Pi Zero W ni sozlang

Pi ni boshsiz qilib sozlash uchun Raspberry Pi Zero va atrof -muhit qurilmalarini yig'ing!

  • Pi -ni monitor va unga tegishli qo'shimcha qurilmalarga (klaviatura, sichqoncha) ulang, quvvat manbaiga ulang va tizimga kiring.
  • Pi -ni tez va xavfsiz saqlash uchun dasturiy ta'minotni yangilang. Terminal oynasini oching va quyidagi buyruqlarni kiriting:

    Yozing va kiriting:

sudo apt-get yangilanishi

Yozing va kiriting:

sudo apt-get upgrade

Qayta o'rnatish:

sudo o'chirish -r

5 -qadam: WiFi va I2C -ni yoqing

WiFi va I2C -ni yoqish
WiFi va I2C -ni yoqish
WiFi va I2C -ni yoqish
WiFi va I2C -ni yoqish
WiFi va I2C -ni yoqish
WiFi va I2C -ni yoqish
  • Ish stolining yuqori o'ng burchagidagi WiFi belgisini bosing va Wi -Fi tarmog'iga ulaning.
  • Terminalda Pi dasturiy ta'minot konfiguratsiyasi vositasini ochish uchun ushbu buyruqni kiriting:

sudo raspi-config

  • "Interfacing Options" -ni, so'ng "SSH" -ni tanlang va yoqish uchun pastda "Ha" -ni tanlang.
  • "Interfacing Options" ga, keyin "I2C" ga qayting va yoqish uchun "Ha" ni tanlang.
  • Terminalda masofaviy ish stoliga ulanish dasturini o'rnating:

sudo apt-get xrdp-ni o'rnating

  • Har ikkala ko'rsatmaga klaviaturada "Y" (ha) yozing.
  • Wi -Fi ulanishini suring va Pi -ning IP -manzilini toping (uni yozib olishingiz ham mumkin).
  • Parolni passwd buyrug'i bilan o'zgartiring.

6 -qadam: Pi -ni qayta ishga tushiring va masofadan kiring

Pi -ni qayta ishga tushiring va masofadan kiring
Pi -ni qayta ishga tushiring va masofadan kiring

Endi biz HDMI va tashqi qurilmalardan voz kechishimiz mumkin, woohoo!

  • Ish stoliga masofadan ulanishni o'rnating.

    • Kompyuterda Masofaviy ish stoli ulanishini oching (yoki bu sizga qulay bo'lsa, PuTTY).
    • Mac/Linux uchun siz ushbu dasturni o'rnatishingiz yoki VNC dasturidan foydalanishingiz mumkin.
  • Pi uchun IP -ni kiriting va "Ulanish" tugmasini bosing (noma'lum qurilma haqidagi ogohlantirishlarga e'tibor bermang).
  • Hisob ma'lumotlari yordamida Pi -ga kiring va biz ketamiz!

7 -qadam: Uni yarating: elektronika

Uni yarating: elektronika!
Uni yarating: elektronika!
Uni qurish: elektronika!
Uni qurish: elektronika!

Yuqoridagi ikkita fotosuratda ushbu loyihaning elektr sxemasi va Pi Zero Pinout ko'rsatilgan. Bizga apparat ulanishlarini hal qilish uchun ikkalasi ham kerak bo'ladi.

Eslatma: Sxemadagi LIS331 kesish taxtasi eski versiyadir - yo'l -yo'riq uchun pin belgilaridan foydalaning

8 -qadam: Akselerometrni Pi GPIO -ga ulang

Akselerometrni Pi GPIO -ga ulang
Akselerometrni Pi GPIO -ga ulang
Akselerometrni Pi GPIO -ga ulang
Akselerometrni Pi GPIO -ga ulang
Akselerometrni Pi GPIO -ga ulang
Akselerometrni Pi GPIO -ga ulang
  • Akselerometr va Pi GPIO sarlavhasidagi pin qoldiqlarini lehimlang va ehtiyotkorlik bilan olib tashlang.
  • So'ngra, LIS331 kesish taxtasi va Pi ni quyidagi pinlar orasidagi o'tish simlarini ulang:

LIS331 Breakout Board Raspberry Pi GPIO Pin

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Sensorni Pi Zero -ga ulashni osonlashtirish uchun ayol boshi va o'tish simlari yordamida maxsus adapter tayyorlandi. Ulanishlar sinovdan o'tkazilgandan so'ng issiqlik qisqarishi qo'shildi

9 -qadam: Ogohlantirish LEDini qo'shing

Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
Ogohlantirish LEDini qo'shing!
  • Oqim cheklovli rezistorni manfiy LED oyog'iga lehimlang (qisqaroq oyog'i) va izolyatsiyalash uchun qisqich o'rash (yoki elektr tasmasini) qo'shing.
  • Ijobiy LED oyog'ini GPIO26 ga va rezistorni GND ga ulash uchun ikkita o'tish kabeli yoki bosh pimidan foydalaning (sarlavha pozitsiyasi mos ravishda 37 va 39).
  • O'rnatishni yakunlash uchun batareya to'plamini Pi kirish quvvatiga ulang!

10 -qadam: Dastur qiling

Dasturlash!
Dasturlash!

Ushbu loyiha uchun Python kodi ochiq manba! Bu erda GitHub omboriga havola.

Dasturlashni boshlaganlar uchun:

Dastur kodi va sharhlarini o'qing. O'zgartirish oson bo'lgan narsalar yuqori qismidagi "Foydalanuvchi parametrlari" bo'limida

Texnik ma'lumotlarga ega bo'lgan odamlar uchun qulayroq:

Bu dastur LIS331 akselerometrini odatiy quvvat rejimi va 50 Gts tezlik tezligini o'z ichiga olgan standart sozlamalar bilan ishga tushiradi. LIS331 ma'lumotlar jadvalini o'qing va xohlaganingizcha ishga tushirish sozlamalarini o'zgartiring

Hammasi

  • Ushbu loyihada maksimal tezlashtirish shkalasi 24G ni tashkil qiladi, chunki zarba kuchi tezda katta bo'ladi!
  • To'liq joylashtirishga tayyor bo'lganingizda, asosiy funktsiyadagi tezlashtirish bosma bayonotlarini sharhlash tavsiya etiladi.

Dasturni ishga tushirishdan oldin, akselerometr manzili 0x19 ekanligini ikki marta tekshiring. Terminal oynasini oching va ushbu buyruq yordamida ba'zi foydali vositalarni o'rnating:

sudo apt-get install -y i2c-tools

Keyin i2cdetect dasturini ishga tushiring:

i2cdetect -y 1

Siz yuqoridagi rasmda ko'rsatilgandek ko'rsatiladigan I2C manzillar jadvalini ko'rasiz. Bu ulangan yagona I2C qurilmasi deb faraz qilsangiz, siz ko'rgan raqam (bu holda: 19) - akselerometr manzili! Agar siz boshqa raqamni ko'rsangiz, dasturga e'tibor bering va o'zgartiring (addr o'zgaruvchisi).

11 -qadam: Dastur haqida qisqacha ma'lumot

Dastur haqida qisqacha ma'lumot
Dastur haqida qisqacha ma'lumot

Dastur x, y va z tezlanishini o'qiydi, g-kuchini hisoblab chiqadi, so'ngra ma'lumotlarni ikkita faylga (dastur kodi bilan bir papkada) saqlaydi:

  • AllSensorData.txt-x, y va z o'qlarida g-kuch bilan vaqt tamg'asini beradi.
  • AlertData.txt - yuqoridagi kabi, lekin faqat xavfsizlik chegaralarimizdan yuqori bo'lgan o'qishlar uchun (9G yoki 4G mutlaq chegarasi 3 soniyadan ko'proq).

Xavfsizlik chegaralarimizdan yuqori bo'lgan G-kuchlari, shuningdek, ogohlantirish LEDini yoqadi va biz dasturni qayta ishga tushirmagunimizcha yonadi. Buyruqlar terminaliga "CTRL+c" (klaviatura uzilishi) yozib dasturni to'xtating.

Yuqoridagi rasmda test paytida yaratilgan ma'lumotlar fayllari ko'rsatilgan.

12 -qadam: tizimni sinab ko'ring

Tizimni sinab ko'ring!
Tizimni sinab ko'ring!
Tizimni sinab ko'ring!
Tizimni sinab ko'ring!

Terminal oynasini oching, cd buyrug'i yordamida dastur kodini saqlagan papkaga o'ting.

cd yo'l/to/jild

Ildiz imtiyozlari yordamida dasturni ishga tushiring:

sudo python NameOfFile.py

X, y va z yo'nalishidagi tezlashuv qiymatlari terminal oynasida chop etilishini tekshiring, oqilona va agar g-kuchi bizning chegaralarimizdan yuqori bo'lsa, LED chiroqni yoqing.

  • Sinash uchun akselerometrni aylantiring, shunda har bir o'q o'qi erga to'g'ri keladi va o'lchangan qiymatlar 1 yoki -1 (tortishish tezligiga mos keladi) ekanligini tekshiring.
  • O'qishlar ko'payishiga ishonch hosil qilish uchun akselerometrni silkiting (belgi o'q yo'nalishini ko'rsatadi, bizni o'qish kattaligi ko'proq qiziqtiradi).

13 -qadam: Xavfsiz elektr aloqasi va uni o'rnating

Xavfsiz elektr aloqasi va uni o'rnating!
Xavfsiz elektr aloqasi va uni o'rnating!

Hammasi to'g'ri ishlagandan so'ng, keling, zarba kuchi monitorining ta'sirga dosh bera olishiga ishonch hosil qilaylik!

  • Issiqlik qisqaradigan naychadan foydalaning va/yoki akselerometr va LEDning elektr ulanishlarini epoksi bilan yoping.
  • Juda bardoshli va doimiy o'rnatish uchun, butun shebangni epoksi bilan qoplashni o'ylab ko'ring: Pi Zero, LED va akselerometr (lekin Pi kabel ulagichlari yoki SD -karta EMAS).

    Ogohlantirish! Siz hali ham Pi -ga kirishingiz va barcha kompyuter ishlarini bajarishingiz mumkin, lekin to'liq epoksi qatlami kelajakdagi loyihalar uchun GPIO pinlaridan foydalanishga to'sqinlik qiladi. Shu bilan bir qatorda, Pi Zero uchun maxsus sumka yasashingiz yoki sotib olishingiz mumkin, lekin uning mustahkamligini tekshiring

Kaskaga, odamingizga yoki skeytbord, velosiped yoki mushuk*kabi transport turiga xavfsiz bo'ling!

Pi to'liq mahkamlanganligini tekshiring, aks holda GPIO pinlari bo'shab qolishi mumkin, bu dasturning ishdan chiqishiga olib keladi.

*Eslatma: Men dastlab "mashina" ni yozmoqchi edim, lekin mushuk uchun zarba kuchini o'lchash moslamasi ham qiziqarli ma'lumotlarni berishi mumkin deb o'yladim (albatta mushukning roziligi bilan).

14 -qadam: Davrani dubulg'aga o'rnatish

Davrani dubulg'aga joylashtirish
Davrani dubulg'aga joylashtirish
Davrani dubulg'aga joylashtirish
Davrani dubulg'aga joylashtirish
Davrani dubulg'aga joylashtirish
Davrani dubulg'aga joylashtirish

Zanjirni dubulg'aga joylashtirishning bir necha usullari mavjud. Mana, dubulg'a o'rnatishga bo'lgan yondashuvim:

  • Agar sizda hali bo'lmasa, batareyani Pi -ga ulang (batareya o'chirilgan holda). Akselerometrni Pi ning orqa qismiga o'tkazmaydigan izolyatsiya bilan mahkamlang (ko'pikli o'rash yoki yupqa o'rash ko'piklari kabi).
  • Pi Zero, akselerometr, LED va batareya ulagichi kombinatsiyasining o'lchamlarini o'lchang. Har ikki tomonga 10% qo'shing.
  • Loyiha uchun dubulg'aning bir tomoniga, batareya ulagichi dubulg'aning yuqori qismiga qaragan holda chizilgan chizilgan. Bir necha millimetr (~ 1/8 dyuym) qoldirib, dubulg'adagi to'ldirishni kesib oling.
  • Sensorni, Pi va LEDni kesilgan joyga qo'ying. Ortiqcha dubulg'ali bo'laklarni kesib oling yoki elektronikani izolyatsiya qilish, himoya qilish va joyida ushlab turish uchun qadoqlash ko'pikidan foydalaning.
  • Batareyaning o'lchamlarini o'lchab, 10%qo'shing va batareyaning bir xil kesimini bajaring. Batareyani cho'ntagiga joylashtiring.
  • Dubulg'aning boshqa tarafidagi batareyani izolyatsiya qilish texnikasini takrorlang.
  • Kaskaning yostig'ini lenta bilan mahkamlang (kiyganingizda boshingiz joyida qoladi).

15 -qadam: joylashtiring

Joylashtirish!
Joylashtirish!
Tarqatish!
Tarqatish!

Batareya to'plamini yoqing!

Endi siz masofadan turib SSH yoki ish stoli orqali Pi -ga kirishingiz va terminal orqali dasturni ishga tushirishingiz mumkin. Dastur ishga tushgandan so'ng, u ma'lumotlarni yozishni boshlaydi.

Uydagi Wi -Fi tarmog'idan uzilganingizda, SSH aloqasi uziladi, lekin dastur ma'lumotlarni saqlaydi. Wi -Fi ulanish nuqtasini smartfonga ulashni o'ylab ko'ring yoki uyga qaytganingizda qayta kiring va ma'lumotlarni oling.

Ma'lumotlarga kirish uchun masofadan turib Pi -ga kiring va matnli fayllarni o'qing. Joriy dastur har doim mavjud fayllarga ma'lumotlarni qo'shib qo'yadi - agar siz ma'lumotlarni o'chirmoqchi bo'lsangiz (masalan, testdan), matnli faylni o'chiring (ish stoli orqali yoki terminalda rm buyrug'idan foydalaning) yoki dasturda yangi fayl nomini yarating. kod (foydalanuvchi parametrlarida).

Agar LED yoniq bo'lsa, dasturni qayta ishga tushirish uni o'chiradi.

Endi keting, hayotdan zavqlaning va agar biror narsaga duch kelsangiz, ma'lumotlarni tez -tez tekshirib turing. Umid qilamanki, bu kichik zarba, lekin hech bo'lmaganda bilib olasiz!

16 -qadam: qo'shimcha funktsiyalarni qo'shish

Boshqa xususiyatlarni qo'shish
Boshqa xususiyatlarni qo'shish

Ta'sir kuchi monitorini yaxshilashni qidiryapsizmi? Bu o'quv qo'llanmasidan tashqarida, lekin fikrlar uchun quyidagi ro'yxatni ko'rib chiqing!

Python-dagi g-force ma'lumotlarini tahlil qiling!

Pi Zero Bluetooth va WiFi imkoniyatlariga ega - akselerometr ma'lumotlarini smartfoningizga yuborish uchun ilova yozing! Boshlash uchun bu erda Pi Twitter Monitor uchun qo'llanma.

Harorat sensori yoki mikrofon*kabi boshqa sensorlarni qo'shing!

Baxtli bino

*Eslatma: Sizning tezlashtirishingiz bilan bog'liq xirillagan tovushlarni eshitish uchun!: D

Tavsiya: