Mündəricat:

Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: 6 Addım
Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: 6 Addım

Video: Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: 6 Addım

Video: Python istifadə edərək Raspberry Pi və MMA7455 ilə Sürətləndirmə Variasiyalarının İzlənməsi: 6 Addım
Video: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Noyabr
Anonim
Image
Image

Yıxılmadım, cazibə qüvvəsini sınayırdım. Hələ də işləyir…

Sürətlənən kosmik gəminin nümayişi, mekikatın ən yüksək nöqtəsindəki bir saatın qravitasiya müddətinin genişlənməsi səbəbiylə bazada bir saatdan daha sürətli olacağını aydınlaşdırdı. Bəziləri, təyyarədə sürətlənmənin hər iki saat üçün eyni olacağını iddia etdilər, buna görə də eyni sürətlə gənə getməlidirlər. Biraz fikir verin.

Düşüncələr, motivasiya və hətta təlimat hər yerdən qaynaqlana bilər-ancaq diqqətiniz yeniliklərə yönəldikdə, bu nöqtəyə konsentrə olan şəxslərin töhfəsini alır. Raspberry Pi, mini, tək lövhəli Linux PC, bənzərsiz təşəbbüslər və tənzimləmə, proqramlaşdırma və elektronika müəssisələri üzrə əsas məsləhətlər təqdim edir. Raspberry Pi və cihazların təlimatçıları olaraq yaxınlaşaraq, Kompüter Elmləri və Elektronika ilə birlikdə heyrətləndirici şeylər hazırlamaq və proqramlaşdırmaq şansımızdan istifadə edirik. Gecikdiyimiz müddətdə, bir akselerometrdən istifadə edərək bir işi atmaqdan zövq aldıq və bu gadget ilə nə edə biləcəyinizin arxasındakı düşüncələr həqiqətən sərindir. Beləliklə, bu vəzifədə Python istifadə edərək Raspberry Pi ilə 3 ölçülü, X, Y və Z sürətlənməni ölçmək üçün 3 oxlu Rəqəmsal akselerometr sensoru MMA7455-i daxil edəcəyik.

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

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

Hansı hissələri alacağımızı, haradan düzəltəcəyimizi və hər şeyin əvvəlcədən nə qədər başa gələcəyini bilmədən sınamaq və götürmək nə qədər çətin ola biləcəyini bilirik. Beləliklə, bütün işləri sizin üçün etdik. Parçaları bir yerə yığdıqdan sonra bu işi yerinə yetirmək çox çətindir. Tam hissələrin siyahısını əldə etmək üçün gedəndən sonra götürün.

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 kimi istifadə olunan qeydiyyat gücündə və elektron cədvəllər, söz emalı, veb sörfü və e -poçt və oyunlar kimi PC əməliyyatları ilə məşğul olur. İ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, MMA7455

Freescale Semiconductor, Inc tərəfindən istehsal olunan MMA7455 3 Eksenli Rəqəmsal Akselerometr, aşağı gücə malikdir, X, Y və Z oxları boyunca sürətlənməni ölçmək üçün uyğun olan daha kiçik miqyaslı işlənmiş bir sensordur. Bu sensoru DCUBE Mağazasından əldə etdik

4. Bağlayıcı Kabel

I2C Connecting kabeliniDCUBE Store -dan əldə etdik

5. Mikro USB kabeli

Ən kiçik qarışıqlıq, lakin gücün zəruriliyi ilə bağlı ən sərt Raspberry Pi -dir! Strategiyanı idarə etmək üçün ən çox tələb olunan və ən az tələb olunan yanaşma Micro USB kabelindən istifadə etməkdir. Daha inkişaf etmiş və xüsusi bir yol, xüsusi olaraq GPIO və ya USB portları vasitəsilə güc verməkdir.

6. Şəbəkə dəstəyi

Ethernet (LAN) kabeli ilə əlaqəli Raspberry Pi -ni əldə edin və ev şə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 Ekran və ya TV ilə əlaqə qura biləcəyiniz bir HDMI portuna malikdir. Seçmə olaraq, Raspberry Pi ilə Linux PC və ya terminaldan Mac qurmaq üçün SSH istifadə edə bilərsiniz. Eynilə, PuTTY, pulsuz və açıq mənbəli bir terminal emulatoru ağıllı bir fikir kimi səslənir.

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. Şematik olaraq, müxtəlif elektronik komponentlərin, birləşdirən tellərin, elektrik kabellərinin və I2C sensorunun əlaqələrini görəcəksiniz.

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

İlk növbədə Raspberry Pi götürün və üzərindəki I2C Shield -ə baxın. Qalxanı Pi -nin GPIO sancaqlarının üzərinə gözəl bir şəkildə basın və biz bu irəliləyişi pasta qədər asan başa vurduq (snapa baxın).

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 kabelindən istifadə etməyi məsləhət görürük, çünki pinoutların kəsilməsi, qorunması və hətta ən təvazökar qarışıqlıqla başa çatdırılan narahatlıq tələbini rədd 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ından sonra etibarlı şəkildə alınmalıdır

İnternetə giriş əsasdır

Səyimizi qazanmaq üçün Raspberry Pi üçün İnternet bağlantısı lazımdır. Bunun üçün ev şəbəkəsinə qoşulma Ethernet (LAN) ilə əlaqə qurmaq kimi alternativləriniz var. Ayrıca, alternativ olaraq, qənaətbəxş bir kurs WiFi USB konnektoru istifadə etməkdir. Ümumiyyətlə, bunu təmsil etmək üçün onu işə salmaq üçün sürücüyə ehtiyacınız var. Buna görə də, linuxda Linux olana doğru meyl edin.

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 Monitor/TV -yə 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ə MMA7455 Sensoru üçün Python Kodunu GithubRepository -də görə bilərsiniz.

Kodu davam etdirməzdən əvvəl Readme salnaməsində verilən standartları oxuduğunuza zəmanət verin və Raspberry Pi -ni göstərildiyi kimi qurun. Mövcud şərtləri nəzərə alaraq bunu etmək bir dəqiqə ərzində rahatlaşacaq.

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. # MMA7455L # Bu kod, dcubestore.com saytında mövcud olan MMA7455L_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-mini-modul/

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# MMA7455L ünvanı, 0x1D (16)

# Seçim rejimi nəzarət reyestri, 0x16 (22) # 0x01 (01) Ölçmə rejimi, +/- 8g bus.write_byte_data (0x1D, 0x16, 0x01)

vaxt.yuxu (0.5)

# MMA7455L ünvanı, 0x1D (16)

# 0x00 (00), 6 baytdan məlumatları oxuyun # X-Axis LSB, X-Axis MSB, Y-Axis LSB, Y-Axis MSB, Z-Axis LSB, Z-Axis MSB data = bus.read_i2c_block_data (0x1D, 0x00, 6)

# Məlumatı 10 bitə çevirin

xAccl = (data [1] & 0x03) * 256 + data [0] əgər xAccl> 511: xAccl -= 1024 yAccl = (data [3] & 0x03) * 256 + data [2] əgər yAccl> 511: yAccl - = 1024 zAccl = (data [5] & 0x03) * 256 + data [4] əgər zAccl> 511: zAccl -= 1024

# 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 parametrlərin hər birini göstərəcək. Hər şeyin asanlıqla işlədiyini təmin etməklə, hər gün bu gəzintidən istifadə edə və ya bu gəzintini daha görkəmli bir işin kiçik bir hissəsinə çevirə bilərsiniz. Ehtiyaclarınız nə olursa olsun, yığıncağınızda daha bir ziddiyyətiniz var.

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

Freescale Semiconductor tərəfindən istehsal olunan MMA7455, aşağı güclü yüksək performanslı 3 oxlu rəqəmsal akselerometr Sensor Məlumat Dəyişiklikləri, Məhsulun İstiqamətləndirilməsi və Jest Algılaması üçün istifadə edilə bilər. Cib Telefonu/PMP/PDA: İstiqamət Algılama (Portret/Landşaft), Şəkil Sabitliyi, Mətn Kaydırması, Hərəkətlə Dialoq, Səssizə Toxun, Laptop PC: Oğurluq əleyhinə, Oyun: Hərəkət Algılama, Avtomatik Oyan/kimi tətbiqlər üçün idealdır. Aşağı Güc İstehsalı və Rəqəmsal Kamera Üçün Yuxu: Görüntü Sabitliyi.

Addım 6: Nəticə

Əgər Raspberry Pi və I2C sensorlar kainatını kəşf etməyi düşünürsünüzsə, daha çox yaradıcı olmağa çalışarkən aparatın əsaslarını, kodlaşdırma, tənzimləmə, nüfuzlu və s. İstifadə edərək özünüzü şoka sala bilərsiniz. kiçik bir təşəbbüs, heç vaxt xarici mənbələrə keçməyə zərər vermir. Bu üsulda sadə ola biləcək bir neçə tapşırıq ola bilər, bəziləri sizi sınaya bilər, sizi hərəkətə keçirə bilər. 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 Yerin Yer Qravitasiya Sahəsini MMA7455 və Raspberry Pi ilə ölçmək üçün bir Qravimetr Prototipi düşüncəsindən başlaya bilərsiniz. Yuxarıdakı müəssisədə əsas hesablamalardan istifadə etdik. Dizaynın əsas prinsipi, Yerin cazibə qüvvəsi 1 g olan çox kiçik fraksiya dəyişikliklərini ölçməkdir. Beləliklə, bu sensordan düşünə biləcəyiniz müxtəlif yollarla istifadə edə bilərsiniz. Alqoritm, hər üç dik istiqamətdə şaquli cazibə vektorunun cazibə qradiyenti tensoruna səbəb olan dəyişmə sürətini ölçməkdir. Kiçik bir şaquli məsafə ilə ayrılan iki nöqtədə cazibə qüvvəsinin dəyərini fərqləndirməklə və bu məsafəyə bölməklə çıxarmaq olar. Bu prototipin quruluşa bağlı səs -küy və titrəmə təhlili üçün konfiqurasiya, kod və modelləşdirmə işlərini tez bir zamanda yerinə yetirməyə çalışacağıq. Hamınızın xoşuna gəldiyinə inanırıq!

Rahatlığınız üçün, YouTub -da müayinənizə kömək edə biləcək sehrli bir videomuz var. Bu səyin daha çox araşdırma aparacağına inanın. Fürsət döyülməzsə, bir qapı qurun.

Tövsiyə: