Агуулгын хүснэгт:

Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах: 6 алхам
Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах: 6 алхам

Видео: Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах: 6 алхам

Видео: Python ашиглан Raspberry Pi болон AIS328DQTR ашиглан хурдатгалыг хянах: 6 алхам
Видео: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Арванхоёрдугаар сар
Anonim
Image
Image

Физикийн зарим хуулийн дагуу хурдатгал хязгаарлагдмал гэж би бодож байна.- Терри Райли

Гепар нь хөөцөлдөхдөө гайхалтай хурдатгал, хурдыг хурдан өөрчилдөг. Далайн эрэг дээрх хамгийн хурдан амьтан хааяадаа олзоо барихын тулд дээд хурдыг ашигладаг. Амьтад энэхүү амжилтаа 100 метрийн гүйлтийн үеэр Усэйн Болтынхоос бараг 5 дахин их хүч хэрэглэснээр хурдасгадаг.

Өнөө үед хувь хүмүүс өөрсдийн оршихуйг шинэчлэлгүйгээр төсөөлж чадахгүй. Бидний эргэн тойронд өөр өөр шинэлэг зүйлүүд нь хүмүүсийг илүү үрэлгэн байдлаар үргэлжлүүлэн амьдрахад нь тусалдаг. Raspberry Pi, мини, нэг самбар бүхий Линукс компьютер нь IoT, Ухаалаг хотууд, Сургуулийн боловсрол гэх мэт электроникийн хүчин чармайлт, дэвшилтэт дэвшилд хямд, нэр хүндтэй суурийг өгдөг. Компьютер, багаж хэрэгслийн фенүүдийн хувьд бид Raspberry Pi -тай нэлээд арга хэмжээ авч, ашиг сонирхлоо холихоор шийдсэн. Хэрэв бид ойролцоо Raspberry Pi болон 3 тэнхлэгтэй хурдасгууртай бол бидний хийж чадах үр дүн юу вэ? Энэ даалгаварт бид A, 328DQTR дижитал 3 тэнхлэгтэй MEMS шугаман акселерометр мэдрэгчийг ашиглан X, Y, Z гэсэн 3 чиглэлд хурдатгалыг хэмжихийн тулд Raspberry Pi-ийг Python ашиглан ашиглах болно. Үүнийг анхаарч үзэх нь зүйтэй юм.

Алхам 1: Бидэнд хэрэгтэй тоног төхөөрөмж

Бидний шаарддаг техник хангамж
Бидний шаарддаг техник хангамж
Бидний шаарддаг техник хангамж
Бидний шаарддаг техник хангамж

Ажлын хажуугаар асар их хэмжээний зүйл хэвтэж байгаа тул бидний хувьд асуудал бага байсан. Ямар ч тохиолдолд зөв хэсгийг нь хүчтэй газраас нь салгаж өгөх нь бусдад ямар хэцүү байдгийг бид мэддэг бөгөөд энэ нь пенни бүрт багахан анхаарал хандуулдаг. Тиймээс бид танд туслах болно.

1. Raspberry Pi

Эхний алхам бол Raspberry Pi самбар авах явдал байв. Raspberry Pi бол Линукс дээр суурилсан ганц бие самбар юм. Энэхүү бяцхан компьютер нь электроникийн дасгал хийх, хүснэгт, текст боловсруулах, вэб серфинг, имэйл, тоглоом гэх мэт компьютерийн үйл ажиллагаанд ашигладаг бүртгэлийн чадварт ихээхэн түлхэц өгдөг. Та ямар ч цахилгаан бараа, хоббитой дэлгүүрээс худалдаж авч болно.

2. Raspberry Pi -д зориулсан I2C бамбай

Raspberry Pi -ийн үндсэн асуудал бол I2C порт юм. Үүний тулд TOUTPI2 I2C холбогч нь Raspberry Pi -г ямар ч I2C төхөөрөмжтэй ашиглах боломжийг танд олгоно. Үүнийг DCUBE Store дээрээс авах боломжтой

3. 3 тэнхлэгтэй хурдасгуур, AIS328DQTR

STMicroelectronics хөдөлгөөн мэдрэгчд хамаарах AIS328DQTR нь дижитал цуваа интерфэйстэй SPI стандарт гаралттай хэт бага хүчин чадалтай өндөр хүчин чадалтай 3 тэнхлэгтэй шугаман хурдатгал хэмжигч юм. Бид энэ мэдрэгчийг DCUBE дэлгүүрээс худалдаж авсан

4. Холбох кабель

Бид DCUBE дэлгүүрээс I2C холболтын кабелийг худалдаж авсан

5. Микро USB кабель

Хамгийн даруухан төөрөлдсөн боловч хамгийн их хүч шаардагдах зүйл бол Raspberry Pi юм! Тоглоомын төлөвлөгөөг шийдвэрлэх хамгийн хялбар арга бол Micro USB кабелийг ашиглах явдал юм. GPIO тээглүүр эсвэл USB портуудыг мөн адил хангалттай хэмжээний цахилгаан хангамжаар хангах боломжтой.

6. Вэб рүү нэвтрэх нь хэрэгцээ юм

Ethernet (LAN) кабелиар холбогдсон Raspberry Pi -ээ аваад сүлжээндээ холбоно уу. Нөгөө талаас, WiFi холбогчийг хайж, USB портуудын аль нэгийг ашиглан алсын сүлжээнд очно уу. Энэ бол үндсэн, жижиг, энгийн шийдвэр юм!

7. HDMI кабель/алсын хандалт

Raspberry Pi нь HDMI порттой бөгөөд та үүнийг HDMI кабелиар монитор эсвэл телевизортой холбож болно. Сонголтын хувьд та SSH -ийг ашиглан Raspberry Pi -г Linux компьютер эсвэл Macintosh -ээс терминал дээрээс авах боломжтой. Түүнчлэн, үнэгүй, нээлттэй эх үүсвэр бүхий терминал эмулятор PuTTY нь тийм ч муу сонголт биш юм шиг санагддаг.

Алхам 2: Тоног төхөөрөмжийг холбох

Тоног төхөөрөмжийг холбох
Тоног төхөөрөмжийг холбох
Тоног төхөөрөмжийг холбох
Тоног төхөөрөмжийг холбох
Тоног төхөөрөмжийг холбох
Тоног төхөөрөмжийг холбох

Схемд үзүүлсэн шиг хэлхээг хий. График дээр та янз бүрийн эд анги, тэжээлийн хэсгүүд, I2C мэдрэгчийг харах болно.

Raspberry Pi ба I2C бамбай холболт

Хамгийн гол нь Raspberry Pi -ийг аваад I2C Shield -ийг олоорой. Pi -ийн GPIO тээглүүр дээр Shield -ийг анхааралтай дарахад бид энэ алхамыг бялуу шиг энгийн байдлаар хийж чадна (товчлуурыг үзнэ үү).

Raspberry Pi ба мэдрэгчийн холболт

Мэдрэгч ба I2C кабелийг түүнтэй хамт аваарай. Энэхүү кабелийг зохих ёсоор ашиглахын тулд I2C гаралтыг үргэлж I2C оролттой хамт авч үзнэ үү. GPIO зүү дээр суурилуулсан I2C бамбай бүхий Raspberry Pi -ийн дараа мөн адил зүйлийг хийх ёстой.

I2C кабель ашиглахыг зөвлөж байна. Энэхүү мэдэгдэхүйц холбоо, тоглох кабелийн тусламжтайгаар та тохирох аппликейшн дээр танилцуулах, солих эсвэл илүү олон хэрэгсэл нэмж оруулах боломжтой. Энэ нь ажлын жинг асар өндөр түвшинд хүртэл дэмждэг.

Тэмдэглэл: Хүрэн утас нь нэг төхөөрөмжийн гаралт ба өөр төхөөрөмжийн оролтын хоорондох Ground (GND) холболтыг найдвартай дагаж мөрдөх ёстой

Вэб сүлжээ бол түлхүүр юм

Бидний оролдлогыг ялахын тулд бид Raspberry Pi -ийнхээ вэб холболтыг шаарддаг. Үүний тулд танд гэрийн сүлжээнд Ethernet (LAN) холболт хийх гэх мэт сонголтууд байна. Нэмж дурдахад хамгийн тохиромжтой сонголт бол WiFi USB холбогч ашиглах явдал юм. Ерөнхийдөө үүнийг хийхийн тулд жолооч үүнийг ажиллуулахыг шаарддаг. Дүрслэлд Линукс байгаа хүн рүү ханд.

Цахилгаан хангамж

Микро USB кабелийг Raspberry Pi -ийн цахилгаан залгуурт залгаарай. Цохилт хий, бид бэлэн боллоо.

Дэлгэц рүү холбогдох

Бид HDMI кабелийг өөр монитортой холбож болно. Заримдаа, та Raspberry Pi -ийг дэлгэцтэй холбохгүйгээр авах хэрэгтэй эсвэл өөр газраас мэдээллийг үзэх шаардлагатай болдог. Боломжтой бүх зүйлийг хийх бүтээлч, санхүүгийн хувьд ухаалаг арга замууд байж магадгүй юм. Тэдний нэг нь - SSH (алсын тушаалын мөрөөр нэвтрэх) ашиглаж байна. Үүний тулд та PuTTY програм хангамжийг ашиглаж болно.

Алхам 3: Raspberry Pi -д зориулсан Python кодчилол

Raspberry Pi -д зориулсан Python кодчилол
Raspberry Pi -д зориулсан Python кодчилол

Та Raspberry Pi болон AIS328DQTR мэдрэгчийн Python кодыг манай Github репозитороос үзэх боломжтой.

Код руу орохын өмнө Readme архивт заасан дүрмийг уншиж, үүний дагуу Raspberry Pi -ээ тохируулаарай. Бүхий л бодсон бүх зүйлээ хийхийн тулд хэсэг зуур л амрах болно.

Акселерометр бол хурдатгалын хүчийг хэмжих цахилгаан механик төхөөрөмж юм. Эдгээр хүч нь хөдөлгөөнгүй байж болох бөгөөд энэ нь таны хөл рүү таталцлын тогтмол хүчийг татдагтай адил юмуу өөр өөр байж болно.

Энэ бол питон код бөгөөд та кодыг хүссэн чиглэлээрээ хуулбарлаж, өөрчилж болно.

# Чөлөөт зөвшөөрлийн лицензээр тараагдсан.# Холбогдох ажлын лицензтэй нийцэж байгаа тохиолдолд ашиг, үнэгүй ашиглах боломжтой. # AIS328DQTR # Энэ код нь dcubestore.com дээрээс авах боломжтой AIS328DQTR_I2CS I2C Mini модультай ажиллахад зориулагдсан болно # https://dcubestore.com/product/ais328dqtr-high-performance-ultra-low-power-3-axis-accelerometer- -автомашины хэрэглээний дижитал гаралт-i%C2%B2c-мини модуль/

smbus импортлох

импортлох хугацаа

# I2C автобус авах

автобус = smbus. SMBus (1)

# AIS328DQTR хаяг, 0x18 (24)

# Хяналтын бүртгэлийг сонгоно уу1, 0x20 (32) # 0x27 (39) Цахилгаан асаах горим, Мэдээллийн хурдыг сонгох = 50Гц # X, Y, Z тэнхлэгийг идэвхжүүлсэн автобус. # Хяналтын бүртгэлийг сонгох4, 0x23 (35) # 0x30 (48) Тасралтгүй шинэчлэх, Бүрэн хэмжээний сонголт = +/- 8G bus.write_byte_data (0x18, 0x23, 0x30)

цаг унтах (0.5)

# AIS328DQTR хаяг, 0x18 (24)

# 0x28 (40) өгөгдлийг буцааж унших, 2 байт # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Өгөгдлийг хөрвүүлэх

xAccl = өгөгдөл1 * 256 + өгөгдөл0 бол xAccl> 32767: xAccl -= 65536

# AIS328DQTR хаяг, 0x18 (24)

# 0x2A (42) өгөгдлийг буцааж унших, 2 байт # Y-Axis LSB, Y-Axis MSB data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Өгөгдлийг хөрвүүлэх

yAccl = өгөгдөл1 * 256 + өгөгдөл0 бол yAccl> 32767: yAccl -= 65536

# AIS328DQTR хаяг, 0x18 (24)

# 0x2C (44) өгөгдлийг буцааж унших, 2 байт # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Өгөгдлийг хөрвүүлэх

zAccl = өгөгдөл1 * 256 + өгөгдөл0 бол zAccl> 32767: zAccl -= 65536

# Дэлгэц рүү өгөгдөл гаргана

хэвлэх "X тэнхлэг дэх хурдатгал: %d" %xAccl хэвлэх "Y тэнхлэг дэх хурдатгал: %d" %yAccl хэвлэх "Z тэнхлэгийн хурдатгал: %d" %zAccl

Алхам 4: Дүрмийн практик байдал

Дүрмийн практик байдал
Дүрмийн практик байдал

Github -аас кодыг татаж аваад (эсвэл git pull) аваад Raspberry Pi дээр нээнэ үү.

Терминал дахь кодыг хөрвүүлэх, байршуулах командыг ажиллуулаад дэлгэц дээрх өгөөжийг харна уу. Хэдэн минутын дараа бүх параметрүүдийг харуулах болно. Бүх зүйл хүчин чармайлтгүйгээр ажилладаг гэдгийг баталгаажуулсны дараа та энэ бизнесийг өдөр бүр ашиглаж болно, эсвэл энэ ажлыг илүү том даалгаврын багахан хэсэг болгож чадна. Таны хэрэгцээ шаардлагаас үл хамааран таны хуримтлалд дахиад нэг зөрчил бий.

Алхам 5: Програм ба онцлог

STMicroelectronics-ийн үйлдвэрлэсэн, хэт авсаархан бага хүчин чадалтай, өндөр хүчин чадалтай, 3 тэнхлэг бүхий хөдөлгөөнт мэдрэгчт хамаарах шугаман акселерометр. AIS328DQTR нь телематик ба хар хайрцаг, машины жолоодлого, хазайлт / хазайлтыг хэмжих, хулгайтай тэмцэх төхөөрөмж, ухаалаг хэмнэлт, нөлөөллийг таних, бүртгэх, чичиргээний хяналт, нөхөн олговор, хөдөлгөөн идэвхжүүлсэн функц зэрэг програмуудад тохиромжтой.

Алхам 6: Дүгнэлт

Хэрэв та Raspberry Pi болон I2C мэдрэгчийн орчлон ертөнцийг судлахаар төлөвлөж байсан бол техник хангамжийн үндэс, кодчилол, зохицуулалт, эрх мэдэл гэх мэтийг ашиглан өөрийгөө цочирдуулж чадна. Энэ аргын хувьд хэд хэдэн ажил байж болно. шулуухан байж болох ч зарим нь таныг туршиж үзээд таныг хөдөлгөж магадгүй. Ямар ч тохиолдолд та өөрийн хэлбэрийг өөрчилж, бий болгосноор үүнийг төгс төгөлдөр болгож чадна.

Жишээлбэл, та Python ашиглан AIS328DQTR болон Raspberry Pi ашиглан амьтдын бие махбодийн хөдөлгөөн, биеийн байдлыг ажиглаж, дүрслэхийн тулд зан төлөвийг хянах прототипийн тухай бодож эхэлж болно. Дээрх даалгаварт бид акселерометрийн үндсэн тооцооллыг ашигласан болно. Энэхүү протокол нь аливаа гирометр, GPS -ийн хамт акселерометрийн систем, амьтдын зан авирыг автоматаар таних хяналттай (машин) сургалтын алгоритм (дэмжлэгийн вектор машин (SVM)) үүсгэх явдал юм. Үүний дараа мэдрэгчийн зэрэгцээ хэмжилтийг цуглуулж, дэмжлэгийн вектор машин (SVM) ангиллыг ашиглан хэмжилтийг үнэлнэ. Прототипийн бат бөх чанарыг тодорхойлохын тулд бие даан хэмжих янз бүрийн хослолыг (суух, алхах эсвэл гүйх) ашиглан сургалт, баталгаажуулалт хийх. Бид энэхүү загвар загварыг илүү удалгүй ажлын дүрд оруулахыг хичээх болно, тохиргоо, код, загварчлал нь илүү олон зан үйлийн горимд ажилладаг. Та бүхэнд таалагдсан гэдэгт бид итгэж байна!

Таны тав тухыг хангах үүднээс танд үзлэг хийхэд тань туслах YouTube дээр дур булаам видео байна. Энэхүү хүчин чармайлтанд итгэх нь цаашдын эрэл хайгуулыг өдөөдөг. Байгаа газраасаа эхэл. Байгаа зүйлээ ашиглаарай. Чаддаг зүйлээ хий.

Зөвлөмж болгож буй: