Агуулгын хүснэгт:
- Алхам 1: Инерцийн хэмжих нэгжийг яагаад ашиглах ёстой вэ?
- Алхам 2: 2D нутагшуулалтад BNO055 -ийг хэрхэн ашиглах вэ?
- Алхам 3: Vue -ийн техник хангамжийн цэг
- Алхам 4: Энэ нь хэрхэн ажилладаг вэ?
- Алхам 5: Архитектур ба програм хангамж
- Алхам 6: Би юу сурсан бэ?
Видео: Инерцийн хэмжих нэгжийг ашиглах арга? 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Контекст:
Би хөгжилтэй байхын тулд байшин дотор бие даан шилжихийг хүсч буй роботыг бүтээж байна.
Энэ бол урт ажил бөгөөд би алхам алхмаар хийж байна.
Би энэ сэдвээр 2 зааварчилгаа хэвлүүлсэн:
- нэг нь дугуй кодлогч хийх тухай
- wifi холболтын талаар
Миний роботыг гэрийн хийсэн дугуй кодлогчын тусламжтайгаар 2 тогтмол гүйдлийн хөдөлгүүрээр удирддаг.
Би одоогоор хөдөлгөөнт удирдлагыг сайжруулж байгаа бөгөөд жироскоп, акселерометр, ОУЦХ -той хэсэг хугацаанд хамт байсан. Энэ туршлагаа хуваалцахдаа таатай байх болно.
Та нутагшуулах талаар илүү ихийг мэдэхийг хүсч байна уу? Роботыг нутагшуулахын тулд хиймэл оюун ухаан, хэт авианы аппаратыг хэрхэн хослуулах тухай нийтлэлийг энд оруулав
Алхам 1: Инерцийн хэмжих нэгжийг яагаад ашиглах ёстой вэ?
Тэгвэл би яагаад IMU -ийг ашигласан юм бэ?
Эхний шалтгаан нь хэрэв дугуй кодлогч нь шулуун хөдөлгөөнийг хянахад хангалттай нарийвчлалтай байсан бол тааруулсны дараа би эргэлтийн нарийвчлалыг +5 градусаас бага болгож чадаагүй бөгөөд энэ нь хангалтгүй юм.
Тиймээс би 2 өөр мэдрэгчийг туршиж үзсэн. Нэгдүгээрт, би соронзон хэмжигч (LSM303D) ашигладаг. Зарчим нь маш энгийн байсан: эргэлт хийхээс өмнө хойд зүг рүү чиглүүлж, зорилгоо тооцоолж, зорилгоо биелүүлэх хүртэл хөдөлгөөнийг тохируулна уу. Энэ нь кодлогчтой харьцуулахад арай дээр байсан боловч хэт тарсан байв. Үүний дараа би гироскоп (L3GD20) ашиглахыг оролдсон. Энэхүү зарчим нь эргэлтийг тооцоолохын тулд мэдрэгчийн өгсөн эргэлтийн хурдыг нэгтгэх явдал байв. Тэгээд сайн ажилласан. Би эргэлтийг +- 1 градусаар хянах боломжтой болсон.
Гэсэн хэдий ч би IMU -ийг туршиж үзэх сонирхолтой байсан. Би BNO055 бүрэлдэхүүн хэсгийг сонгож байна. Би энэ ОУХБ -ыг ойлгож, туршихын тулд хэсэг хугацаа зарцуулсан. Эцэст нь би дараах шалтгааны улмаас энэ мэдрэгчийг сонгохоор шийдлээ
- Би L3GD20 -ийн тусламжтайгаар эргэлтийг хянах боломжтой
- Би шулуун хөдөлж байхдаа бага зэрэг эргэлтийг илрүүлж чадна
- Би роботыг нутагшуулахын тулд хойд зүг рүү чиглүүлэх хэрэгтэй бөгөөд BNO055 -ийн луужингийн шалгалт тохируулга нь маш энгийн.
Алхам 2: 2D нутагшуулалтад BNO055 -ийг хэрхэн ашиглах вэ?
BNO055 IMU нь туйлын чиг баримжаа өгөх боломжтой Bosch 9 тэнхлэгтэй ухаалаг мэдрэгч юм.
Мэдээллийн хуудас нь бүрэн баримт бичгийг өгдөг. Энэ бол өндөр технологийн бүрэлдэхүүн хэсэг бөгөөд энэ нь нэлээд төвөгтэй бүтээгдэхүүн бөгөөд би хэрхэн ажилладаг талаар сурч, ашиглах өөр аргыг туршиж үзэхэд хэдэн цаг зарцуулсан.
Энэ туршлагаа хуваалцах нь ашигтай байж магадгүй гэж бодож байна.
Нэгдүгээрт, би мэдрэгчийг тохируулах, илрүүлэх сайн хэрэгсэл болох Adafruit номын санг ашигласан.
Төгсгөлд нь, олон туршилтын дараа би шийдсэн
- зөвхөн шалгалт тохируулгыг хадгалахын тулд Adafruit номын санг ашиглах
- BNO055 (NDOF, IMU, Compss) бүх боломжит горимуудын 3 -ийг ашиглана уу.
- BNO055 хэмжилт дээр үндэслэсэн нутагшуулалтыг тооцоолохын тулд Arduino Nano -ийг зориулаарай
Алхам 3: Vue -ийн техник хангамжийн цэг
BNO055 бол I2C бүрэлдэхүүн хэсэг юм. Тиймээс холбогдохын тулд цахилгаан хангамж, SDA, SCL хэрэгтэй.
Худалдан авсан бүтээгдэхүүнийхээ дагуу Vdd хүчдэлийг анхаарч үзээрэй. Bosch чип нь 2.4V -аас 3.6V хүртэл ажилладаг бөгөөд та 3.3V ба 5V бүрэлдэхүүн хэсгүүдийг олох боломжтой.
Нано ба BNO055 -ийг холбоход ямар ч бэрхшээл гардаггүй.
- BNO055 нь нано хөдөлгүүрээр ажилладаг
- SDA & SCL нь 2 x 2k татах эсэргүүцэлтэй холбогдсон.
- Нано -д оношлогдсон 3 LED холбогдсон (резистортой)
- Ачаалсны дараа горимыг тодорхойлоход ашигладаг 2 холбогч
- BNO руу чиглэсэн 1 холбогч (Gnd, Vdd, Sda, Scl, Int)
- Робот/Мега руу чиглэсэн 1 холбогч (+9V, Gnd, sda, Scl, Pin11, Pin12)
Бага зэрэг гагнах, тэгээд л боллоо!
Алхам 4: Энэ нь хэрхэн ажилладаг вэ?
Харилцааны цэгээс:
- Нано бол I2C автобусны мастер юм
- Робот/Мега ба BNO055 нь I2C боолууд юм
- Нано нь BNO055 бүртгэлийг байнга уншдаг
- Робот/Мега нь нано -аас үг хүсэх тоон дохиог дээшлүүлдэг
Тооцоолох цэгээс: Нано нь BNO055 -тэй нийлдэг
- Луужингийн гарчиг (нутагшуулахад ашигладаг)
- Харьцангуй гарчиг (эргэлтийг хянахад ашигладаг)
- Үнэмлэхүй гарчиг ба байрлал (хөдөлгөөнийг хянахад ашигладаг)
Үйл ажиллагааны үүднээс: Нано:
- BNO055 шалгалт тохируулгыг удирддаг
- BNO055 параметр ба командыг удирддаг
Nano & BNO055 дэд систем:
- робот бүрийн дугуйны үнэмлэхүй чиглэл ба байршлыг тооцоолох (масштабтай)
- роботыг эргүүлэх үед харьцангуй чиглэлийг тооцоолох
Алхам 5: Архитектур ба програм хангамж
Үндсэн програм хангамж нь Arduino Nano дээр ажилладаг
- Архитектур нь I2C холболт дээр суурилдаг.
- Роботыг ажиллуулдаг Атмега нь аль хэдийн ачаалагдсан байсан тул энэхүү архитектурыг өөр газар ашиглахад хялбар болгосон тул би нано зориулахаар шийдсэн юм.
- Нано нь BNO055 регистрийг уншиж, гарчиг, нутагшуулалтыг тооцоолж, хадгалдаг.
- Роботын кодыг ажиллуулдаг Arduino Atmega нь дугуй кодлогчын мэдээллийг Нано руу илгээж, Нано регистр доторх гарчиг, байршлыг уншдаг.
Энд дэд систем (нано) кодыг GitHub дээрээс авах боломжтой
Хэрэв энд GitHub дээр байгаа бол Adafruit шалгалт тохируулгын хэрэгсэл (шалгалт тохируулгыг eeproom дээр хадгалах болно)
Алхам 6: Би юу сурсан бэ?
I2C -ийн тухайд
Нэгдүгээрт, би нэг автобусанд 2 мастер (Arduino), 1 боол (мэдрэгч) суулгахыг оролдсон боловч эцэст нь зөвхөн нано -г мастер болгож, 2 Arduino -ийн хооронд GPIO холболтыг ашиглан "жетон хүсэх" боломжтой бөгөөд хамгийн хялбар юм..
2D чиглэлийн хувьд BNO055 -ийн тухай
Би ажиллаж байгаа 3 өөр горимд анхаарлаа төвлөрүүлж чадна: робот сул зогссон үед NDOF (гироскоп, акселерометр ба Compas хослуулах), робот хөдөлж байх үед IMU (гироскоп, акселерометрийг нэгтгэх), нутагшуулах үе шатанд луужин. Эдгээр горимуудын хооронд шилжих нь хялбар бөгөөд хурдан юм.
Кодын хэмжээг багасгах, мөргөлдөөнийг илрүүлэхийн тулд BNO055 тасалдал ашиглах боломжийг хадгалахын тулд би Adafruit номын санг ашиглахгүй байхыг хүсч байна.
Зөвлөмж болгож буй:
Хуучин компьютерийн эд ангиудыг дахин ашиглах гайхалтай арга замууд: 7 алхам (зурагтай)
Хуучин компьютерийн эд ангиудыг дахин ашиглах гайхалтай арга замууд: Энэхүү зааварчилгаанд би хүн бүрийн хаяж байгаа хуучин компьютерийн зарим хэсгийг хэрхэн дахин ашиглах талаар товчхон өгөх болно. бүрэн өгөхгүй
Зүрхний цохилтыг хэмжих нь хурууны үзүүрт байдаг: Зүрхний цохилтыг тодорхойлох фотоплетизмын арга: 7 алхам
Зүрхний цохилтыг хэмжих нь хурууны үзүүрт байдаг: Зүрхний цохилтыг тодорхойлох фотоплетизмын арга: Photoplethysmograph (PPG) нь энгийн бөгөөд хямд өртөгтэй оптик техник бөгөөд үүнийг бичил судасны эд дэх цусны эзлэхүүний өөрчлөлтийг илрүүлэхэд ихэвчлэн ашигладаг. Энэ нь ихэвчлэн арьсны гадаргуу дээр хэмжилт хийхэд инвазив бус байдлаар ашиглагддаг, ихэвчлэн
Millis () ашиглан Arduino цаг хэмжих арга: 4 алхам
Millis () ашиглан Arduino цаг хэмжих арга: Энэ нийтлэлд бид millis () -ийг танилцуулж байна; функцийг ашиглан цаг хугацааны янз бүрийн жишээг үүсгэхэд ашиглана уу. Уруул синхрончлогчтой ямар ч холбоогүй … та милли-г мянганы нэгийн тоон угтвар гэж хүлээн зөвшөөрсөн гэж найдаж байна. Энэ нь таныг үржүүлж байна
Цагны радио шинэчлэлт - Bluetooth нэгжийг суурилуулах: 6 алхам
Цагийн радио шинэчлэх-Bluetooth нэгжийг угсрах: Энэхүү өөрчлөлтийг хоёр хэсгээс бүрдүүлж байгаа бөгөөд нэг нь одоо байгаа радио, нөгөө нь " Bluetooth гар чөлөөтэй MP3 декодерын самбар ZTV-M01BT бүрхүүл & Алсын удирдлага " нэмэлт аудио өсгөгч хэрэгтэй болно. Цаг
Гадил жимсний утас (суурин утас) ба гадил жимсний үндсэн нэгжийг хэрхэн яаж хийх вэ: 20 алхам (зурагтай)
Гадил жимсний утас (суурин утас) ба гадил жимсний үндсэн нэгжийг хэрхэн яаж хийх вэ: Энэ бол энэ юм. Христийн Мэндэлсний Баяр болоход хэдхэн долоо хоногийн хугацаа үлдээд байгаа бөгөөд та үнэхээр оригинал бөгөөд хичнээн их бүтээгч гэдгээ харуулсан бэлэг олох хэрэгтэй. Мянга мянган сонголт байдаг, гэхдээ чиний хийхийг хүсч буй ганц зүйл бол гадил жимсний утас юм