Mündəricat:

Raspberry Pi Impact Force Monitor!: 16 Addım (Şəkillərlə birlikdə)
Raspberry Pi Impact Force Monitor!: 16 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Impact Force Monitor!: 16 Addım (Şəkillərlə birlikdə)

Video: Raspberry Pi Impact Force Monitor!: 16 Addım (Şəkillərlə birlikdə)
Video: Йога для начинающих дома с Алиной Anandee #3. Здоровое гибкое тело за 40 минут. Продвинутый уровень. 2024, Noyabr
Anonim
Image
Image
Təklif olunan Oxu
Təklif olunan Oxu

İnsan bədəni nə qədər təsir edə bilər? İstər futbol, istər qayaya dırmaşma, istərsə də velosiped qəzası olsun, bir toqquşmadan sonra təcili olaraq nə vaxt həkimə müraciət etməyinizi bilmək, xüsusilə də travma əlamətləri olmadığı təqdirdə olduqca vacibdir. Bu dərslik sizə öz təsir güc monitorunuzu necə quracağınızı öyrədəcək!

Oxuma müddəti: ~ 15 dəq

Quruluş müddəti: ~ 60-90 dəq

Bu açıq mənbəli layihə, istifadəçini potensial təhlükəli G qüvvələrini izləmək və xəbərdar etmək üçün Raspberry Pi Zero W və LIS331 sürətölçəndən istifadə edir. Əlbəttə ki, müxtəlif vətəndaş elm ehtiyaclarınıza uyğun olaraq sistemi dəyişdirmək və uyğunlaşdırmaqdan çekinmeyin.

Qeyd: Impact Force Monitor ilə əyləncəli şeylər yaradın! Bununla birlikdə, peşəkar tibbi məsləhət və diaqnozun əvəzinə istifadə etməyin. Ciddi bir düşmə etdiyinizi hiss edirsinizsə, düzgün müalicə üçün ixtisaslı və lisenziyalı bir mütəxəssisə müraciət edin.

Addım 1: Təklif olunan Oxu

Bu dərsliyi qısa bir müddətdə şirin tutmaq üçün (mümkün olduğu qədər), funksional bir Pi Zero W. ilə başladığınızı düşünürəm. Kömək lazımdırmı? Problem deyil! Burada tam bir quraşdırma təlimatı var.

Pi -yə uzaqdan (aka simsiz) qoşulacağıq. Bu prosesə daha yaxından baxmaq üçün bu təlimatı oxuyun.

** Zorlandınız və ya daha çox öyrənmək istəyirsiniz? Burada bəzi faydalı mənbələr var: **

1. Pi üçün əla "Başlarken" bələdçisi.

2. LIS331 accelerometer breakout board üçün tam qoşulma bələdçisi.

3. Akselerometrlər haqqında daha çox!

4. Raspberry Pi GPIO sancaqlarına ümumi baxış.

5. Pi üzərində SPI və I2C Serial avtobuslarından istifadə.

6. LIS331 məlumat cədvəli

Addım 2: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar
  • Raspberry Pi Zero W Əsas Kit

    • Bu dəstə aşağıdakılar daxildir: SD Kartı NOOBS Əməliyyat Sistemi ilə; USB OTG kabeli (microUSB -dən USB dişi); Mini HDMI - HDMI; MicroUSB enerji təchizatı (~ 5V)
    • Həmçinin tövsiyə olunur: USB hub
  • Raspberry Pi 3 başlıq pinləri
  • LIS331 Accelerometer Breakout Board
  • Batareya dəsti MicroUSB bağlayıcı ilə
  • 5 mm qırmızı LED
  • 1k rezistor
  • 6 "İstilik büzücü boru və ya elektrik lenti
  • Akselerometr (4-8) və LED (2) üçün baş pinləri
  • Dişi-dişi tullanan tellər (6)

Alətlər

  • Havya və aksesuarlar
  • Epoksi (və ya digər daimi, keçirici olmayan maye yapışdırıcı)
  • Yəqin ki, qayçı da:)

Addım 3: Ancaq gözləyin! Zərbə qüvvəsi nədir?

Xoşbəxtlikdən, "zərbə qüvvəsi" termini olduqca sadədir: zərbədəki gücün miqdarı. Əksər hallarda olduğu kimi, ölçmək daha dəqiq bir tərif tələb edir. Zərbə qüvvəsinin tənliyi belədir:

F = KE/d

