Mündəricat:

Python istifadə edərək Raspberry Pi və LIS3DHTR, 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: 6 Addım
Python istifadə edərək Raspberry Pi və LIS3DHTR, 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: 6 Addım

Video: Python istifadə edərək Raspberry Pi və LIS3DHTR, 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: 6 Addım

Video: Python istifadə edərək Raspberry Pi və LIS3DHTR, 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: 6 Addım
Video: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Noyabr
Anonim
Image
Image
Ehtiyac duyduğumuz Əsas Təchizat
Ehtiyac duyduğumuz Əsas Təchizat

Gözəllik bizi əhatə edir, amma adətən bunu bilmək üçün bir bağda gəzmək lazımdır. - Rumi

Göründüyü kimi təhsilli bir qrup olaraq, enerjimizin böyük bir hissəsini kompüterlərimizdən və cib telefonlarımızdan əvvəl işə sərf edirik. Buna görə də, tez -tez rifahımızın ikinci dərəcəli bir salonda olmasına icazə veririk, heç vaxt idman zalı və ya fitness sinifinə getmək üçün ideal bir fürsət tapmır və bir qayda olaraq daha faydalı seçimlər üzərində fast food seçirik. Yüksəltmə xəbəri, ehtiyac duyduğunuz şeyin qeydiyyatla bağlı bir kömək olub-olmaması və ya irəliləyişinizi izləməkdir, bu günün yeniliklərindən istifadə edərək özünüzə kömək etmək üçün bir gadget istehsal edə bilərsiniz.

Texnologiya sürətlə inkişaf edir. Ardıcıl olaraq, dünyanı və ondan öyrənmə tərzimizi dəyişdirəcək yeni bir yenilikdən xəbər tuturuq. Kompüterlər, kodlaşdırma və robotlar ilə məşğul olanda və ya sadəcə lağ etməyi sevirsənsə, orada bir texnoloji xeyir var. Raspberry Pi, mikro, tək lövhəli Linux kompüteri, yenilikçi texnologiya ilə öyrənmə tərzinizi təkmilləşdirməklə yanaşı, dünyada təhsilin öyrənilməsini yaxşılaşdırmağın açarıdır. 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? Bunu necə tapaq! Bu işdə, Raspberry Pi və LIS3DHTR, 3 oxlu bir sürətölçəndən istifadə edərək, X, Y və Z 3 dik oxda sürətlənməni yoxlayacağıq. Beləliklə, bu səyahətdə 3 ölçülü sürətlənməni yoxlamaq və ya G-Force yoxlamaq üçün bir sistem yaratmaq üçün görməliyik.

Addım 1: Ehtiyac duyduğumuz Əsas Təchizat

Ehtiyac duyduğumuz Əsas Təchizat
Ehtiyac duyduğumuz Əsas Təchizat
Ehtiyac duyduğumuz Əsas Təchizat
Ehtiyac duyduğumuz Əsas Təchizat

İşləmək üçün çoxlu şeylər yatdığımız üçün məsələlər bizim üçün daha az idi. Hər halda, faydalı yerdən qüsursuz vaxtda doğru hissəni yığmağın başqalarının nə qədər çətin olduğunu bilirik və hər qəpiyə az əhəmiyyət verərək müdafiə olunur. Buna görə sizə kömək edərdik. Tam bir hissə siyahısı əldə etmək üçün müşayiət olunanları izləyin.

1. Moruq Pi

İlk addım bir Raspberry Pi lövhəsi əldə etmək idi. Raspberry Pi, tək əsaslı Linux əsaslı bir kompüterdir. Bu kiçik kompüter, gadget fəaliyyətinin bir hissəsi olaraq istifadə olunan hesablama gücündə və elektron tablolar, söz hazırlama, veb tarama və e -poçt və oyunlar kimi sadə əməliyyatlar aparır.

2. Raspberry Pi üçün I2C Shield

Raspberry Pi -nin həqiqətən yox olduğu əsas narahatlıq I²C portudur. Bunun üçün TOUTPI2 I²C konnektoru, hər hansı bir I²C cihazı ilə Rasp Pi istifadə etmək mənasını verir. DCUBE Mağazasında mövcuddur

3. 3 oxlu akselerometr, LIS3DHTR

LIS3DH, rəqəmsal I2C/SPI seriyalı interfeys standart çıxışı olan "nano" ailəsinə aid ultra aşağı güclü yüksək performanslı üç oxlu xətti sürətləndiricidir. Bu sensoru DCUBE Mağazasından aldıq

4. Bağlayıcı Kabel

I2C Connecting kabeliniDCUBE Store -dan əldə etdik

5. Mikro USB kabeli

Ən kiçik çaşqın, lakin gücə ehtiyac duyduğumuz qədər ən sərt Raspberry Pi -dir! Ən asan yol Micro USB kabelindən istifadə etməkdir.

6. Vebə giriş bir ehtiyacdır

İNTERNET uşaqları heç vaxt yatmaz

Ethernet (LAN) kabeli ilə əlaqəli Raspberry Pi -ni əldə edin və şəbəkə yönləndiricinizə qoşun. Seçimli, bir WiFi konnektoru axtarın və uzaq sistemə keçmək üçün USB portlarından birini istifadə edin. Sadə, kiçik və yararsız bir qərardır!

7. HDMI Kabeli/Uzaqdan Giriş

Raspberry Pi, xüsusi olaraq bir HDMI kabeli ilə bir ekrana və ya TV -yə qoşula biləcəyiniz bir HDMI portuna malikdir. Seçmə olaraq, Linux PC -dən və ya terminaldan Macintosh -dan Raspberry Pi ilə əlaqə yaratmaq üçün SSH -dən istifadə edə bilərsiniz. Eyni şəkildə, PuTTY, pulsuz və açıq mənbəli bir terminal emulatoru layiqli bir alternativ 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ı

Sxemə görə dövrə edin. Bir diaqram tərtib edin və konturdan sonra dəqiq götürün. Xəyal bilikdən daha vacibdir.

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

Hər şeydən əvvəl, Raspberry Pi götürün və üzərindəki I2C Shield -ə baxın. Qalxanı Pi -nin GPIO sancaqları üzərində incə bir şəkildə basın və biz bu irəliləyişimizi pasta kimi sadə bir şəkildə başa vurmuşuq (snapa baxın).

Sensor və Raspberry Pi -nin əlaqəsi

Sensoru və onunla birlikdə I2C Kabelini götürün. Bu Kabelin düzgün işləməsi üçün lütfən I2C Çıxışını hər zaman I2C Giriş ilə əlaqələndirin. Eyni şey, üzərinə GPIO pinləri quraşdırılmış I2C qalxanı olan Raspberry Pi üçün də edilməlidir.

I2C kabelinin istifadəsini təsdiqləyirik, çünki hətta ən kiçik vintlər nəticəsində yaranan pinouts, bərkitmə və narahatlıqları yoxlamaq zəruriliyini inkar edir. Bu əsas bağlama və oyun kabeli ilə, gadget'ları təsirli bir şəkildə təqdim edə, dəyişdirə və ya daha çox gadget əlavə edə bilərsiniz. Bu, iş çəkisini əhəmiyyətli dərəcədə asanlaşdırır.

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

Səyimizi qazanmaq üçün Raspberry Pi üçün İnternet assosiasiyasına ehtiyacımız var. Bunun üçün ev şəbəkəsi ilə bir Ethernet (LAN) kabelini birləşdirmək kimi seçimləriniz var. Əlavə olaraq, alternativ olaraq, uyğunlaşdırıcı bir kurs, WiFi USB konnektoru istifadə etməkdir. Bir qayda olaraq bunun işləməsi üçün bir sürücü tələb olunur. Təsvirdə 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 ekranla əlaqələndirə bilərik. Bəzi hallarda, bir ekrana keçmədən bir Raspberry Pi əldə etməlisiniz və ya bəzi məlumatları başqa bir yerdən görmək lazım ola bilər. Düşünmək olar ki, bunun üçün yenilikçi və maliyyə cəhətdən ağıllı yanaşmalar mövcuddur. Onlardan biri -SSH (uzaqdan əmr satırına giriş) istifadə etməkdir. Bunun üçün PUTTY proqramından da istifadə edə bilərsiniz. Bunlar qabaqcıl istifadəçilər üçündür. Buna görə detallar bura daxil edilmir.

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

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

Raspberry Pi və LIS3DHTR Sensorları üçün Python Kodunu GithubRepository -də əldə edə 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.

Müşayiət olunan python kodudur və kodu istədiyiniz şəkildə klonlaya və tənzimləyə 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. # LIS3DHTR # Bu kod, dcubestore.com saytında mövcud olan LIS3DHTR_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 %B2c-mini-modul/

smbus idxal edin

idxal vaxtı

# I2C avtobusu alın

avtobus = smbus. SMBus (1)

# LIS3DHTR ünvanı, 0x18 (24)

# Nəzarət reyestrini seçin1, 0x20 (32) # 0x27 (39) Güc AÇMA rejimi, Məlumat dərəcəsi seçimi = 10 Hz # X, Y, Z-Axis effektiv bus.write_byte_data (0x18, 0x20, 0x27) # LIS3DHTR ünvanı, 0x18 (24) # Nəzarət reyestrini seçin4, 0x23 (35) # 0x00 (00) Davamlı yeniləmə, Tam miqyaslı seçim = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

vaxt.yuxu (0.5)

# LIS3DHTR ü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

# LIS3DHTR ü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

# LIS3DHTR ü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: Kodun işləkliyi

Məcəllənin işləkliyi
Məcəllənin işləkliyi

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 hər bir parametr göstəriləcək. Hər şeyin zəhmət çəkmədiyinə zəmanət verdiyiniz üçün, bu cəsarətinizi daha diqqətəlayiq bir işə götürə bilərsiniz.

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

STMicroelectronics tərəfindən istehsal edilən LIS3DHTR, dinamik olaraq istifadəçi tərəfindən seçilə bilən ± 2g/± 4g/± 8g/± 16g tam tərəzilərə malikdir və 1Hz -dən 5kHz -ə qədər məlumat ötürmə sürətləri ilə sürətlənməni ölçmək qabiliyyətinə malikdir. LIS3DHTR, Motion aktivləşdirilmiş funksiyalar və Sərbəst Düşmə Algılama üçün uyğundur. Tilt Algılama Tətbiqlərində Cazibə Statik Sürətləndirməsini və əlavə olaraq Hərəkət və ya Şok səbəbiylə Dinamik Sürətləndirməni ölçür. Digər tətbiqlərə Tıklama/Cüt Tıklama Tanıma, Əl Cihazları üçün Ağıllı Enerji Qənaəti, Pedometr, Ekran İstiqamətləndirmə, Oyun və Virtual Reallıq Giriş Cihazları, Zərbə Tanıma və Qeydiyyat və Vibrasiya İzləmə və Kompensasiya daxildir.

Addım 6: Nəticə

Bu işin daha çox sınaqlara səbəb olacağına inanın. Bu I2C sensoru fövqəladə dərəcədə uyğunlaşa bilən, təvazökar və əlçatandır. Mükəmməl dərəcədə davamlı bir çərçivə olduğundan, bu vəzifəni genişləndirmək və hətta artırmaq üçün maraqlı yollar var.

Məsələn, LIS3DHTR və Raspberry Pi istifadə edərək Pedometr fikri ilə başlaya bilərsiniz. Yuxarıdakı vəzifədə əsas hesablamalardan istifadə etdik. Sürət, yürüş qərarını təhlil etmək üçün müvafiq parametr ola bilər. İrəli (yuvarlanan, X), yan (pitch, Y) və şaquli (yaw oxu, Z) olan bir şəxs üçün hərəkətin üç komponentini yoxlaya bilərsiniz. Hər 3 oxun tipik bir nümunəsi qeyd olunur. Ən azı 1 ox nisbi böyük dövri sürətləndirmə dəyərlərinə malik olacaq. Buna görə ən yüksək istiqamət və bir alqoritm vacibdir. Bu alqoritmin Parametrini (Rəqəmsal Süzgəc, Pik Algılama, Zaman Pəncərəsi və s.) Beləliklə, bu sensordan düşünə biləcəyiniz müxtəlif yollarla istifadə edə bilərsiniz. Hamınızın bəyənəcəyinə inanırıq! Bu pedometrin işlək bir tərzini daha gec deyil, konfiqurasiya, kod, gəzinti və qaçışı ayıran vasitələri hesablayan hissə və yandırılmış kalorilər etməyə çalışacağıq.

Rahatlığınız üçün YouTube -da imtahan verməyinizə kömək edə biləcək maraqlı bir videomuz var. Güvən bu təşəbbüsü daha da araşdırmağa sövq edir. Başa vurmağa davam edin! Ardını axtarmağı unutmayın, daha çox israrla gəlir.

Tövsiyə: