İçindekiler:

Raspberry Pi Darbe Kuvveti Monitörü!: 16 Adım (Resimlerle)
Raspberry Pi Darbe Kuvveti Monitörü!: 16 Adım (Resimlerle)

Video: Raspberry Pi Darbe Kuvveti Monitörü!: 16 Adım (Resimlerle)

Video: Raspberry Pi Darbe Kuvveti Monitörü!: 16 Adım (Resimlerle)
Video: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, Temmuz
Anonim
Image
Image
Önerilen Okuma
Önerilen Okuma

İnsan vücudu ne kadar etkiyi kaldırabilir? Futbol, kaya tırmanışı veya bisiklet kazası olsun, bir çarpışmadan sonra ne zaman acil tıbbi yardıma başvurulacağını bilmek, özellikle de belirgin bir travma belirtisi yoksa inanılmaz derecede önemlidir. Bu eğitim size kendi darbe kuvveti monitörünüzü nasıl oluşturacağınızı öğretecek!

Okuma Süresi: ~15 dk

İnşa Süresi: ~60-90 dk

Bu açık kaynaklı proje, potansiyel olarak tehlikeli G-kuvvetlerini izlemek ve kullanıcıyı uyarmak için bir Raspberry Pi Zero W ve bir LIS331 ivmeölçer kullanır. Elbette, sistemi çeşitli vatandaşlık bilim ihtiyaçlarınıza uyacak şekilde değiştirmekten ve uyarlamaktan çekinmeyin.

Not: Impact Force Monitor ile eğlenceli şeyler oluşturun! Ancak, lütfen bunu profesyonel tıbbi tavsiye ve teşhisin yerine kullanmayın. Ciddi bir düşüş yaşadığınızı düşünüyorsanız, uygun tedavi için lütfen kalifiye ve lisanslı bir uzmanı ziyaret edin.

Adım 1: Önerilen Okuma

Bu öğreticiyi kısa ve tatlı tutmak için (yani, mümkün olduğu kadar), işlevsel bir Pi Zero W ile başladığınızı varsayıyorum. Biraz yardıma mı ihtiyacınız var? Sorun değil! İşte tam bir kurulum eğitimi.

Ayrıca Pi'ye uzaktan (kablosuz olarak) bağlanacağız. Bu işlem hakkında daha kapsamlı bir genel bakış için bu eğiticiye göz atın.

** Takıldınız mı yoksa daha fazlasını öğrenmek mi istiyorsunuz? İşte bazı kullanışlı kaynaklar:**

1. Pi için mükemmel "Başlarken" kılavuzu.

2. LIS331 ivmeölçer devre kartı için tam bağlantı kılavuzu.

3. İvmeölçerler hakkında daha fazlası!

4. Raspberry Pi GPIO pinlerine genel bakış.

5. Pi üzerinde SPI ve I2C Seri veriyollarının kullanılması.

6. LIS331 Veri Sayfası

Adım 2: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
  • Raspberry Pi Zero W Temel Kit

    • Bu kit şunları içerir: NOOBS İşletim Sistemine sahip SD Kart; USB OTG kablosu (microUSB - USB dişi); Mini HDMI'dan HDMI'ya; MicroUSB güç kaynağı (~ 5V)
    • Ayrıca önerilir: USB hub
  • Raspberry Pi 3 Başlık Pimleri
  • LIS331 İvmeölçer Koparma Kartı
  • Pil Paketi, MicroUSB konektörlü
  • 5mm Kırmızı LED
  • 1k Direnç
  • 6" Isıyla daralan makaron veya elektrik bandı
  • İvmeölçer (4 - 8) ve LED (2) için başlık pimleri
  • Dişi-dişi atlama telleri(6)

Aletler

  • Havya ve aksesuarları
  • Epoksi (veya diğer kalıcı, iletken olmayan sıvı yapıştırıcı)
  • Muhtemelen makas da:)

3. Adım: Ama Bekleyin! Darbe Kuvveti Nedir?

Neyse ki "darbe kuvveti" terimi oldukça basittir: bir çarpmadaki kuvvet miktarı. Yine de çoğu şey gibi, onu ölçmek daha kesin bir tanım gerektirir. Darbe kuvveti denklemi:

F = KE/d

F darbe kuvvetidir, KE kinetik enerjidir (hareket enerjisi) ve d çarpma mesafesi veya cismin ne kadar çatırdadığıdır. Bu denklemden iki önemli çıkarım var:

1. Darbe kuvveti kinetik enerji ile doğru orantılıdır, yani kinetik enerji arttıkça darbe kuvveti de artar.

2. Darbe kuvveti darbe mesafesi ile ters orantılıdır, yani darbe mesafesi arttıkça darbe kuvveti azalır. (Bu yüzden hava yastıklarımız var: etkimizin mesafesini artırmak için.)

Kuvvet tipik olarak Newton (N) cinsinden ölçülür, ancak çarpma kuvveti bir "G-Kuvveti", g'nin katları olarak ifade edilen bir sayı veya dünyanın yerçekimi ivmesi (9.8 m/s^2) cinsinden tartışılabilir. G kuvveti birimlerini kullandığımızda, bir nesnenin dünyaya doğru serbest düşüşe göre ivmesini ölçüyoruz.

Teknik olarak konuşursak, g bir ivmedir, bir kuvvet değil, ancak çarpışmalardan bahsederken yararlıdır çünkü ivme* insan vücuduna zarar veren şeydir.

Bu proje için, bir çarpmanın potansiyel olarak tehlikeli olup olmadığını ve tıbbi müdahaleyi hak edip etmediğini belirlemek için G-kuvveti birimlerini kullanacağız. Araştırmalar, 9G'nin üzerindeki g-kuvvetlerinin çoğu insan için (özel eğitim olmadan) ölümcül olabileceğini ve 4-6G'nin birkaç saniyeden fazla sürdürülürse tehlikeli olabileceğini bulmuştur.

Bunu bilerek, ivme ölçerimiz bu eşiklerden herhangi birinin üzerinde bir G-kuvvetini ölçerse bizi uyaracak şekilde darbe kuvveti monitörümüzü programlayabiliriz. Yaşasın bilim!

Daha fazla bilgi için, Wikipedia'da darbe kuvveti ve g kuvveti hakkında okuyun!

Hızlanma, hız ve/veya yön değişikliğidir

Adım 4: Pi Zero W'yi Yapılandırın

Pi Zero W'yi yapılandırın
Pi Zero W'yi yapılandırın

Pi'yi başsız olacak şekilde yapılandırmak için Raspberry Pi Zero'nuzu ve çevre birimlerini toplayın!

  • Pi'yi bir monitöre ve ilgili çevre birimlerine (klavye, fare) bağlayın, güç kaynağını takın ve oturum açın.
  • Pi'nizi hızlı ve güvenli tutmak için yazılımı güncelleyin. Terminal penceresini açın ve şu komutları yazın:

    Yazın ve girin:

sudo apt-get güncellemesi

Yazın ve girin:

sudo apt-get yükseltme

Sıfırla:

sudo kapatma -r şimdi

Adım 5: WiFi ve I2C'yi Etkinleştirin

WiFi ve I2C'yi Etkinleştir
WiFi ve I2C'yi Etkinleştir
WiFi ve I2C'yi Etkinleştir
WiFi ve I2C'yi Etkinleştir
WiFi ve I2C'yi Etkinleştir
WiFi ve I2C'yi Etkinleştir
  • Masaüstünün sağ üst köşesindeki WiFi simgesine tıklayın ve WiFi ağınıza bağlanın.
  • Pi'nin Yazılım Yapılandırma Aracını getirmek için terminalde bu komutu yazın:

sudo raspi yapılandırması

  • "Arayüz Seçenekleri"ni, ardından "SSH"yi seçin ve etkinleştirmek için alttaki "Evet"i seçin.
  • "Arayüz Seçenekleri"ne, ardından "I2C"ye geri dönün ve etkinleştirmek için "Evet"i seçin.
  • Terminalde uzak masaüstü bağlantı yazılımını kurun:

sudo apt-get install xrdp

  • Her iki istem için klavyenizde 'Y' (evet) yazın.
  • Wi-Fi bağlantısının üzerine gelerek Pi'nin IP adresini bulun (bir yere yazmak da isteyebilirsiniz).
  • passwd komutu ile Pi'nin şifresini değiştirin.

Adım 6: Pi'yi Yeniden Başlatın ve Uzaktan Oturum Açın

Pi'yi Yeniden Başlatın ve Uzaktan Oturum Açın
Pi'yi Yeniden Başlatın ve Uzaktan Oturum Açın

Artık HDMI ve çevre birimlerinden kurtulabiliriz, woohoo!

  • Uzak masaüstü bağlantısı kurun.

    • Bir PC'de Uzak Masaüstü Bağlantısı'nı (veya bu konuda rahatsanız PuTTY'yi) açın.
    • Mac/Linux için bu programı yükleyebilir veya bir VNC programı kullanabilirsiniz.
  • Pi için IP'yi girin ve “Bağlan”a tıklayın (Bilinmeyen cihazla ilgili uyarıları yoksay).
  • Kimlik bilgilerinizi kullanarak Pi'ye giriş yapın ve yola çıkıyoruz!

Adım 7: İnşa Edin: Elektronik

İnşa Edin: Elektronik!
İnşa Edin: Elektronik!
İnşa Edin: Elektronik!
İnşa Edin: Elektronik!

Yukarıdaki iki fotoğraf, bu projenin elektrik şemasını ve Pi Zero Pinout'u göstermektedir. Donanım bağlantılarını halletmek için ikisine de ihtiyacımız olacak.

Not: Şematikteki LIS331 devre kartı daha eski bir versiyondur - rehberlik için pin etiketlerini kullanın

Adım 8: İvmeölçeri Pi'nin GPIO'suna bağlayın

İvmeölçeri Pi'nin GPIO'suna bağlayın
İvmeölçeri Pi'nin GPIO'suna bağlayın
İvmeölçeri Pi'nin GPIO'suna bağlayın
İvmeölçeri Pi'nin GPIO'suna bağlayın
İvmeölçeri Pi'nin GPIO'suna bağlayın
İvmeölçeri Pi'nin GPIO'suna bağlayın
  • İvmeölçer ve Pi GPIO'nun başlık pimlerindeki akı kalıntılarını lehimleyin ve dikkatlice çıkarın.
  • Ardından, LIS331 devre kartı ile Pi arasına atlama tellerini aşağıdaki pimler arasına bağlayın:

LIS331 Breakout Board Raspberry Pi GPIO Pimi

GND GPIO 9 (GND)

VCC GPIO 1 (3.3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Sensörü Pi Zero'ya bağlamayı kolaylaştırmak için dişi başlık ve atlama telleri kullanılarak özel bir adaptör yapılmıştır. Bağlantılar test edildikten sonra ısıyla büzüşme eklendi

Adım 9: Bir Uyarı LED'i ekleyin

Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
Bir Uyarı LED'i ekleyin!
  • Negatif LED bacağına (daha kısa bacak) bir akım sınırlayıcı direnç lehimleyin ve yalıtım için streç film (veya elektrik bandı) ekleyin.
  • Pozitif LED ayağını GPIO26'ya ve direnci GND'ye bağlamak için iki atlama kablosu veya başlık pimi kullanın (sırasıyla başlık konumları 37 ve 39).
  • Kurulumu tamamlamak için pil takımını Pi'nin giriş gücüne bağlayın!

Adım 10: Programlayın

Programla!
Programla!

Bu proje için Python kodu açık kaynaklıdır! İşte GitHub deposuna bir bağlantı.

Programlamaya Yeni Başlayanlar İçin:

Program kodunu ve yorumları okuyun. Değiştirilmesi kolay şeyler, en üstteki “Kullanıcı Parametreleri” bölümündedir

Teknik 'Deets ile Daha Rahat İnsanlar İçin:

Bu program, normal güç modu ve 50Hz veri hızı dahil olmak üzere varsayılan ayarlarla LIS331 ivmeölçeri başlatır. LIS331 veri sayfasını baştan sona okuyun ve başlatma ayarlarını istediğiniz gibi değiştirin

Tüm

  • Bu projede kullanılan maksimum hızlanma ölçeği 24G'dir, çünkü darbe kuvveti çok çabuk büyür!
  • Tam dağıtıma hazır olduğunuzda ana işlevdeki hızlandırma yazdırma ifadelerini yorumlamanız önerilir.

Programı çalıştırmadan önce ivmeölçer adresinin 0x19 olup olmadığını iki kez kontrol edin. Terminal penceresini açın ve bu komutla bazı yardımcı araçlar yükleyin:

sudo apt-get install -y i2c araçları

Ardından i2cdetect programını çalıştırın:

i2cdetect -y 1

Yukarıdaki resimde gösterildiği gibi görüntülenen bir I2C adresleri tablosu göreceksiniz. Bunun bağlı olan tek I2C cihazı olduğunu varsayarsak, gördüğünüz sayı (bu durumda: 19) ivmeölçer adresidir! Farklı bir numara görürseniz not alın ve programda değiştirin (değişken adres).

Adım 11: Programa Hızlı Genel Bakış

Programa Hızlı Genel Bakış
Programa Hızlı Genel Bakış

Program x, y ve z ivmesini okur, bir g-kuvveti hesaplar ve ardından verileri uygun şekilde iki dosyaya (program koduyla aynı klasörde) kaydeder:

  • AllSensorData.txt – x, y ve z eksenlerinde g kuvvetinin izlediği bir zaman damgası verir.
  • AlertData.txt – yukarıdakiyle aynı, ancak yalnızca güvenlik eşiklerimizin üzerindeki okumalar için (3 saniyeden uzun 9G veya 4G mutlak eşiği).

Güvenlik eşiklerimizin üzerindeki G kuvvetleri, uyarı LED'imizi de açacak ve biz programı yeniden başlatana kadar açık tutacaktır. Komut terminalinde “CTRL+c” (klavye kesme) yazarak programı durdurun.

Yukarıdaki fotoğraf, test sırasında oluşturulan her iki veri dosyasını da göstermektedir.

Adım 12: Sistemi Test Edin

Sistemi Test Edin!
Sistemi Test Edin!
Sistemi Test Edin!
Sistemi Test Edin!

Terminal penceresini açın, cd komutunu kullanarak program kodunu kaydettiğiniz klasöre gidin.

cd yolu/to/klasörü

Kök ayrıcalıklarını kullanarak programı çalıştırın:

sudo python NameOfFile.py

x, y ve z yönündeki hızlanma değerlerinin terminal penceresine yazdırıldığını, makul olduğunu kontrol edin ve g-kuvveti eşiklerimizin üzerindeyse LED ışığını açın.

  • Test etmek için, ivmeölçeri her bir eksen yere bakacak şekilde döndürün ve ölçülen değerlerin 1 veya -1 olduğunu kontrol edin (yerçekiminden kaynaklanan ivmeye karşılık gelir).
  • Okumaların arttığından emin olmak için ivmeölçeri sallayın (işaret eksenin yönünü gösterir, biz en çok okumanın büyüklüğüyle ilgileniyoruz).

Adım 13: Elektrik Bağlantılarını Güvenli Hale Getirin ve Kurun

Elektrik Bağlantılarını Güvenli Hale Getirin ve Kurun!
Elektrik Bağlantılarını Güvenli Hale Getirin ve Kurun!

Her şey düzgün çalıştığında, darbe kuvveti monitörünün darbeye gerçekten dayanabileceğinden emin olalım!

  • Isıyla daralan makaron kullanın ve/veya ivmeölçer ve LED'in elektrik bağlantılarını epoksi ile kaplayın.
  • Süper dayanıklı, kalıcı kurulumlar için, her şeyi epoksi ile kaplamayı düşünün: Pi Zero, LED ve ivmeölçer (ancak Pi kablo konektörleri veya SD kart DEĞİL).

    Uyarı! Yine de Pi'ye erişebilir ve tüm bilgisayar işlerini yapabilirsiniz, ancak tam bir epoksi kat, gelecekteki projeler için GPIO pinlerinin kullanılmasını engelleyecektir. Alternatif olarak, dayanıklılığı kontrol etseniz de Pi Zero için özel bir kasa yapabilir veya satın alabilirsiniz

Bir kaska, şahsınıza veya kaykayınız, bisikletiniz veya kediniz* gibi bir ulaşım aracına sabitleyin!

Pi'nin güvenli bir şekilde sabitlendiğini veya GPIO pinlerinin gevşeyip programın çökmesine neden olabileceğini tamamen test edin.

*Not: Aslında "araba" yazmak istemiştim, ancak bir kedi için bir darbe kuvveti monitörünün de bazı ilginç veriler verebileceğini düşündüm (elbette kitty'nin rızasıyla).

Adım 14: Devreyi Kask içine Gömmek

Devreyi Kask içine Gömmek
Devreyi Kask içine Gömmek
Devreyi Kask içine Gömmek
Devreyi Kask içine Gömmek
Devreyi Bir Kask içine Gömmek
Devreyi Bir Kask içine Gömmek

Devreyi bir kaska yerleştirmenin birkaç yöntemi vardır. İşte kask kurulumuna yaklaşımım:

  • Henüz yapmadıysanız, pili Pi'ye bağlayın (pil kapalıyken). İvmeölçeri, aralarında iletken olmayan yalıtımla (kabarcık sargısı veya ince ambalaj köpüğü gibi) Pi'nin arkasına sabitleyin.
  • Pi Zero, ivmeölçer, LED ve pil konektörü kombinasyonunun boyutlarını ölçün. Her iki tarafa da %10 ekleyin.
  • Pil konektörü kaskın üst kısmına bakacak şekilde kaskın bir tarafına proje için bir kesik çizin. Kasktaki dolguyu birkaç milimetre (~ 1/8 inç) bırakarak kesin.
  • Sensörü, Pi'yi ve LED'i deliğe yerleştirin. Fazla kask dolgusunun parçalarını kesin veya elektronik aksamları yalıtmak, korumak ve yerinde tutmak için ambalaj köpüğü kullanın.
  • Pilin boyutlarını ölçün, %10 ekleyin ve pil için aynı kesimi takip edin. Pili cebe yerleştirin.
  • Kaskın diğer tarafındaki pil için yalıtım tekniğini tekrarlayın.
  • Kask dolgusunu bantla yerinde tutun (takarken kafanız onları yerinde tutacaktır).

Adım 15: Dağıtın

Dağıtmak!
Dağıtmak!
Dağıtmak!
Dağıtmak!

Pil paketine güç verin!

Artık Pi'ye SSH veya uzak masaüstü üzerinden uzaktan giriş yapabilir ve programı terminal üzerinden çalıştırabilirsiniz. Program çalıştığında, verileri kaydetmeye başlar.

Ev WiFi bağlantınızı kestiğinizde, SSH bağlantısı kesilir, ancak programın yine de verileri kaydetmesi gerekir. Pi'yi akıllı telefonunuzun hotspot WiFi'sine bağlamayı düşünün veya eve döndüğünüzde tekrar giriş yapın ve verileri alın.

Verilere erişmek için uzaktan Pi'ye giriş yapın ve metin dosyalarını okuyun. Geçerli program her zaman mevcut dosyalara veri ekler - verileri silmek istiyorsanız (testten gibi), metin dosyasını silin (masaüstü aracılığıyla veya terminalde rm komutunu kullanın) veya programda yeni bir dosya adı oluşturun kodu (Kullanıcı Parametrelerinde).

LED yanıyorsa, programı yeniden başlatmak onu kapatacaktır.

Şimdi devam edin, hayatta eğlenin ve bir şeye rastlarsanız verileri sık sık kontrol edin. Umarım, küçük bir yumru ama en azından bileceksin!

Adım 16: Daha Fazla Özellik Ekleme

Daha Fazla Özellik Ekleme
Daha Fazla Özellik Ekleme

Darbe kuvveti monitöründe iyileştirmeler mi arıyorsunuz? Bu, eğitimin kapsamı dışındadır ancak fikir edinmek için aşağıdaki listeye bakmayı deneyin!

Python'da g-force verileriniz üzerinde biraz analiz yapın!

Pi Zero, Bluetooth ve WiFi özelliklerine sahiptir - ivmeölçer verilerini akıllı telefonunuza göndermek için bir Uygulama yazın! Başlamak için, burada bir Pi Twitter Monitor için bir eğitim var.

Sıcaklık sensörü veya mikrofon gibi diğer sensörleri ekleyin*!

Mutlu Bina

*Not: Hızlanmanızla ilgili uğultu seslerini duymak için!:NS

Önerilen: