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

Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345: 6 алхам
Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345: 6 алхам

Видео: Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345: 6 алхам

Видео: Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345: 6 алхам
Видео: Как превратить Raspberry Pi Pico в ПЛК | Беремиз4Пико 2024, Арваннэгдүгээр
Anonim
Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345
Python ашиглан Raspberry Pi бүхий 3 тэнхлэгт хурдасгуур хэмжигч, ADXL345

Таны Offroader -ийн зүг рүү хазайсан цэгийг шалгаж болох гаджетын талаар бодож үзээрэй. Хажуугаар нь унах магадлалтай үед хэн нэгнийг тохируулах нь тааламжтай биш гэж үү? Мэдээж тийм. Энэ нь ууланд явах, бизнес аялал хийх дуртай хүмүүст үнэхээр хэрэгтэй болно.

Мэдээжийн хэрэг, IoT дэвшилтэт тоон үнэлгээний үнэхээр гайхалтай үе бидний өмнө байна. Гаджет, програмчлалын дурлагчдын хувьд бичил линукс компьютер болох Raspberry Pi нь хүмүүсийн бүтээлч чадварыг ерөнхийд нь авч үзэж, шинэлэг аргачлалыг авчирсан гэж бид үзэж байна. Raspberry Pi, 3 тэнхлэгтэй хурдасгууртай ойролцоо байвал бид юу хийж чадах вэ? Бид олж мэдэх ёстой! Энэ даалгаварт бид Raspberry Pi болон ADXL345 гэсэн 3 тэнхлэгтэй хурдасгуур ашиглан X, Y, Z гэсэн 3 тэнхлэгт хурдатгалыг мэдрэх болно. Тиймээс бид энэхүү аяллын үеэр гурван хэмжээст хурдатгал буюу G-Force-ийг хэмжих хүрээг бий болгохын тулд ажиглах ёстой.

Алхам 1: Бидний шаарддаг үндсэн техник хангамж

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

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

1. Raspberry Pi

Эхний алхам бол Raspberry Pi самбар авах явдал байв. Энэхүү жижигхэн, бага хүчин чадалтай компьютер нь цахилгаан бараа, Интернетийн зүйлс (IoT), Ухаалаг хотууд, Сургуулийн боловсролын хямд, ерөнхийдөө энгийн суурийг бий болгодог.

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

Raspberry Pi -д үнэхээр дутагдаж байгаа гол зүйл бол I²C порт юм. Үүний тулд TOUTPI2 I²C холбогч нь Rasp Pi -ийг MULTIPLE I²C төхөөрөмжөөр ашиглах боломжийг танд олгоно. Үүнийг DCUBE дэлгүүрт ашиглах боломжтой

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

Аналог төхөөрөмжөөр үйлдвэрлэсэн ADXL345 нь бага хүчин чадалтай 3 тэнхлэг бүхий хурд хэмжигч бөгөөд өндөр нарийвчлалтай 13 битийн хэмжээсийг ± 16г хүртэл хэмждэг. Бид энэ мэдрэгчийг DCUBE дэлгүүрээс худалдаж авсан

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

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

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

Бага зэрэг эргэлзээтэй боловч хүч чадлын хувьд хамгийн хатуу зүйл бол Raspberry Pi юм! Raspberry Pi -ийг асаах хамгийн хялбар арга бол Micro USB кабель юм.

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

Вэб хандалтыг дотоод сүлжээ болон вэбтэй холбогдсон Ethernet (LAN) кабелиар дамжуулан хүчирхэгжүүлэх боломжтой. Нөгөө талаар та USB утасгүй гогцоо ашиглан утасгүй сүлжээнд холбогдох боломжтой бөгөөд энэ нь тохиргоо хийх шаардлагатай болно.

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

HDMI кабелийг самбар дээр байрлуулснаар та үүнийг дижитал телевизор эсвэл монитор руу холбох боломжтой. Мөнгө хэмнэх шаардлагатай байна! Raspberry Pi-ийг SSH, Интернетэд нэвтрэх гэх мэт өвөрмөц стратегиудыг алсаас олж авах боломжтой. Та PuTTYopen эх програм хангамжийг ашиглаж болно.

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

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

Схемийн дагуу схемийг хий. Тойм зурж, тохиргоог санаатайгаар хий.

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

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

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

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

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

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

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

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

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

Микро USB кабелийг Raspberry Pi -ийн цахилгаан залгуурт залгаарай. Үүнийг асаагаад бид явахад таатай байна.

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

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

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

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

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

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

Акселерометр бол зохих хурдатгалыг хэмжих төхөөрөмж юм; зохих хурдатгал нь координатын хурдатгалтай ижил биш юм (хурдны өөрчлөлтийн хурд). Акселерометрийн нэг ба олон тэнхлэгтэй загварууд нь зохих хурдатгалын хэмжээ, чиглэлийг вектор хэмжигдэхүүнээр тодорхойлоход хялбар бөгөөд чиг баримжаа, координат хурдатгал, чичиргээ, цочрол, эсэргүүцэлтэй орчинд унаж буй байдлыг мэдэрч болно.

Код нь таны өмнө энгийн бөгөөд таны төсөөлж чадах хамгийн энгийн бүтэцтэй бөгөөд танд ямар ч асуудал байх ёсгүй.

# Чөлөөт зөвшөөрлийн лицензээр тараагдсан.# Холбогдох ажлын лицензтэй нийцэж байгаа тохиолдолд ашиг, үнэгүй ашиглах боломжтой. # ADXL345 # Энэ код нь dcubestore.com дээрээс авах боломжтой ADXL345_I2CS I2C Mini модультай ажиллахад зориулагдсан болно # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -модуль/

smbus импортлох

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

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

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

# ADXL345 хаяг, 0x53 (83)

# Хурдны зурвасын хурдны бүртгэлийг сонгох, 0x2C (44) # 0x0A (10) Ердийн горим, Гаралтын өгөгдлийн хурд = 100 Гц. Bus_write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 хаяг, 0x53 (83) # Цахилгаан хяналтын бүртгэлийг сонгох, 0x2D (45) # 0x08 (08) Auto Sleep идэвхгүй болгох bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 хаяг, 0x53 (83) # Өгөгдлийн форматын бүртгэлийг сонгох, 0x31 (49) # 0x08 (08) Өөрийгөө шалгах идэвхгүй, 4 утастай интерфэйс # Бүрэн нягтрал, Range = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

цаг унтах (0.5)

# ADXL345 хаяг, 0x53 (83)

# Өгөгдлийг 0x32 (50), 2 байтаас унших # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Өгөгдлийг 10 бит болгон хөрвүүлэх

xAccl = ((data1 & 0x03) * 256) + data0 бол xAccl> 511: xAccl -= 1024

# ADXL345 хаяг, 0x53 (83)

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

# Өгөгдлийг 10 бит болгон хөрвүүлэх

yAccl = ((data1 & 0x03) * 256) + data0 бол yAccl> 511: yAccl -= 1024

# ADXL345 хаяг, 0x53 (83)

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

# Өгөгдлийг 10 бит болгон хөрвүүлэх

zAccl = ((data1 & 0x03) * 256) + data0 бол zAccl> 511: zAccl -= 1024

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

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

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

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

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

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

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

ADXL345 нь жижиг, нимгэн, хэт өндөр хүч чадалтай, 3 тэнхлэг бүхий хурдасгуур нь өндөр нарийвчлалтай (13 бит) хэмжигдэхүүнтэй бөгөөд ± 16 г хүртэл байдаг. ADXL345 нь гар утасны програмд тохиромжтой. Энэ нь хазайлтыг илрүүлэх аппликейшн дэх хүндийн хүчний статик хурдатгал, түүнчлэн хөдөлгөөн эсвэл шокийн улмаас удахгүй гарах динамик хурдатгалыг тодорхойлдог. Бусад аппликейшнд гар утас, эмнэлгийн багаж хэрэгсэл, тоглоом, заагч төхөөрөмж, үйлдвэрлэлийн багаж хэрэгсэл, хувийн навигацийн төхөөрөмж, хатуу дискний хамгаалалт орно.

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

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

Жишээлбэл, та ADXL345 ба Raspberry Pi ашиглан инклинометрийн санааг эхлүүлж болно. Дээрх төсөлд бид үндсэн тооцоог ашигласан болно. Та G-утгууд, налуу өнцөг (эсвэл хазайлт), объектын хүндийн хүчний хувьд дээшлэх эсвэл хотгорлох кодыг сайжруулж болно. Дараа нь та өнхрөх (урд-хойд тэнхлэг, X), давирхай (хажуу тийш тэнхлэг, Y) ба хазайлт (босоо тэнхлэг, Z) эргэх өнцөг гэх мэт урьдчилсан сонголтуудыг шалгаж болно. Энэхүү акселерометр нь 3 хэмжээст G хүчийг харуулдаг. Тиймээс та энэ мэдрэгчийг янз бүрийн аргаар ашиглаж болно.

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

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