Mundarija:
- 1 -qadam: Biz talab qiladigan apparat
- 2 -qadam: uskunani ulash
- 3 -qadam: Raspberry Pi uchun Python kodlash
- 4 -qadam: Kodeksning amaliyligi
- 5 -qadam: Ilovalar va xususiyatlar
- 6 -qadam: Xulosa
Video: Python yordamida Raspberry Pi va MMA7455 yordamida tezlashuv turlarini kuzatish: 6 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Men qoqilmadim, tortish kuchini sinab ko'rdim. Hali ham ishlaydi…
Tezlashib borayotgan kosmik kemaning tasviri shuni ko'rsatdiki, tortishish vaqtining kengayishi tufayli, eng yuqori nuqtadagi soat tayanchga qaraganda tezroq bo'ladi. Ba'zilar, bortda tezlikni ko'tarish ikkala soatda ham bir xil bo'ladi, deb ta'kidlashdi, shuning uchun ular bir xil tezlikda harakat qilishlari kerak edi. Bir oz o'ylab ko'ring.
Fikrlar, motivatsiya va hatto yo'l-yo'riq har qanday joydan kelib chiqishi mumkin, lekin agar siz innovatsiyaga e'tibor qaratgan bo'lsangiz, u o'z fikrini shu joyga jamlagan odamlardan oladi. Raspberry Pi, bitta kompyuterli Linux shaxsiy kompyuterlari, yagona tashabbuslar va elektronika ishlab chiqarishni tashkil qilish, dasturlash va maslahatlar beradi. Raspberry Pi va qurilmalar bo'yicha qo'llanmalar ishlab chiqaruvchisi bo'lgandan so'ng, biz kompyuter fanlari va elektronika bilan dasturlash, o'ylash va hayratlanarli narsalarni yaratish imkoniyatidan foydalanamiz. Kechqurun biz akselerometr yordamida vazifani bajarishdan xursand bo'ldik va bu gadjet bilan nima qilish mumkinligi haqidagi fikrlar juda zo'r. Python yordamida Raspberry Pi yordamida 3 o'lchovli, X, Y va Z tezlikni o'lchash uchun 3 o'qli Raqamli akselerometr sensori MMA7455-ni o'z ichiga olamiz.
1 -qadam: Biz talab qiladigan apparat
Qaysi qismlarni olish kerakligini, qayerdan ajratish kerakligini va hamma narsaning narxi qancha bo'lishini bilmay turib, urinish va olib ketish qanchalik qiyinligini bilamiz. Shunday qilib, biz siz uchun hamma narsani qildik. Agar siz barcha qismlarni kvadratga aylantirsangiz, bu vazifani tezda bajarishingiz kerak bo'ladi. To'liq qismlar ro'yxatini olish uchun ketgandan keyin oling.
1. Raspberry Pi
Birinchi qadam Raspberry Pi taxtasini olish edi. Raspberry Pi - bu Linux asosidagi shaxsiy kompyuter. Bu kichkina kompyuterda elektronika mashqlari sifatida ishlatiladigan ro'yxatga olish kuchi va elektron jadvallar, so'zlarni qayta ishlash, veb -bemaqsad, elektron pochta va o'yinlar kabi kompyuter operatsiyalari mavjud. Siz har qanday elektronika yoki sevimli mashg'ulot do'konida sotib olishingiz mumkin.
2. Raspberry Pi uchun I2C qalqoni
Raspberry Pi aslida yo'q bo'lgan asosiy muammo - bu I2C porti. Buning uchun TOUTPI2 I2C ulagichi sizga Raspberry Pi -ni istalgan I2C qurilmasi bilan ishlatish ma'nosini beradi. U DCUBE do'konida mavjud
3. 3 o'qli akselerometr, MMA7455
Freescale Semiconductor, Inc. tomonidan ishlab chiqarilgan MMA7455 3 o'qli raqamli akselerometr past quvvatli, X, Y va Z o'qlari bo'ylab tezlikni o'lchash uchun mos keladigan kichik o'lchamli ishlov berilgan sensor. Biz bu sensorni DCUBE do'konidan oldik
4. Kabelni ulash
Biz I2C ulanish kabeliniDCUBE Store -dan sotib oldik
5. Micro USB kabeli
Eng kichik chalkashlik, lekin kuch -qudratga bo'lgan ehtiyoj - bu Raspberry Pi! Strategiyani boshqarishda eng ko'p talab qilinadigan va talab qilinmaydigan yondashuv Micro USB kabelidan foydalanishdir. Eng ilg'or va maxsus yo'l - bu GPIO yoki USB portlari orqali quvvat berish.
6. Tarmoqni qo'llab -quvvatlash
Ethernet (LAN) kabeli bilan bog'langan Raspberry Pi -ni oling va uni uy tarmog'iga ulang. Boshqa tomondan, Wi -Fi ulagichini qidiring va masofaviy tarmoqqa ulanish uchun USB portlaridan birini ishlating. Bu keskin, asosiy, kichik va sodda qaror!
7. HDMI kabeli/masofadan kirish
Raspberry Pi -ning HDMI porti mavjud, uni siz HDMI kabeli yordamida ekranga yoki televizorga ulashingiz mumkin. Tanlovli, siz Raspberry Pi -ni Linux kompyuteridan yoki Mac -dan terminaldan o'rnatish uchun SSH -dan foydalanishingiz mumkin. Xuddi shunday PuTTY bepul va ochiq manbali terminal emulyatori aqlli fikrga o'xshaydi.
2 -qadam: uskunani ulash
Sxemada ko'rsatilgandek, sxemani bajaring. Sxemada siz turli xil elektron komponentlarning ulanishlarini, ulash simlarini, quvvat kabellarini va I2C sensorini ko'rasiz.
Raspberry Pi va I2C qalqoni ulanishi
Eng muhimi, Raspberry Pi -ni oling va I2C qalqonini aniqlang. Qalqonni Pi GPIO pinlari ustiga yaxshilab bosing va biz bu jarayonni pirog kabi oson tugatamiz (rasmga qarang).
Raspberry Pi va sensor aloqasi
Sensorni oling va u bilan I2C kabelini ulang. Ushbu kabelning to'g'ri ishlashi uchun I2C chiqishi har doim I2C chiqishini ko'rib chiqing. GPIO pinlariga o'rnatilgan I2C qalqoni bo'lgan Raspberry Pi uchun ham xuddi shunday qilish kerak.
Biz I2C kabelidan foydalanishni tavsiya etamiz, chunki u pinoutlarni kesish, mahkamlash va bezovtalikni eng kamsituvchi tartibsizliklar bilan bajarishni talab qilmaydi. Ushbu ulanish va o'ynash kabeli yordamida siz mos keladigan ilovaga qarama -qarshilik ko'rsatishingiz, almashtirishingiz yoki boshqa gadjetlarni qo'shishingiz mumkin. Bu ish og'irligini juda yuqori darajada qo'llab -quvvatlaydi.
Eslatma: Jigarrang sim bir qurilmaning chiqishi va boshqa qurilmaning kirishi orasidagi Ground (GND) ulanishidan keyin ishonchli tarzda olinishi kerak
Internetga kirish - bu kalit
Bizning harakatlarimiz g'alaba qozonishi uchun biz Raspberry Pi uchun Internetga ulanishni talab qilamiz. Buning uchun sizda Ethernet (LAN) uy tarmog'iga ulanish kabi alternativalar mavjud. Shu bilan bir qatorda, qoniqarli kurs - WiFi USB ulagichidan foydalanish. Umuman olganda, buni amalga oshirish uchun haydovchidan talab qilinadi. Shunday qilib, linux bilan Linux -ga o'ting.
Quvvatlantirish manbai
Micro USB kabelini Raspberry Pi quvvat manbaiga ulang. Yoping va biz tayyormiz.
Ekranga ulanish
HDMI kabelini boshqa monitor/televizorga ulashimiz mumkin. Ba'zan, siz Raspberry Pi -ga ekranga ulanmasdan kirishingiz kerak yoki undan boshqa joydan ma'lumotlarni ko'rishingiz kerak bo'ladi. Ehtimol, hamma narsani o'ylab topishning ijodiy va moliyaviy jihatdan aqlli usullari mavjud. Ulardan biri - SSH (buyruq satriga masofadan kirish) dan foydalanadi. Buning uchun PuTTY dasturidan ham foydalanishingiz mumkin.
3 -qadam: Raspberry Pi uchun Python kodlash
Bizning GithubRepository -da Raspberry Pi va MMA7455 sensori uchun Python kodini ko'rishingiz mumkin.
Kodni davom ettirishdan oldin, Readme yilnomasida keltirilgan standartlarni o'qishingizga kafolat bering va Raspberry Pi -ni u ko'rsatganidek o'rnating. Hozirgi sharoitni hisobga olsak, bu bir daqiqaga osonlashadi.
Akselerometr - bu elektromekanik gadjet bo'lib, u tezlashuv kuchlarini o'lchaydi. Bu kuchlar statik bo'lishi mumkin, xuddi doimiy tortishish kuchi oyog'ingizga o'xshaydi yoki akselerometrni harakatga keltirish yoki tebranish orqali o'zgarishi mumkin.
Bu python kodidir va siz kodni xohlagan tarzda klonlashingiz va o'zgartirishingiz mumkin.
# Ixtiyoriy litsenziya bilan tarqatilgan.# Istalgan usulda, xoh foyda, xoh tekin, agar u tegishli ish litsenziyalariga mos keladigan bo'lsa, foydalaning. # MMA7455L # Ushbu kod dcubestore.com saytida mavjud bo'lgan MMA7455L_I2CS I2C Mini moduli bilan ishlash uchun mo'ljallangan # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 %B2c-mini-modul/
smbus import qilish
import vaqti
# I2C avtobusini oling
avtobus = smbus. SMBus (1)
# MMA7455L manzili, 0x1D (16)
# Tanlash rejimini boshqarish registri, 0x16 (22) # 0x01 (01) O'lchov rejimi, +/- 8g bus.write_byte_data (0x1D, 0x16, 0x01)
vaqt uyqu (0,5)
# MMA7455L manzili, 0x1D (16)
# Ma'lumotlarni 0x00 (00), 6 baytdan o'qing # 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)
# Ma'lumotni 10 bitga aylantiring
xAccl = (ma'lumotlar [1] & 0x03) * 256 + ma'lumotlar [0] agar xAccl> 511 bo'lsa: xAccl -= 1024 yAccl = (ma'lumotlar [3] & 0x03) * 256 + ma'lumotlar [2] agar yAccl> 511: yAccl - = 1024 zAccl = (ma'lumotlar [5] va 0x03) * 256 + ma'lumotlar [4] agar zAccl> 511: zAccl -= 1024
# Ma'lumotlarni ekranga chiqarish
chop etish "X o'qida tezlashtirish: %d" %xAccl print "Y o'qida tezlashtirish: %d" %yAccl print "Z o'qida tezlashtirish: %d" %zAccl
4 -qadam: Kodeksning amaliyligi
Github -dan kodni yuklab oling (yoki git pull) va uni Raspberry Pi -da oching.
Kodni kompilyatsiya qilish va terminalga yuklash buyruqlarini bajaring va ekrandagi hosilni ko'ring. Bir necha daqiqadan so'ng, u har bir parametrni ko'rsatadi. Hamma narsaning oson ishlashini ta'minlaganingizdan so'ng, siz har kuni bu sayohatni ishlatishingiz yoki bu yurishni ancha muhim vazifaning bir qismiga aylantirishingiz mumkin. Sizning ehtiyojlaringiz nima bo'lishidan qat'i nazar, yig'ilishda sizda yana bir ziddiyat bor.
5 -qadam: Ilovalar va xususiyatlar
Sensorli ma'lumotlarni o'zgartirish, mahsulot yo'nalishi va imo-ishoralarni aniqlash uchun Freescale Semiconductor kompaniyasi tomonidan ishlab chiqarilgan MMA7455, past quvvatli yuqori quvvatli 3 o'qli raqamli akselerometrdan foydalanish mumkin. Bu uyali telefon/PMP/PDA: yo'nalishni aniqlash (portret/landshaft), tasvir barqarorligi, matnni aylantirish, harakatni terish, ovozini o'chirish, noutbuk: o'g'irlikka qarshi, o'yin: harakatni aniqlash, avtomatik uyg'onish/kabi ilovalar uchun juda mos keladi. Kam quvvat iste'moli va raqamli harakatsiz kamera uchun uyqu: tasvir barqarorligi.
6 -qadam: Xulosa
Agar siz Raspberry Pi va I2C datchiklari olamini kashf qilishni o'ylayotgan bo'lsangiz, o'zingizni ijodiy bo'lishga harakat qilayotganingizda apparat asoslari, kodlash, tartibga solish, obro'li va hokazolardan foydalanib o'zingizni hayratda qoldirishingiz mumkin. kichik shovqin, u hech qachon tashqi manbalarga o'tishni buzmaydi. Bu usulda bir nechta oddiy vazifalar bo'lishi mumkin, ba'zilari sizni sinab ko'rishlari mumkin. Qanday bo'lmasin, siz o'zingizning shaklingizni o'zgartirib, yo'l qo'yib, uni beg'ubor qilishingiz mumkin.
Masalan, siz Gravimetr prototipi haqidagi fikrni Python yordamida MMA7455 va Raspberry Pi yordamida Yerning mahalliy tortishish maydonini o'lchashdan boshlashingiz mumkin. Yuqoridagi korxonada biz asosiy hisoblardan foydalanganmiz. Dizaynning asosiy printsipi - Yerning tortishish kuchi 1 g bo'lgan juda kichik kasrli o'zgarishlarni o'lchash. Shunday qilib, siz ushbu sensordan har xil usulda foydalanishingiz mumkin. Algoritm gravitatsiya tensorini keltirib chiqaradigan vertikal tortish vektorining har uch perpendikulyar yo'nalishdagi o'zgarish tezligini o'lchashdan iborat. Buni tortishish qiymatini kichik vertikal masofa bilan ajratilgan ikki nuqtada, l va bu masofaga bo'lish orqali farqlash mumkin. Biz shovqin va tebranishlarni tahlil qilish uchun konfiguratsiya, kod va modellashtirish ishlarini tezroq bajarishga harakat qilamiz. Ishonamizki, barchangizga yoqadi!
Sizni tasalli berish uchun bizda YouTub -da sizni tekshirishga yordam beradigan sehrli video bor. Ishoning, bu harakat keyingi tergovga yordam beradi. Agar imkoniyat taqillatmasa, eshik yarating.
Tavsiya:
MPU-6000 va zarracha foton yordamida harakatni kuzatish: 4 qadam
MPU-6000 va zarracha foton yordamida harakatni kuzatish: MPU-6000-bu 6 o'qli harakatni kuzatish sensori, unga 3 o'qli akselerometr va 3 o'qli giroskop o'rnatilgan. Bu sensor ob'ektning 3 o'lchovli tekislikdagi aniq joylashuvi va joylashuvini samarali kuzatishga qodir. Uni ishga olish mumkin
MCP9808 va Raspberry Pi yordamida haroratni kuzatish: 4 qadam
MCP9808 va Raspberry Pi yordamida haroratni kuzatish: MCP9808 - yuqori aniqlikdagi raqamli harorat sensori ± 0,5 ° C I2C mini moduli. Ular haroratni sezish dasturlarini osonlashtiradigan, foydalanuvchi tomonidan dasturlashtiriladigan registrlar bilan birlashtirilgan. MCP9808 yuqori aniqlikdagi harorat sensori sanoatga aylandi
MPU-6000 va Raspberry Pi yordamida harakatni kuzatish: 4 qadam
MPU-6000 va Raspberry Pi yordamida harakatni kuzatish: MPU-6000-bu 6 o'qli harakatni kuzatish sensori, unga 3 o'qli akselerometr va 3 o'qli giroskop o'rnatilgan. Bu sensor ob'ektning 3 o'lchovli tekislikdagi aniq joylashuvi va joylashuvini samarali kuzatishga qodir. Uni ishga olish mumkin
Raspberry Pi Zero yordamida IP -kamera (Uyni kuzatish 1 -qism): 5 qadam
IP-kamera Raspberry Pi nolini ishlatadi (Uyni kuzatish 1-qism): Bu yangi mini-seriyadagi birinchi post, biz asosan Raspberry Pis yordamida uyni kuzatish tizimini quramiz. Ushbu xabarda biz Raspberry PI nolini ishlatamiz va RTSP orqali video uzatadigan IP -kamerani yaratamiz. Chiqish videosi ancha yuqori q
Python yordamida Raspberry Pi va AIS328DQTR yordamida tezlashtirishni kuzatish: 6 qadam
Python yordamida Raspberry Pi va AIS328DQTR yordamida tezlashtirishni kuzatish: Menimcha, tezlanish- bu fizikaning ba'zi qonunlariga muvofiq.- Terri Rayli Gepard quvishda tezlikni tez o'zgarishini va tez o'zgarishini qo'llaydi. Eng tez qirg'oqqa chiqadigan jonivor, o'ljani tutish uchun tezligidan foydalanadi.