burada F - zərbə qüvvəsi, KE - kinetik enerji (hərəkət enerjisi), d - təsir məsafəsi və ya cismin nə qədər əzildiyi. Bu tənlikdən iki əsas götürmə var:

1. Zərbə qüvvəsi kinetik enerjiyə birbaşa mütənasibdir, yəni kinetik enerji artarsa zərbə qüvvəsi artır.

2. Zərbə qüvvəsi zərbə məsafəsi ilə tərs mütənasibdir, yəni təsir məsafəsi artarsa təsir qüvvəsi azalır. (Bu səbəbdən hava yastıqlarımız var: təsirimizin məsafəsini artırmaq üçün.)

Güc adətən Newtons (N) ilə ölçülür, lakin zərbə qüvvəsi "G-Force", g-nin çoxluğu və ya yerin cazibə sürətlənməsi (9.8 m/s^2) baxımından müzakirə edilə bilər. G qüvvəsi vahidlərindən istifadə edərkən, cisimlərin yerə sərbəst düşməsinə nisbətən bir sürətlənməsini ölçürük.

Texniki baxımdan g, bir sürət deyil, gücdür, ancaq toqquşmalardan bəhs edərkən faydalıdır, çünki sürətlənmə* insan orqanizminə zərər verir.

Bu layihə üçün, təsirin potensial təhlükəli və tibbi yardıma layiq olub-olmadığını müəyyən etmək üçün G-Force vahidlərindən istifadə edəcəyik. Araşdırmalar göstərir ki, 9G-dən yuxarı olan g-qüvvələri əksər insanlar üçün ölümcül ola bilər (xüsusi təlim olmadan) və 4-6G bir neçə saniyədən çox davam edərsə təhlükəli ola bilər.

Bunu bilə-bilə, akselerometrimiz bu eşiklərdən hər hansı birinin üstündə bir G qüvvəsi ölçüb-biçmədiyini bildirmək üçün təsir qüvvəsi monitorumuzu proqramlaşdıra bilərik. Salam, elm!

Daha çox məlumat üçün Vikipediyada zərbə qüvvəsi və g qüvvəsi haqqında oxuyun!

Sürətləndirmə sürət və/və ya istiqamətdəki dəyişiklikdir

Addım 4: Pi Zero W -ni konfiqurasiya edin

Pi Zero W qurun
Pi Zero W qurun

Pi -ni başsız etmək üçün Raspberry Pi Zero və ətraf qurğularınızı toplayın!

  • Pi'yi bir monitöre və əlaqəli ətraf qurğulara (klaviatura, siçan) qoşun, enerji təchizatını qoşun və daxil olun.
  • Pi -nizi sürətli və təhlükəsiz saxlamaq üçün proqramı yeniləyin. Terminal pəncərəsini açın və bu əmrləri yazın:

    Yazın və daxil edin:

sudo apt-get yeniləməsi

Yazın və daxil edin:

sudo apt-get yeniləmə

Sıfırla:

sudo kapatma -r indi

Addım 5: WiFi və I2C -ni aktivləşdirin

WiFi və I2C -ni aktiv edin
WiFi və I2C -ni aktiv edin
WiFi və I2C -ni aktiv edin
WiFi və I2C -ni aktiv edin
WiFi və I2C -ni aktiv edin
WiFi və I2C -ni aktiv edin
  • Masaüstünün sağ üst küncündə WiFi simgesini vurun və WiFi şəbəkənizə qoşulun.
  • Terminalda Pi -nin Proqram Konfiqurasiya Alətini açmaq üçün bu əmri yazın:

sudo raspi-config

  • "Arayüz Seçimləri" ni, sonra "SSH" seçin və aktiv etmək üçün altındakı "Bəli" seçin.
  • "İnterfeys Seçimləri" nə, sonra "I2C" yə qayıdın və aktivləşdirmək üçün "Bəli" seçin.
  • Terminalda uzaqdan masa üstü əlaqə proqramını quraşdırın:

sudo apt-get xrdp quraşdırın

  • Hər iki sorğuya klaviaturanızda 'Y' (bəli) yazın.
  • WiFi bağlantısı üzərində gəzərək Pi -nin IP ünvanını tapın (yazmaq da istəyə bilərsiniz).
  • Passwd əmri ilə Pi parolunu dəyişdirin.

Addım 6: Pi'yi yenidən başladın və Uzaqdan daxil olun

Pi'yi yenidən başladın və uzaqdan daxil olun
Pi'yi yenidən başladın və uzaqdan daxil olun

İndi HDMI və ətraf qurğuları ata bilərik, woohoo!

  • Uzaq bir masa üstü bağlantısı qurun.

    • Bir kompüterdə Uzaq Masaüstü Bağlantısını açın (və ya rahatsınızsa PuTTY).
    • Mac/Linux üçün bu proqramı quraşdıra və ya VNC proqramından istifadə edə bilərsiniz.
  • Pi üçün IP daxil edin və "Bağlan" düyməsini basın (Naməlum cihaz haqqında xəbərdarlıqlara məhəl qoymayın).
  • Etimadnamənizi istifadə edərək Pi -yə daxil olun və uzaqlaşırıq!

Addım 7: Qurun: Elektronika

Qurun: Elektronika!
Qurun: Elektronika!
Qurun: Elektronika!
Qurun: Elektronika!

Yuxarıdakı iki fotoşəkil bu layihənin elektrik sxemini və Pi Zero Pinoutunu göstərir. Avadanlıq əlaqələrini həll etmək üçün hər ikisinə ehtiyacımız olacaq.

Qeyd: Sxemdəki LIS331 qırılma lövhəsi daha köhnə bir versiyadır - rəhbərlik üçün pin etiketlərindən istifadə edin

Addım 8: Akselerometrini Pi -nin GPIO -ya qoşun

Sürətləndiricini Pi -nin GPIO -ya qoşun
Sürətləndiricini Pi -nin GPIO -ya qoşun
Sürətləndiricini Pi GPIO -ya qoşun
Sürətləndiricini Pi GPIO -ya qoşun
Sürətləndiricini Pi -nin GPIO -ya qoşun
Sürətləndiricini Pi -nin GPIO -ya qoşun
  • Akselerometrdə və Pi GPIO -nun baş pinlərində lehimləyin və diqqətlə çıxarın.
  • Sonra keçid tellərini LIS331 qırılma lövhəsi ilə Pi aşağıdakı pinlər arasında bağlayın:

LIS331 Breakout Board Raspberry Pi GPIO Pin

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Sensoru Pi Zero -ya bağlamağı asanlaşdırmaq üçün dişi başlıq və tullanan tellərdən istifadə edərək xüsusi bir adapter hazırlanmışdır. Bağlantıları sınadıqdan sonra istilik büzülməsi əlavə edildi

Addım 9: Xəbərdarlıq LEDini əlavə edin

Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
Xəbərdarlıq LEDini əlavə edin!
  • Mənfi LED ayağına (daha qısa ayağa) bir cərəyan məhdudlaşdıran rezistoru lehimləyin və izolyasiya üçün büzüşmə sarğı (və ya elektrik lenti) əlavə edin.
  • Müsbət LED ayağını GPIO26 -ya və rezistoru GND -yə bağlamaq üçün iki keçid kabeli və ya baş pinindən istifadə edin (başlıq mövqeləri sırasıyla 37 və 39).
  • Quraşdırmanı başa çatdırmaq üçün batareya paketini Pi giriş gücünə qoşun!

Addım 10: Proqramlaşdırın

Proqramlaşdırın!
Proqramlaşdırın!

Bu layihə üçün Python kodu açıq mənbədir! Budur GitHub anbarına bir keçid.

Proqramlaşdırmaya yeni başlayan insanlar üçün:

Proqram kodunu və şərhlərini oxuyun. Dəyişdirilməsi asan olan şeylər yuxarıdakı "İstifadəçi Parametrləri" bölməsindədir

Texniki 'Deets ilə Daha Rahat İnsanlar Üçün:

Bu proqram, normal güc rejimi və 50Hz məlumat sürəti daxil olmaqla, standart parametrləri olan LIS331 sürətölçənini işə salır. LIS331 məlumat cədvəlini oxuyun və istədiyiniz kimi başlanğıc parametrlərini dəyişdirin

Hamısı

  • Bu layihədə istifadə edilən maksimum sürətləndirmə miqyası 24G -dir, çünki zərbə qüvvəsi böyük sürətlə böyük olur!
  • Tam yerləşdirməyə hazır olduğunuzda əsas funksiyada sürətləndirmə çap ifadələrini şərh etmək tövsiyə olunur.

Proqramı işə salmadan əvvəl, akselerometr ünvanının 0x19 olduğunu iki dəfə yoxlayın. Terminal pəncərəsini açın və bu əmrlə bəzi faydalı vasitələr quraşdırın:

sudo apt-get install -y i2c-tools

Sonra i2cdetect proqramını işə salın:

i2cdetect -y 1

Yuxarıdakı şəkildə göstərildiyi kimi göstərilən I2C ünvanlarının bir cədvəlini görəcəksiniz. Bunun bağlı olan yeganə I2C cihazı olduğunu düşünsək, gördüyünüz nömrə (bu halda: 19) akselerometr ünvanıdır! Fərqli bir rəqəm görürsünüzsə, proqramda dəyişiklik edin (dəyişən addr).

Addım 11: Proqrama Tez Baxış

Proqrama qısa baxış
Proqrama qısa baxış

Proqram x, y və z sürətlənməsini oxuyur, g qüvvəsini hesablayır və sonra məlumatları iki faylda (proqram kodu ilə eyni qovluqda) saxlayır:

  • AllSensorData.txt-x, y və z oxlarında g qüvvəsinin ardınca bir zaman damgası verir.
  • AlertData.txt - yuxarıdakı kimidir, lakin yalnız təhlükəsizlik həddimizdən yuxarı olan oxunuşlar üçün (3 saniyədən artıq 9G və ya 4G mütləq həddi).

Təhlükəsizlik həddimizdən yuxarı olan G qüvvələri də xəbərdarlıq LEDimizi yandıracaq və proqramı yenidən başlatana qədər onu saxlayacaq. Komanda terminalına "CTRL+c" (klaviatura kəsilməsi) yazaraq proqramı dayandırın.

Yuxarıdakı fotoşəkil test zamanı yaradılan hər iki məlumat faylını göstərir.

Addım 12: Sistemi sınayın

Sistemi sınayın!
Sistemi sınayın!
Sistemi sınayın!
Sistemi sınayın!

Terminal pəncərəsini açın, cd əmrindən istifadə edərək proqram kodunu saxladığınız qovluğa gedin.

cd yolu/üçün/qovluğu

Kök imtiyazlarından istifadə edərək proqramı işə salın:

sudo python NameOfFile.py

X, y və z istiqamətindəki sürətlənmə dəyərlərinin terminal pəncərəsinə yazdırıldığını, məqbul olduğunu yoxlayın və g qüvvəsi eşiklərimizin üstündədirsə LED işığını yandırın.

  • Test etmək üçün, hər bir oxun yerə yönəldilməsi üçün akselerometrini döndərin və ölçülmüş dəyərlərin ya 1, ya da -1 olduğunu yoxlayın (cazibə qüvvəsi səbəbiylə sürətlənməyə uyğundur).
  • Oxumaların artdığından əmin olmaq üçün akselerometri silkələyin (işarə oxun istiqamətini göstərir, oxunuşun böyüklüyü bizi ən çox maraqlandırır).

Addım 13: Təhlükəsiz Elektrik Bağlantılarını Qurun

Təhlükəsiz Elektrik Bağlantıları və Quraşdırın!
Təhlükəsiz Elektrik Bağlantıları və Quraşdırın!

Hər şey düzgün işlədikdən sonra, təsir qüvvəsi monitorunun təsirə tab gətirə biləcəyinə əmin olaq!

  • İstilik büzücü borudan istifadə edin və/və ya akselerometr və LED üçün elektrik bağlantılarını epoksi ilə örtün.
  • Çox davamlı, daimi qurğular üçün, bütün sebangı epoksi ilə örtməyi düşünün: Pi Zero, LED və akselerometr (lakin Pi kabel bağlayıcıları və ya SD kartı DEYİL).

    Xəbərdarlıq! Hələ də Pi -yə girə və bütün kompüter işlərini edə bilərsiniz, ancaq tam bir epoksi qat gələcək layihələr üçün GPIO sancaqlarının istifadəsini maneə törədir. Alternativ olaraq, davamlılığını yoxlasanız da Pi Zero üçün xüsusi bir qutu hazırlaya və ya satın ala bilərsiniz

Bir dəbilqəyə, şəxsinizə və ya skeytbord, velosiped və ya pişik*kimi nəqliyyat növünə təhlükəsiz olun!

Pi -nin etibarlı bir şəkildə bağlandığını yoxlayın və ya GPIO sancaqları boşa çıxa bilər ki, bu da proqramın çökməsinə səbəb ola bilər.

*Qeyd: Mən əvvəlcə "avtomobil" yazmaq istəyirdim, ancaq bir pişik üçün təsir güc monitorunun da bəzi maraqlı məlumatlar verə biləcəyini düşündüm (əlbəttə ki, kitty razılığı ilə).

Addım 14: Dövrəni dəbilqəyə taxmaq

Dövrəni dəbilqəyə yerləşdirmək
Dövrəni dəbilqəyə yerləşdirmək
Dövrəni dəbilqəyə yerləşdirmək
Dövrəni dəbilqəyə yerləşdirmək
Dövrəni dəbilqəyə yerləşdirmək
Dövrəni dəbilqəyə yerləşdirmək

Dövrəni dəbilqəyə yerləşdirməyin bir neçə yolu var. Dəbilqə qurğusuna yanaşmam budur:

  • Hələ yoxsa, batareyanı Pi -yə qoşun (batareya sönmüş vəziyyətdə). Sürətölçəni Pi -nin arxasına keçirtməyən izolyasiya ilə bağlayın (köpük sarma və ya nazik qablaşdırma köpüyü kimi).
  • Pi Zero, akselerometr, LED və batareya bağlayıcı birləşməsinin ölçülərini ölçün. Hər iki tərəfə 10% əlavə edin.
  • Layihə üçün dəbilqənin bir tərəfində, batareya konnektoru dəbilqənin yuxarı tərəfinə baxaraq çəkin. Bir neçə millimetr (~ 1/8 düym) buraxaraq, dəbilqədəki dolğunu kəsin.
  • Sensoru, Pi və LED -i kəsik hissəsinə yerləşdirin. Aşırı dəbilqə hissələrini kəsin və ya elektronikanı izolyasiya etmək, qorumaq və yerində saxlamaq üçün qablaşdırma köpüyü istifadə edin.
  • Batareyanın ölçülərini ölçün, 10%əlavə edin və batareya üçün eyni kəsiklərə əməl edin. Batareyanı cibinə daxil edin.
  • Dəbilqənin digər tərəfindəki batareya üçün izolyasiya texnikasını təkrarlayın.
  • Dəbilqə yastığını bantla yerində saxlayın (geyindiyiniz zaman başınız onları yerində saxlayacaq).

Addım 15: Dağıtın

Yerləşdirmək!
Yerləşdirmək!
Yerləşdirmək!
Yerləşdirmək!

Batareya paketini işə salın!

İndi SSH və ya uzaq masa üstü vasitəsilə uzaqdan Pi -ə daxil ola və proqramı terminal vasitəsilə işlədə bilərsiniz. Proqram işə salındıqdan sonra məlumatları qeyd etməyə başlayır.

Evinizdəki WiFi bağlantısını kəsdiyiniz zaman SSH bağlantısı pozulacaq, ancaq proqram yenə də məlumatları qeyd etməlidir. Pi'yi ağıllı telefonunuzun WiFi nöqtəsinə bağlamağı düşünün və ya evə çatanda yenidən daxil olun və məlumatları götürün.

Məlumatlara daxil olmaq üçün uzaqdan Pi -ə daxil olun və mətn fayllarını oxuyun. Mövcud proqram həmişə mövcud fayllara məlumat əlavə edəcək - məlumatları silmək istəyirsinizsə (məsələn, testdən), mətn faylını silin (masa üstü vasitəsilə və ya terminaldakı rm əmrindən istifadə edin) və ya proqramda yeni bir fayl adı yaradın. kod (İstifadəçi Parametrlərində).

LED yanarsa, proqramı yenidən başlatmaq onu söndürəcək.

İndi irəli gedin, həyatda əylənin və bir şeyə rast gəlsəniz hər dəfə məlumatları yoxlayın. Ümid edirik ki, bu kiçik bir zərbədir, amma heç olmasa biləcəksiniz!

Addım 16: Daha çox xüsusiyyət əlavə edin

Daha çox xüsusiyyət əlavə etmək
Daha çox xüsusiyyət əlavə etmək

Zərbə qüvvəsi monitorunda təkmilləşdirmələr axtarırsınız? Dərsliyin əhatə dairəsi xaricindədir, amma fikirlər üçün aşağıdakı siyahıya baxmağa çalışın!

Python-da g-force məlumatlarınızla bağlı bəzi təhlillər aparın!

Pi Zero Bluetooth və WiFi xüsusiyyətlərinə malikdir - akselerometr məlumatlarını smartfonunuza göndərmək üçün bir tətbiq yazın! Başlamaq üçün, burada Pi Twitter Monitoru üçün bir dərs var.

İstilik sensoru və ya mikrofon*kimi digər sensorlar əlavə edin!

Xoşbəxt Bina

*Qeyd: Sürətlənməyinizlə əlaqəli qışqırıq səslərini eşitmək üçün!: D

Tövsiyə: