Mündəricat:

Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım

Video: Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım

Video: Python istifadə edərək Raspberry Pi və AIS328DQTR istifadə edərək sürətlənməni izləyin: 6 addım
Video: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Noyabr
Anonim
Image
Image

Sürətlənmə məhduddur, məncə bəzi Fizik qanunlarına görə.- Terry Riley

Bir çita, təqib edərkən inanılmaz sürətlənmə və sürətdəki sürətli dəyişikliklərdən istifadə edir. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur. Yaradıcılar, rekord qıran 100 metrlik qaçışda Usain Boltdan təxminən beş qat daha çox güc tətbiq edərək bu sürəti əldə edir.

İndiki zamanda fərdlər yenilik olmadan varlıqlarını təsəvvür edə bilməzlər. Ətrafımızdakı fərqli yeniliklər insanlara varlıqlarını daha çox israfçılıqla davam etdirməyə kömək edir. Mini, tək taxtalı Linux PC Raspberry Pi, elektronika səyləri və IoT, Ağıllı Şəhərlər və Məktəb Təhsili kimi qabaqcıl inkişaflar üçün ucuz və hörmətli bir baza verir. Kompüter və gadget həvəskarları olaraq, Raspberry Pi ilə xeyli ölçü götürdük və maraqlarımızı qarışdırmağı seçdik. Yaxınlıqda bir Raspberry Pi və 3 eksenli Accelerometer varsa nə edə biləcəyimiz mümkün nəticələr hansılardır? Bu işdə, Python istifadə edərək Raspberry Pi ilə 3 istiqamətdə, X, Y və Z sürətlənməni ölçmək üçün rəqəmsal 3 eksenli MEMS xətti sürətləndirici sensoru olan AIS328DQTR-i birləşdirəcəyik. Bunu araşdırmağa dəyər.

Addım 1: Tələb etdiyimiz avadanlıq

Ehtiyac duyduğumuz aparat
Ehtiyac duyduğumuz aparat
Ehtiyac duyduğumuz avadanlıq
Ehtiyac duyduğumuz avadanlıq

Məsələlər bizim üçün daha az idi, çünki işləyə biləcəyimiz çox şey var. Hər halda, başqalarının doğru hissəni güclü bir yerdən uzaqlaşdırmağın nə qədər çətin olduğunu bilirik və bu, hər qəpiyə az diqqət yetirməklə qorunur. Buna görə sizə kömək edərdik.

1. Moruq Pi

İlk addım bir Raspberry Pi lövhəsi əldə etmək idi. Raspberry Pi, Linux əsaslı fərdi kompüterdir. Bu kiçik kompüter, elektronika məşqləri və elektron tablolar, söz emalı, veb sörfü, e -poçt və oyunlar kimi PC əməliyyatları kimi istifadə olunan qeydiyyat gücündə bir zərbə yığır. İstənilən elektronika və ya hobbi mağazasında satın ala bilərsiniz.

2. Raspberry Pi üçün I2C Shield

Raspberry Pi -nin həqiqətən yox olduğu əsas narahatlıq I2C portudur. Bunun üçün TOUTPI2 I2C konnektoru, Raspberry Pi -ni HƏR HANGİ I2C cihazı ilə istifadə etmək mənasını verir. DCUBE Mağazasında mövcuddur

3. 3 Eksenli akselerometr, AIS328DQTR

STMicroelectronics hərəkət sensorlarına aid olan AIS328DQTR, rəqəmsal seriyalı interfeysi SPI standart çıxışı olan son dərəcə aşağı güclü yüksək performanslı 3 oxlu xətti sürətləndiricidir. Bu sensoru DCUBE Mağazasından aldıq

4. Bağlayıcı Kabel

I2C Bağlama kabelini DCUBE Mağazasından əldə etdik

5. Mikro USB kabeli

Ən təvazökar çaşqın, lakin gücə ən çox ehtiyac duyan Raspberry Pi! Oyun planı ilə məşğul olmağın ən sadə yolu Micro USB kabelindən istifadə etməkdir. GPIO pinləri və ya USB portları da eyni şəkildə geniş enerji təchizatı vermək üçün istifadə edilə bilər.

6. Vebə giriş bir ehtiyacdır

Ethernet (LAN) kabeli ilə əlaqəli Raspberry Pi -ni əldə edin və şəbəkənizə qoşun. Digər tərəfdən, bir WiFi konnektoru axtarın və uzaq bir şəbəkəyə keçmək üçün USB portlarından birini istifadə edin. Kəskin, əsaslı, kiçik və sadə bir qərardır!

7. HDMI Kabeli/Uzaqdan Giriş

Raspberry Pi, xüsusən bir HDMI kabeli ilə bir Monitor və ya TV ilə əlaqə qura biləcəyiniz bir HDMI portuna malikdir. Seçmə olaraq, Raspberry Pi -ni Linux PC -dən və ya terminaldan Macintosh -dan gətirmək üçün SSH -dən istifadə edə bilərsiniz. Ayrıca, pulsuz və açıq mənbəli bir terminal emulatoru olan PuTTY, heç də pis seçim deyil.

Addım 2: Avadanlıqların birləşdirilməsi

Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması
Avadanlıq Bağlanması

Sxemdə göstərildiyi kimi dövrəni göstərin. Qrafikdə müxtəlif hissələri, güc parçalarını və I2C sensorunu görəcəksiniz.

Raspberry Pi və I2C Shield Bağlantısı

Ən əsası, Raspberry Pi -ni götürün və üzərindəki I2C Shield -ə baxın. Qalxanı Pi -nin GPIO sancaqları üzərində diqqətlə basın və biz bu addımı pasta kimi sadə bir şəkildə bitirdik.

Raspberry Pi və Sensor Bağlantısı

Sensoru götürün və I2C kabelini onunla birləşdirin. Bu kabelin uyğun işləməsi üçün lütfən, I2C Çıxışını DAİMA I2C Girişlə əlaqələndirin. Eyni şey, GPIO sancaqlarına quraşdırılmış I2C qalxanı olan Raspberry Pi üçün də edilməlidir.

I2C kabelinin istifadəsini təşviq edirik, çünki pinoutların kəsilməsi, qorunması və hətta ən təvazökar qarışıqlıq ilə başa çatdırılan narahatlığı ləğv edir. Bu əhəmiyyətli birləşmə və oynatma kabeli ilə uyğun bir tətbiq təqdim edə, ziddiyyətləri dəyişdirə və ya daha çox gadget əlavə edə bilərsiniz. Bu, iş çəkisini həddindən artıq dərəcədə dəstəkləyir.

Qeyd: Qəhvəyi tel, bir cihazın çıxışı ilə digər cihazın girişi arasındakı Ground (GND) bağlantısını etibarlı şəkildə izləməlidir

Veb Şəbəkəsi Açardır

Təşəbbüsümüzü qazanmaq üçün Raspberry Pi üçün İnternet bağlantısı lazımdır. Bunun üçün ev şəbəkəsinə qoşulmaq üçün Ethernet (LAN) ilə əlaqə qurmaq kimi seçimləriniz var. Üstəlik, bir seçim olaraq, WiFi USB konnektorundan istifadə etmək xoş bir kursdur. Ümumiyyətlə, bunun üçün işləməsi üçün bir sürücü tələb olunur. Təsvirdə Linux olana söykənin.

Enerji təchizatı

Micro USB kabelini Raspberry Pi -nin elektrik prizinə qoşun. Zərbə edin və biz hazırıq.

Ekrana keçid

HDMI kabelini başqa bir monitora qoşa bilərik. Bəzən bir Raspberry Pi -ni bir ekrana bağlamadan əldə etməlisiniz və ya başqa bir yerdən məlumatlara baxmaq lazım ola bilər. Ehtimal ki, düşünülmüş hər şeyi etməklə məşğul olmaq üçün yaradıcı və maliyyə cəhətdən ağıllı yollar var. Onlardan biri - SSH (uzaqdan əmr satırına giriş) istifadə edir. Bunun üçün PuTTY proqramından da istifadə edə bilərsiniz.

Addım 3: Raspberry Pi üçün Python Kodlaması

Raspberry Pi üçün Python Kodlaması
Raspberry Pi üçün Python Kodlaması

Raspberry Pi və AIS328DQTR Sensorları üçün Python Kodunu Github Depomuzda görə bilərsiniz.

Koda keçməzdən əvvəl, Readme arxivində verilən qaydaları oxuduğunuzdan və Raspberry Pi -ni ona uyğun olaraq qurduğunuzdan əmin olun. Düşünülmüş hər şeyi etmək üçün bir anlıq möhlət veriləcək.

Bir akselerometr, sürətlənmə qüvvələrini ölçəcək bir elektromexaniki cihazdır. Bu güclər, ayaqlarınızdan çəkilən daimi cazibə qüvvəsinə bənzər statik ola bilər və ya dəyişdirilə bilər - akselerometrin hərəkət etməsi və ya titrəməsi nəticəsində yarana bilər.

Davam edən python kodudur və kodu istədiyiniz şəkildə klonlaya və dəyişə bilərsiniz.

# Sərbəst iradə lisenziyası ilə paylanmışdır.# İstənilən şəkildə, mənfəət və ya pulsuz olaraq, əlaqəli işlərin lisenziyalarına uyğun olması şərtilə istifadə edin. # AIS328DQTR # Bu kod, dcubestore.com saytında mövcud olan AIS328DQTR_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer-with -avtomobil tətbiqləri üçün rəqəmsal çıxış-i%C2%B2c-mini-modul/

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# AIS328DQTR ünvanı, 0x18 (24)

# Nəzarət reyestrini seçin1, 0x20 (32) # 0x27 (39) Güc AÇMA rejimi, Məlumat sürəti seçimi = 50Hz # X, Y, Z-Axis effektiv bus.write_byte_data (0x18, 0x20, 0x27) # AIS328DQTR ünvanı, 0x18 (24) # Nəzarət reyestrini seçin4, 0x23 (35) # 0x30 (48) Davamlı yeniləmə, Tam miqyaslı seçim = +/- 8G bus.write_byte_data (0x18, 0x23, 0x30)

vaxt.yuxu (0.5)

# AIS328DQTR ünvanı, 0x18 (24)

# 0x28 (40), 2 baytdan məlumatları geri oxuyun # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Məlumatları çevirin

xAccl = data1 * 256 + data0 əgər xAccl> 32767 olarsa: xAccl -= 65536

# AIS328DQTR ünvanı, 0x18 (24)

# 0x2A (42), 2 baytdan məlumatları geri oxuyun # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Məlumatları çevirin

yAccl = data1 * 256 + data0 əgər yAccl> 32767 olarsa: yAccl -= 65536

# AIS328DQTR ünvanı, 0x18 (24)

# 0x2C (44), 2 baytdan məlumatları geri oxuyun # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Məlumatları çevirin

zAccl = data1 * 256 + data0 əgər zAccl> 32767 olarsa: zAccl -= 65536

# Ekrana məlumat çıxarın

çap "X Eksenində Sürətləndirmə: %d" %xAccl çap "Y Eksenində Sürətləndirmə: %d" %yAccl çap "Z Eksenində Sürətləndirmə: %d" %zAccl

Addım 4: Məcəllənin Praktikliyi

Məcəllənin praktikliyi
Məcəllənin praktikliyi

Github -dan kodu yükləyin (və ya git pull) və Raspberry Pi -də açın.

Kodu tərtib etmək və terminala yükləmək üçün əmrləri yerinə yetirin və ekrandakı məhsuldarlığı görün. Bir neçə dəqiqədən sonra bütün parametrləri nümayiş etdirəcək. Hər şeyin zəhmət çəkməyəcəyinə zəmanət verdikdən sonra, hər gün bu işdən istifadə edə və ya bu işi daha böyük bir işin kiçik bir hissəsi edə bilərsiniz. Ehtiyaclarınız nə olursa olsun, yığımınızda daha bir ziddiyyət var.

Addım 5: Tətbiqlər və Xüsusiyyətlər

STMicroelectronics tərəfindən istehsal edilən, ultra kompakt aşağı güclü yüksək performanslı 3 oxlu xətti akselerometr, hərəkət sensorlarına aiddir. AIS328DQTR, Telematik və Qara Qutular, Dash Dash Car Navigation, Eğim / Eğim Ölçmə, Oğurluq Əleyhinə Cihaz, Ağıllı Enerji Qənaəti, Zərbələrin Tanıma və Qeydiyyatı, Vibrasiya İzləmə və Kompensasiya və Hərəkət Aktivləşdirilmiş Funksiyalar kimi tətbiqlər üçün uyğundur.

Addım 6: Nəticə

Əgər Raspberry Pi və I2C sensorlar kainatını kəşf etməyi düşünürsünüzsə, o zaman aparatın əsaslarını, kodlaşdırmanı, tənzimləməsini, nüfuzunu və s. İstifadə edərək özünüzü şoka sala bilərsiniz. Bu metodda bir neçə iş ola bilər. sadə ola bilər, bəziləri səni sınaya bilər, səni hərəkətə gətirir. Hər halda, özünüzün bir formasını dəyişdirərək və qüsursuz bir yol yarada bilərsiniz.

Məsələn, Python istifadə edərək AIS328DQTR və Raspberry Pi ilə heyvanların fiziki hərəkətlərini və bədən mövqelərini izləmək və təsvir etmək üçün Davranış İzləyicisi Prototipi düşüncəsindən başlaya bilərsiniz. Yuxarıdakı vəzifədə bir akselerometrin əsas hesablamalarından istifadə etdik. Protokol, hər hansı bir girometr və GPS ilə birlikdə bir akselerometr sistemi və heyvanların avtomatlaşdırılmış davranış identifikasiyası üçün nəzarət edilən (maşın) öyrənmə alqoritmi (dəstək vektor maşını (SVM)) yaratmaqdır. Bunun ardınca paralel sensor ölçmələrinin toplanması və dəstək vektor maşını (SVM) təsnifatından istifadə edərək ölçülərin qiymətləndirilməsi aparılacaq. Prototipin dayanıqlılığını müəyyən etmək üçün təlim və təsdiq üçün fərqli müstəqil ölçmə birləşmələrindən (oturma, gəzinti və ya qaçış) istifadə edin. Bu prototipin daha tez işləyən bir versiyasını etməyə çalışacağıq, daha çox davranış rejimi üçün konfiqurasiya, kod və modelləşdirmə işləyir. Hamınızın xoşuna gəldiyinə inanırıq!

Rahatlığınız üçün YouTube -da imtahan verməyinizə kömək edəcək cazibədar bir videomuz var. İnanın ki, bu cəhd daha çox araşdırma aparacaq. Olduğunuz yerdən başlayın. Əlinizdə olanı istifadə edin. Bacardığınızı edin.

Tövsiyə: