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

Arduino дээр суурилсан роботыг дагах, зайлсхийх: 5 алхам
Arduino дээр суурилсан роботыг дагах, зайлсхийх: 5 алхам

Видео: Arduino дээр суурилсан роботыг дагах, зайлсхийх: 5 алхам

Видео: Arduino дээр суурилсан роботыг дагах, зайлсхийх: 5 алхам
Видео: Clock Shield для Arduino, собери себе часы, пятничный DIY 2024, Долдугаар сарын
Anonim
Arduino дээр суурилсан роботыг дагах, зайлсхийх
Arduino дээр суурилсан роботыг дагах, зайлсхийх

Энэ бол Гэрэлээс зайлсхийх энгийн төсөл юм.

Би энэ симуляцийг Proteus 8.6 pro дээр хийсэн. Шаардлагатай бүрэлдэхүүн хэсгүүд: -1) Arduino uno.

2) 3 LDR.

3) 2 Dc Gear Motors.4) Нэг Servo.5) Гурван 1k резистор 6) нэг H-Bridge l290D7) Нэг асаах, унтраах унтраалга [Програмын нөхцлийг өөрчлөх зорилгоор]

8) 9v ба 5v батерей

Алхам 1: Ardunio код

Arduino кодыг бага зэрэг өөрчилсөн -2016 оны 2 -р сарын 23]

Энэхүү дүрмийг маш их тайлбарласан тул тайлбарлахыг хүсэхгүй байна, гэхдээ хэрэв танд тусламж хэрэгтэй бол надтай холбоо бариарай ([email protected])

Тэмдэглэл: -Би энэ хөтөлбөрт хоёр нөхцлийг ашигладаг: 1-ийг Гэрэл дагах.2-р гэрлээс зайлсхийх.

Эдгээр нөхцлийг хангасан тохиолдолд робот гэрлийг дагах эсвэл зайлсхийх болно. [Энэ бол миний сонгосон LDR -ийн хамгийн бага утга юм. Энгийн гэрэлд энэ нь 80 -аас 95 хүртэл байдаг боловч түүний хүчдэл улам бүр нэмэгдэх тусам хүчдэл хуваагдлын зарчим дээр ажиллаж байхдаа int = a; 400; // Tolarance утга]

Алхам 2: Proteus файлууд

Arduino номын сангийн хувьд энэ линкээс татаж авна уу

Алхам 3: Таны H-гүүр хэрхэн ажилладаг

Таны H-гүүр хэрхэн ажилладаг вэ
Таны H-гүүр хэрхэн ажилладаг вэ
Таны H-гүүр хэрхэн ажилладаг вэ
Таны H-гүүр хэрхэн ажилладаг вэ

L293NE/SN754410 бол маш энгийн H гүүр юм. Чипийн зүүн талд, баруун талд хоёр гүүртэй бөгөөд 2 моторыг удирдах боломжтой. Энэ нь 1 ампер хүртэл гүйдэл дамжуулах чадвартай бөгөөд 4.5 В -оос 36 В хүртэл ажиллах боломжтой. Энэхүү лабораторид ашиглаж буй жижиг DC мотор нь бага хүчдэлээс найдвартай ажиллах боломжтой тул энэхүү H гүүр нь сайн ажиллах болно. H-гүүр нь дараах тээглүүр ба онцлогтой: Pin 1 (1, 2EN) нь манай моторыг HIGH эсвэл LOWPin 2 (1A) өгөхөөс үл хамааран идэвхжүүлж, идэвхгүй болгодог. 3 (1Y) нь мотор терминалуудын нэгэнд зориулагдсан 4-5-р зүү нь газардуулгад зориулагдсан 6-р pin (2Y) нь бусад хөдөлгүүрийн терминалд зориулагдсан байна Pin 7 (2A) нь манай моторын логик зүү юм (оролт нь өндөр эсвэл бага) Pin 8 (VCC2)) нь манай моторын тэжээлийн хангамж юм, үүнийг таны моторын нэрлэсэн хүчдэлд өгөх ёстой 9-11-р зүү нь салгагдаагүй байна, учир нь та энэ лабораторид зөвхөн нэг мотор ашиглаж байгаа тул 12-13-р газардуулга нь 14-15-р холбогдоогүй байна Пин 16 (VCC1) 5V-т холбогдсон. Дээрх нь H-гүүрний диаграм бөгөөд ямар жийргэвч бидний жишээн дээр юу хийж байгааг харуулав. Мотор нь логик тээглүүрийн төлөв байдлын дагуу хэрхэн ажиллахыг харуулсан үнэн хүснэгтийг диаграммд оруулсан болно.

Энэхүү төсөлд идэвхжүүлэх зүү нь Arduino дээрх дижитал зүүтэй холбогддог тул та үүнийг HIGH эсвэл LOW руу илгээж, моторыг асаах эсвэл унтраах боломжтой. Мотор логик тээглүүр нь таны Arduino дээрх зориулалтын дижитал тээглүүртэй холбогдсон тул та моторыг нэг чиглэлд эргүүлэхийн тулд үүнийг ӨНДӨР, БАГА, эсвэл нөгөө чиглэлд эргүүлэхийн тулд LOW ба HIGH -ийг илгээж болно. Моторын тэжээлийн хүчдэл нь моторын хүчдэлийн эх үүсвэртэй холбогддог бөгөөд энэ нь ихэвчлэн гадаад тэжээлийн эх үүсвэр болдог. Хэрэв таны мотор 5V ба 500mA -аас бага ажиллах боломжтой бол та Arduino -ийн 5V гаралтыг ашиглаж болно. Ихэнх моторууд үүнээс илүү өндөр хүчдэл, өндөр гүйдэл татах шаардлагатай байдаг тул танд гаднаас цахилгаан хангамж хэрэгтэй болно.

Хөдөлгүүрийг Н-гүүр рүү холбоно уу 2-р зурагт үзүүлсэн шиг моторыг H гүүр рүү холбоно уу.

Эсвэл, хэрэв та Arduino -д зориулж гадны цахилгаан хангамж ашиглаж байгаа бол Vin зүү ашиглаж болно.

Алхам 4: LDR хэрхэн ажилладаг

Одоо нэмэлт тайлбар хийх шаардлагатай байгаа хамгийн эхний зүйл бол гэрлийн хамааралтай резистор ашиглах явдал юм. Хөнгөн хамааралтай резистор (эсвэл LDR) нь хүрээлэн буй орчны гэрлийн хэмжээнээс хамаарч утга нь өөрчлөгддөг резистор боловч бид Arduino -ийн тусламжтайгаар эсэргүүцлийг хэрхэн илрүүлэх вэ? Та үнэхээр чадахгүй, гэхдээ та хүчдэлийн түвшинг аналог тээглүүрээр илрүүлж, 0-5 В-ийн хооронд (үндсэн хэрэглээнд) хэмжих боломжтой. Одоо та "Эсэргүүцлийн утгыг хэрхэн хүчдэлийн өөрчлөлт болгон хувиргах вэ?" Гэж асууж магадгүй юм, бид хүчдэл хуваагч хийдэг. Хүчдэл хуваагч нь хүчдэлийг аваад оролтын хүчдэл болон ашигласан резисторуудын хоёр утгын харьцаатай пропорциональ хүчдэлийн хэсгийг гаргадаг. Үүний тэгшитгэл нь:

Гаралтын хүчдэл = Оролтын хүчдэл * (R2 / (R1 + R2)) Энд R1 бол эхний эсэргүүцлийн утга, R2 нь хоёр дахь утгын утга юм.

Одоо энэ нь "Гэхдээ ХБНГУ -ын эсэргүүцлийн ямар үнэ цэнэтэй вэ?" Гэсэн асуулт гарч ирж байна. Орчны гэрэл бага байх тусам эсэргүүцэл өндөр байх тусам орчны гэрэл их байх тусам эсэргүүцэл буурах болно. Одоо би тодорхой LDR -ийн хувьд эсэргүүцлийн хүрээ нь 200 - 10 кило Ом байсан боловч энэ нь өөр өөр байдаг тул тэдгээрийг хаанаас худалдаж авснаа сайтар шалгаж, мэдээллийн хуудас эсвэл өөр төрлийн зүйлийг хайж олох хэрэгтэй. case R1 нь үнэндээ бидний LDR тул тэгшитгэлийг буцааж авчраад математик-ид шид (математикийн цахилгаан ид шид) хийцгээе. Одоо эхлээд бид эдгээр кило омын утгыг ом руу хөрвүүлэх хэрэгтэй: 200 кило-ом = 200, 000 ом 10 кило-ом = 10 000 ом Тиймээс бид харанхуйд байх үед гаралтын хүчдэл юу болохыг олж мэдэхийн тулд дараах тоонуудыг залгана уу: 5 * (10000 / (200000 + 10000)) Оролт нь 5В байна. Arduino -аас. Дээрх нь 0.24V (дугуйрсан) өгдөг. Одоо бид дараах тоонуудыг ашиглан гаралтын хүчдэл хамгийн их гэрэлтүүлэгтэй байгааг олж мэдэв: 5 * (10000 / (10000 + 10000)) Энэ нь яг 2.5V өгдөг. Эдгээр нь Arduino -ийн аналог тээглүүрт оруулах гэж байгаа хүчдэлийн утгууд боловч эдгээр нь "Гэхдээ яагаад?" Хөтөлбөрт харагдах утга биш юм. гэж асууж болно. Arduino нь аналог хүчдэлийг дижитал өгөгдөл болгон хувиргадаг аналоги тоон чип ашигладаг. Arduino дээрх дижитал тээглүүрээс ялгаатай нь зөвхөн 0 ба 5В-ийн өндөр эсвэл доогуур байдлыг унших боломжтой бөгөөд аналог тээглүүр нь 0-5В-ээс уншиж, 0-1023-ийн хооронд хэлбэлздэг.. бид Arduino яг ямар утгыг уншихыг тооцоолж чадна.

Энэ нь шугаман функц байх тул бид дараах томъёог ашиглаж болно: Y = mX + C Энд; Y = Дижитал утга Хаана; m = налуу, (дээшлэх / гүйх), (тоон утга / аналог утга) Хаана; Y = mXm = 1023 /5 = 204.6 Тиймээс Y: m = mXm = 1023 /5 = 204.6: Тиймээс тоон утга = 204.6 * Аналог утга Тиймээс харанхуйд дижитал утга нь: 204.6 * 0.24 болно. Оргил гэрлийн хувьд энэ нь дараах байдалтай байх болно: 204.6 * 2.5 Энэ нь ойролцоогоор 511 -ийг өгдөг. Одоо эдгээрийн хоёрыг хоёр аналог тээглүүр дээр суурилуулснаар бид хоёр бүхэл тоон хувьсагч үүсгэж, тэдгээрийн утгыг хоёуланг нь хадгалах боломжтой бөгөөд аль нь хамгийн бага утгатай болохыг харьцуулах операторуудаар харах боломжтой болно. роботыг энэ чиглэлд эргүүлэх.

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