Mündəricat:
- Addım 1: Ehtiyac duyduğumuz Əsas Təchizat
- Addım 2: Avadanlıqların birləşdirilməsi
- Addım 3: Raspberry Pi üçün Python Kodlaması
- Addım 4: Məcəllənin Praktikliyi
- Addım 5: Tətbiqlər və Xüsusiyyətlər
- Addım 6: Nəticə
Video: Python istifadə edərək Raspberry Pi ilə 3 Eksenli Akselerometr, ADXL345: 6 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:45
Offroader -in uzanacağı nöqtəni yoxlaya biləcək bir cihaz haqqında düşünmək. Çevrilmə ehtimalı olduqda birinin düzəldilməsi xoş olmazmı? Aydındır ki, bəli. Dağlara və müəssisə səfərlərinə çıxmağı sevən insanlar üçün həqiqətən faydalı olardı.
Şübhəsiz ki, qabaqcıl fiqurlu qiymətləndirmənin əsl parlaq dövrü olan IoT qarşımızdadır. Gadget'lar və Proqramlaşdırma həvəskarları olaraq, inanırıq ki, Raspberry Pi, mikro Linux PC, ümumiyyətlə insanların yaradıcılıq qabiliyyətlərini müalicə etdi və özündə yenilikçi metodologiyalar yaratdı. Yaxınlıqda bir Raspberry Pi və 3 oxlu Accelerometrimiz varsa nə edə biləcəyimizi düşünə biləcəyiniz nəticələr nələrdir? Kəşf etməliyik! Bu işdə, Raspberry Pi və 3 oxlu akselerometr olan ADXL345 istifadə edərək X, Y və Z 3 oxda sürətlənməni hiss edəcəyik. Beləliklə, G-Force-un 3 ölçülü sürətlənməsini ölçmək üçün bir çərçivə hazırlamaq üçün bu ekskursiyada müşahidə etməliyik.
Addım 1: Ehtiyac duyduğumuz Əsas Təchizat
Məsələlər bizim üçün daha az idi, çünki işləmək üçün çoxlu şeylər yatırdıq. Buna baxmayaraq, uyğun bir yerdən doğru hissəni mükəmməl vaxtda yığmağın başqalarının nə qədər çətin olduğunu bilirik və bu, hər qəpikdən asılı olmayaraq haqlıdır. Buna görə də bütün bölgələrdə sizə kömək edərdik. Tam bir hissə siyahısı əldə etmək üçün aşağıdakıları oxuyun.
1. Moruq Pi
İlk addım bir Raspberry Pi lövhəsi əldə etmək idi. Bu kiçik, aşağı güclü kompüter, elektronika müəssisələri, Əşyalar İnterneti (IoT), Ağıllı Şəhərlər, Məktəb Təhsili üçün ucuz və ümumiyyətlə sadə bir baza təmin edir.
2. Raspberry Pi üçün I2C Shield
Raspberry Pi -nin həqiqətən itkin olduğu əsas şey I²C portudur. Bunun üçün TOUTPI2 I²C konnektoru, Rasp Pi -dən MULTIPLE I²C cihazları ilə istifadə etmək mənasını verir. DCUBE Mağazasında əldə edilə bilər
3. 3 oxlu akselerometr, ADXL345
Analog Cihazlar tərəfindən istehsal edilən ADXL345, ± 16g-ə qədər yüksək qətnamə 13 bit ölçmə ilə aşağı güclü 3 oxlu akselerometrdir. Bu sensoru DCUBE Mağazasından aldıq
4. Bağlayıcı Kabel
DCUBE Mağazasında əldə edilə bilən I2C birləşdirən kabelimiz var idi
5. Mikro USB kabeli
Ən kiçik çaşqınlıq, amma güc zəruriliyinə qədər ən sərt Raspberry Pi -dir! Raspberry Pi -ni işə salmağın ən asan yolu Micro USB kabelidir.
6. Vebə giriş bir ehtiyacdır
Vebə giriş yerli şəbəkə və internetlə əlaqəli bir Ethernet (LAN) kabeli vasitəsilə gücləndirilə bilər. Digər tərəfdən, konfiqurasiya tələb edəcək USB simsiz açar istifadə edərək simsiz şəbəkə ilə əlaqə qura bilərsiniz.
7. HDMI Kabeli/Uzaqdan Giriş
Gəmidə olan HDMI kabeli ilə onu rəqəmsal TV -yə və ya Monitora bağlaya bilərsiniz. Nağd pula ehtiyac var! Raspberry Pi, SSH və İnternetə giriş kimi fərqli strategiyalardan uzaqdan istifadə edilə bilər. PuTTYopen mənbə proqramından istifadə edə bilərsiniz.
Addım 2: Avadanlıqların birləşdirilməsi
Sxemə görə dövrə edin. Bir kontur tərtib edin və konfiqurasiyanı qəsdən edin.
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 yazırıq, çünki hətta ən kiçik səhvdən yaranan pinouts, lehimləmə və halsızlığı araşdırmaq tələbini rədd edir. Bu əsas tak ve çalıştır kabeliyle cihazları tanıya, dəyişdirə və ya bir tətbiqə daha çox cihaz əlavə edə bilərsiniz. Bu, işləri çətinləşdirir.
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
Müvəffəqiyyətimizi qazanmaq üçün Raspberry Pi üçün veb bağlantısı lazımdır. Bunun üçün Ethernet (LAN) kabelini ev sistemi ilə əlaqələndirmək kimi alternativləriniz var. Əlavə olaraq, bir seçim olaraq, köməkçi bir marşrut WiFi bağlayıcısından istifadə etməkdir. Bəzən bunun 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. Yandırın və getməyimiz yaxşıdır.
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. Bunlardan biri SSH (uzaqdan əmr satırına giriş) istifadə etməkdir. Bunun üçün PuTTY proqramından da istifadə edə bilərsiniz.
Addım 3: Raspberry Pi üçün Python Kodlaması
Raspberry Pi və ADXL345 Sensoru üçün Python Koduna Github Depozitimizdə daxil olmaq mümkündür.
Kodu keçmədən əvvəl, Readme sənədində verilən qaydaları oxuduğunuzdan və Raspberry Pi -ni buna uyğun olaraq qurduğunuzdan əmin olun. Bunu etmək üçün sadəcə bir dəqiqə dayanacaq.
Bir akselerometr, düzgün sürətlənməni ölçən bir cihazdır; düzgün sürətləndirmə koordinat sürətlənməsi ilə eyni deyil (sürət dəyişmə sürəti). Bir və çox oxlu akselerometr modelləri, vektor miqdarı olaraq, uyğun sürətlənmənin böyüklüyünü və istiqamətini müəyyən etmək üçün əlçatandır və oriyentasiya, sürətləndirmə, titrəmə, şok və müqavimətli bir mühitdə düşməni hiss etmək üçün istifadə edilə bilər.
Kod sizdən əvvəl aydındır və təsəvvür edə biləcəyiniz ən sadə quruluşdadır və heç bir probleminiz olmamalıdır.
# 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. # ADXL345 # Bu kod, dcubestore.com saytında mövcud olan ADXL345_I2CS I2C Mini Modulu ilə işləmək üçün hazırlanmışdır # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -modul/
smbus idxal edin
idxal vaxtı
# I2C avtobusu alın
avtobus = smbus. SMBus (1)
# ADXL345 ünvanı, 0x53 (83)
# Bant genişliyi dərəcəsi qeydini seçin, 0x2C (44) # 0x0A (10) Normal rejim, Çıxış məlumat sürəti = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 ünvanı, 0x53 (83) # Güc idarəetmə qeydini seçin, 0x2D (45) # 0x08 (08) Avtomatik Yuxu bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 ünvanı, 0x53 (83) # Məlumat formatı qeydini seçin, 0x31 (49) # 0x08 (08) Özünü yoxlama deaktivdir, 4 telli interfeys # Tam qətnamə, Aralıq = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
vaxt.yuxu (0.5)
# ADXL345 ünvanı, 0x53 (83)
# 0x32 (50), 2 baytdan məlumatları oxuyun # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Məlumatı 10 bitə çevirin
xAccl = ((data1 & 0x03) * 256) + data0 əgər xAccl> 511: xAccl -= 1024
# ADXL345 ünvanı, 0x53 (83)
# 0x34 (52), 2 baytdan məlumatları geri oxuyun # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Məlumatı 10 bitə çevirin
yAccl = ((data1 & 0x03) * 256) + data0 yAccl> 511 olduqda: yAccl -= 1024
# ADXL345 ünvanı, 0x53 (83)
# 0x36 (54), 2 baytdan məlumatları geri oxuyun # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Məlumatı 10 bitə çevirin
zAccl = ((data1 & 0x03) * 256) + data0 zAccl> 511 olduqda: 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
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 işlədin və Monitorda çıxışı 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əməsini təmin etdikdən sonra, bu işi daha böyük bir işə götürə bilərsiniz.
Addım 5: Tətbiqlər və Xüsusiyyətlər
ADXL345, kiçik, nazik, ultralow gücü, ± 16 q-a qədər yüksək qətnamə (13-bit) ölçüsü olan 3 oxlu akselerometrdir. ADXL345 Cib Telefonu Tətbiqləri üçü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ə Əllər, Tibbi cihaz, Oyun və İşarə Cihazları, Sənaye Alətləri, Fərdi Naviqasiya Cihazları və Sərt Disk Sürücüsü (HDD) qorunması daxildir.
Addım 6: Nəticə
Ümid edirik ki, bu tapşırıq daha çox sınaqlara səbəb olacaq. Bu I2C sensoru qeyri -adi dərəcədə çevik, ucuz və əlçatandır. Çox böyük ölçüdə qalıcı olmayan bir sistem olduğundan, bu vəzifəni genişləndirmək və hətta yaxşılaşdırmaq üçün maraqlı yollar var.
Məsələn, ADXL345 və Raspberry Pi istifadə edərək bir İnklinometr fikri ilə başlaya bilərsiniz. Yuxarıdakı layihədə əsas hesablamalardan istifadə etdik. Bir cismin cazibə qüvvəsinə görə G dəyərləri, meyl açıları (və ya əyilmələri), yüksəlişi və ya çökəkliyi üçün kodu doğaçlama edə bilərsiniz. Sonra dönmə bucaqları (öndən arxaya ox, X), meydança (yan-yana ox, Y) və yaw (şaquli ox, Z) kimi qabaqcıl seçimləri yoxlaya bilərsiniz. Bu sürətölçən 3-D G-Qüvvələri göstərir. Beləliklə, bu sensordan düşünə biləcəyiniz müxtəlif yollarla istifadə edə bilərsiniz.
Rahatlığınız üçün YouTube -da araşdırmanıza kömək edə biləcək maraqlı bir video təlimat təlimimiz var. Güvən bu təşəbbüsü daha da araşdırmağa sövq edir. Düşünməyə davam edin! Ardıcıl olmağı unutmayın, çünki daha çox şey gələcək.
Tövsiyə:
Raspberry Pi - ADXL345 3 Eksenli Akselerometr Python Dərsliyi: 4 Addım
Raspberry Pi-ADXL345 3 Eksenli Akselerometr Python Dərsliyi: ADXL345, kiçik, nazik, ultralow gücə malik, 3 oxlu, yüksək qətnamə (13-bit) ölçmə qabiliyyəti olan ± 16 qr. Rəqəmsal çıxış məlumatları 16 bitlik ikili tamamlayıcı olaraq formatlanır və I2 C rəqəmsal interfeysi ilə əldə edilə bilər. Ölçür
Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: 4 addım
Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Python Dərsliyi: MMA8452Q, 12 bit qətnamə ilə ağıllı, aşağı güclü, üç oxlu, tutumlu, mikromaşinli sürətləndiricidir. İstifadəçi tərəfindən proqramlaşdırıla bilən seçimlər, iki fasilə ilə konfiqurasiya oluna bilən akselerometrdə quraşdırılmış funksiyaların köməyi ilə təmin edilir
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 ilə 3 Eksenli Akselerometr ilə Hərəkət Nəzarəti: Gözəllik bizi əhatə edir, amma adətən bunu bilmək üçün bir bağda gəzmək lazımdır. 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 sağlamlığımıza icazə veririk
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əndirməni izləyin: Sürətləndirmə sonsuzdur, düşünürəm ki, Fizikanın bəzi qanunlarına görə. Sahilə çıxan ən sürətli məxluq, bir anda ən yüksək sürətindən istifadə edərək ovunu tutur
Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Java Dərsliyi: 4 addım
Raspberry Pi MMA8452Q 3 Eksenli 12 bit/8 bitlik Rəqəmsal Akselerometr Java Dərsliyi: MMA8452Q, 12 bit qətnamə ilə ağıllı, aşağı güclü, üç oxlu, tutumlu, mikromaşinli sürətləndiricidir. İstifadəçi tərəfindən proqramlaşdırıla bilən seçimlər, iki fasilə ilə konfiqurasiya oluna bilən akselerometrdə quraşdırılmış funksiyaların köməyi ilə təmin edilir