Агуулгын хүснэгт:
- Хангамж
- Алхам 1: 3D хэвлэх: их бие, дугуй, гантиг цутгамал, 6мм боолт/самар, хэт авианы мэдрэгч холбох
- Алхам 2: Arduino програмчлах
- Алхам 3: Робот угсрах
- Алхам 4: Мэдрэгчийн утсыг холбоно уу
- Алхам 5: Дууссан !!! 9V Arduino цахилгаан хангамжийг холбож, батерейны багцыг асааж, OAREE ашиглан саад бэрхшээлээс зайлсхийж эхэл
Видео: OAREE - 3D хэвлэсэн - Инженерийн боловсролын саад бэрхшээлээс зайлсхийх робот (OAREE) Arduino -той: 5 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
OAREE (Инженерийн боловсрол эзэмшихэд саад болох роботоос зайлсхийх)
Дизайн: Энэхүү зааварчилгааны зорилго нь энгийн/авсаархан, 3 хэмжээст хэвлэх, угсрахад хялбар, хөдөлгөөнд тасралтгүй эргүүлэх servo ашигладаг, аль болох цөөн худалдан авсан эд анги бүхий OAR (саад бэрхшээлээс зайлсхийх робот) роботыг бүтээх явдал байв. Би энэхүү гайхалтай роботыг бүтээж чадсан бөгөөд үүнийг OAREE (Инженерийн боловсролын саад бэрхшээлээс зайлсхийх робот) гэж нэрлэсэн гэж итгэдэг. Энэ робот саад тотгорыг мэдэрч, зогсоод, зүүн, баруун тийш хараад, саадгүй зүг эргэж, урагшаа үргэлжлүүлнэ.
Үндсэн мэдээлэл: Интернет нь роботоос зайлсхийх олон бэрхшээлтэй байдаг боловч ихэнх нь овор ихтэй, угсрахад хэцүү, үнэтэй байдаг. Эдгээр роботуудын ихэнх нь Arduino кодоор хангагдсан байдаг боловч сайн бодож боловсруулсан жишээг олоход хэцүү байсан. Би бас дугуйг (DC хөдөлгүүрийн оронд) тасралтгүй эргүүлэх серво ашиглахыг хүссэн боловч одоог хүртэл хийгдээгүй байна. Тиймээс би дэлхий даяар хуваалцах авсаархан, зохион бүтээгч OAR роботыг бүтээх даалгаврыг эхлүүлсэн.
Цаашдын хөгжил: Энэхүү роботыг илүү нарийвчлалтай, нарийвчлалтай хийх, шугам дагах чадварыг IR мэдрэгч, саад бэрхшээлийн зайг харуулах LCD дэлгэц болон бусад зүйлийг сайжруулах зорилгоор цаашид хөгжүүлэх боломжтой.
Хангамж
- 1x Arduino Uno -
- 1x V5 мэдрэгч бамбай -
- Асаалттай/унтраалттай 4хАА хэмжээтэй 1х зай эзэмшигч -
- 1x SG90 Servo -
- 2x Тасралтгүй эргүүлэх үйлчилгээ -
- Arduino -д зориулсан 1х 9В батерейны цахилгаан кабель (Нэмэлт) -
- 1х HC -SR04 хэт авианы мэдрэгч -
- 4х эмэгтэй-эмэгтэй холбогч утас-https://www.amazon.com/RGBZONE-120pcs-Multicolored…
- 2х резинэн тууз
- 1х 9В батерей (Нэмэлт)
- 4х АА батерей
- 4х жижиг шураг (4 x 1/2 эсвэл үүнтэй төстэй зүйл)
- Филлипс шураг драйвер
- Дугуйд резинэн тууз бэхлэх зориулалттай цавуу
Алхам 1: 3D хэвлэх: их бие, дугуй, гантиг цутгамал, 6мм боолт/самар, хэт авианы мэдрэгч холбох
3D хэвлэх 5 хэсэгтэй.
- Бие
- Дугуй
- Гантиг Кастер
- 6 мм боолт/самар (заавал биш, металл самар/боолтыг сольж болно)
- Хэт авианы мэдрэгч суурилуулах
Шаардлагатай бүх. STL файлуудыг энэхүү зааварчилгаа болон Sketchup файлд оруулсан болно. 40% дүүргэхийг зөвлөж байна.
Алхам 2: Arduino програмчлах
Arduino UNO руу код илгээх: Arduino IDE -ийг ашиглан кодыг (хавсаргасан файлд) Arduino модульд илгээнэ үү. Та энэ ноорогоор servo.h болон newping.h номын санг татаж аваад оруулах хэрэгтэй болно.
Кодыг нарийвчлан тайлбарласан тул та тушаал бүр юу хийж байгааг харах боломжтой болно. Хэрэв та хүсвэл хэт авианы мэдрэгчийн зайг том эсвэл жижиг утгаар хялбархан өөрчилж болно. Энэ бол анхны код бөгөөд үүнийг өргөжүүлж, төслийг цаашид хөгжүүлэхэд ашиглах зорилготой юм.
// РОБОТООС ОРОЛЦОХГҮЙ // [email protected], [email protected], Чаттануга дахь TN их сургууль, Цахилгааны инженер, 2019 оны намар // Шаардлагатай материал: // 1) Arduiino UNO, 2) Servo Sensor Shield v5.0, 3) HCSR04 хэт авианы мэдрэгч, 4) FS90 Servo (хэт авианы мэдрэгчийн хувьд) // 5 ба 6) дугуйны 2x тасралтгүй эргэлтийн үйлчилгээ // 7) хойд дугуйны тэнхлэгт 16 мм гантиг, 8 & 9) дугуйнд 2 резинэн тууз // 10- 15) 1x (4xAA) Батерейны асаах/унтраах товчлуур, 16 ба 17) Arduino UNO -ийг тэжээдэг 9V батерей // 3D PRINT: // 18) ROBOT Body, 19 & 20) 2x Wheels, 21) Marble Caster, 22) Хэт авианы мэдрэгч Холболт ба 6 мм-ийн шураг (хавсаргасан файлуудыг үзнэ үү) // -------------------------------------- -------------------------------------------------- ----------------------------------------- #include // Servo Library-ийг оруулах #include // Newping номын санг оруулах // ------------------------------------------- -------------------------------------------------- ------------------------------------ #TRIGGER_PIN 1-ийг тодорхойлох 2 // АНУ -ын тригер Arduino дээр 12 -р зүү тавих болно #ECHO_PIN 13 -ийг тодорхойлох // US Echo нь Arduino дээр 13 -р зүүг тогтоох #define MAX_DISTANCE 250 // ping хүртэлх зай (хамгийн их нь 250) int зай = 100; // ------------------------------------------------ -------------------------------------------------- ------------------------------ Servo US_Servo; // Хэт авианы мэдрэгч Servo Servo Left_Servo; // Зүүн хүрд Servo Servo Right_Servo; // Баруун дугуйны servvo NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing тээглүүр ба хамгийн их зайг тохируулах. // ------------------------------------------------ -------------------------------------------------- ------------------------------- void setup () // INPUT/OUTPUTS, WHERE ATTACH, ESTITION POSITIONION/HOODING-ийг тохируулах {pinMode (12, OUTPUT); // Trigger pin -ийг гаралтын pinMode (13, INPUT) болгон тохируулсан; // Цуурай зүүг US_Servo.attach (11) оролт болгон тохируулсан; // US Servo 11 US_Servo.write (90) -г зүүж тохируулсан байна; // US SERVO урагшаа харж байна
Left_Servo.attach (9); // 9 -р зүү рүү зүүн дугуйны servo
Left_Servo.write (90); // LEFT WHEEL SERVO -г ЗОГСООХ болгож тохируулсан
Right_Servo.attach (10); // Баруун дугуйны servo -ийг 10 -р зүү болгож тохируулсан
Right_Servo.write (90); // RIGHT WHEEL SERVO нь STOP delay (2000); // 2 секундын турш хүлээнэ үү зай = readPing (); // Шууд урагшлах байрлалын саатал дээр Ping зайг авах (100); // 100 ms moveForward () хүлээнэ үү; // Робот робот урагшаа урагшилна} // ------------------------------------------ -------------------------------------------------- ------------------------------------- void loop () {int distanceRight = 0; // АНУ -ын зайг баруун тийш 0 int distanceLeft = 0; // 0 -ээс зүүн тийш АНУ -ын зайг эхлүүлнэ үү //US_Servo.write(90); // Center US servo // саатал (50); // US_Servo.write (70); // Бага зэрэг баруун тийш харах // саатал (250); // US_Servo.write (110); // Бага зэрэг зүүн тийш хар // саатал (250); // US_Servo.write (90); // Харах төв
if (зай <= 20) // Робот бол ХӨДӨЛГӨӨД {moveStop (); // Зайн зогсолт дахь робот = зайны зүүн талд) // Аль чиглэл рүү эргэхээ шийдээрэй {turnRight (); // Баруун тал нь хамгийн их зайтай, ROBOT 0,3 секундын турш баруун тийш эргэдэг (500); // Энэ саатал нь эргэлтийн уртыг тодорхойлдог moveStop (); // Робот зогсох} өөр {turnLeft (); // Зүүн талын хамгийн том зай, ROBOT нь зүүн тийш 0.3 секундын турш эргэлддэг (500); // Энэ саатал нь эргэлтийн уртыг тодорхойлдог moveStop (); // Робот зогсох}} өөр {moveForward (); // Робот урагш хөдөлнө} зай = readPing (); // АНУ аяллын шинэ чиглэлд NEW PING-ийг уншлаа} // ----------------------------------- -------------------------------------------------- ------------------------------------------ int lookRight () // Хэт авианы мэдрэгч ЗӨВ ФУНКЦИЙГ ХАРАХ {US_Servo.write (30); // АНУ -ын серво өнцгийн саатал руу баруун тийш шилждэг (500); int зай = readPing (); // Баруун саатлын хувьд ping утгыг тохируулах (100); US_Servo.write (90); // US servo MOVES TO CENTER буцах зай; // Зайг тохируулсан} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int lookLeft () // Хэт авианы мэдрэгч LEFT FUNCTION LOOK функцийг харах {US_Servo. бичих (150); // АНУ -ын servo нь зүүн тийш шилжих өнцгийн саатал (500); int зай = readPing (); // Зүүн саатлын хувьд ping утгыг тохируулах (100); US_Servo.write (90); // US servo MOVES TO CENTER буцах зай; // Зайг тохируулсан} // ------------------------------------------ -------------------------------------------------- ------------------------------------- int readPing () // Хэт авианы мэдрэгчийн Ping функцийг уншина уу. {саатал (100); // pings хооронд 100ms (мин ping цаг = 0.29ms) int cm = sonar.ping_cm (); // PING зайг цуглуулж, cm (cm == 0) {cm = 250; } буцах см; } // ----------------------------------------------- -------------------------------------------------- -------------------------------- void moveStop () // ROBOT STOP {Left_Servo.write (90); // LeftServo 180 урагш, 0 урвуу Right_Servo.write (90); // RightServo 0 урагш, 180 урвуу} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveForward () // ROBOT FORWARD {Зүүн_Серво. бичих (180); // LeftServo 180 урагш, 0 урвуу Right_Servo.write (0); // RightServo 0 урагш, 180 урвуу} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void moveBackward () // ROBOT BACKWARD {Left_Servo. бичих (0); // LeftServo 180 урагш, 0 урвуу Right_Servo.write (180); // RightServo 0 урагш, 180 урвуу} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnRight () // ROBOT RIGHT {Left_Servo. бичих (180); // LeftServo 180 урагш, 0 урвуу Right_Servo.write (90); // RightServo 0 урагш, 180 урвуу} // --------------------------------------- -------------------------------------------------- ---------------------------------------- void turnLeft () // ROBOT LEFT {Зүүн_Серво. бичих (90); // LeftServo 180 урагш, 0 урвуу Right_Servo.write (0); // RightServo 0 урагш, 180 урвуу} // --------------------------------------- -------------------------------------------------- ----------------------------------------
Алхам 3: Робот угсрах
Одоо роботыг нэгтгэх цаг болжээ. Алхамуудыг доор жагсаав.
1) Дугуйд дугуй хэлбэртэй servo диск ба резинэн туузыг бэхлээрэй: Бүх servos нь хуванцар холбох хэрэгсэл, боолттой ирдэг. Дугуй дискнүүдийг олж, дугуйны хавтгай талын хоёр нүхэнд шургуул. Резинэн тууз нь дугуйны эргэн тойронд багтах бөгөөд энэ нь атгах боломжийг олгодог. Та резинэн туузыг хэвээр нь байлгахын тулд бага зэрэг цавуу нэмж өгөхийг хүсч болно.
2) Гантиг кастерын бэхэлгээ: Гантиг кастерыг хойд талын хоёр гурвалжинд бэхлэхийн тулд хоёр жижиг эрэг ашиглана уу. Гантиг кастер нь хойд дугуйны энгийн орлуулалт бөгөөд хойд эргэх цэгийг хангадаг.
3) Сервүүдийг үүрэнд оруулах (шураг шаардлагагүй): FS90 Servo (хэт авианы мэдрэгчийн хувьд) биеийн урд үүрэнд байрлуулна. Хоёр тасралтгүй эргүүлэх servo нь зүүн ба баруун үүр рүү гулсдаг. Нүх нь нягт бэхлэх зориулалттай бөгөөд ингэснээр servos -ийг байрлуулахын тулд боолт хийх шаардлагагүй болно. Серво утаснууд нь үүрний ховилоор дамжин биеийн ар тал руу харсан эсэхийг шалгаарай.
4) 9В батерейг байрлуулах (Нэмэлт): 9V зай + Arduino цахилгаан холбогчийг урд талын servo -ийн ард байрлуулна.
5) Хэт авианы мэдрэгчийг угсрах: Хоёр жижиг боолтыг ашиглан цагаан өнгийн хуванцар серво бэхэлгээний аль нэгийг хэт авианы мэдрэгчийн хавтангийн ёроолд бэхлээрэй. Дараа нь хэт авианы мэдрэгчийн хайрцгийг бэхлэх хавтан дээр бэхлэхийн тулд 3D хэвлэсэн 6 мм хэмжээтэй боолт/самар (эсвэл металл боолт/самар орлуулах) ашиглана уу. Төгсгөлд нь мэдрэгчийг хайрцган дээр тээглүүрээ дээш харуулан тавиад хайрцагны ар талд бэхлээрэй.
6) 4х АА батерейны хайрцаг: АА батерейны хайрцгийг том тэгш өнцөгт хэсэгт байрлуулж, асаах/унтраах товчлуурыг ар тал руу нь харсан байх ёстой.
7) Arduino Uno + V5 мэдрэгч бамбай: Бамбайгаа Arduino -д холбож, батерейны хайрцаг дээрх бэхэлгээ дээр байрлуулна. Цахилгаан холбогч нь зүүн тийш харсан байх ёстой.
Таны робот бүтээгдсэн! Юу үлдсэн бэ? Arduino болон холбогч холбогч утаснуудыг програмчлах: servos, хэт авианы мэдрэгч, цахилгаан хангамж.
Алхам 4: Мэдрэгчийн утсыг холбоно уу
Servo утсыг V5 Shield руу холбоно уу
- Зүүн тасралтгүй эргүүлэх Servo нь PIN 9 -т залгагддаг
- Баруун тасралтгүй эргүүлэх Servo нь PIN 10 -т залгагддаг
- Урд FS90 Servo нь PIN 11 -т залгагдсан
Хэт авианы мэдрэгчийн тээглүүрийг (эмэгтэй холбогч утаснаас 4x -ээр дамжуулан) V5 Shield руу холбоно уу
- ПИН 12 руу идэвхжүүлнэ үү
- ПИН 13 руу цуурайтна уу
- 'V' гэж тэмдэглэгдсэн аль ч голын VCC
- 'G' гэж тэмдэглэсэн аль ч тээглүүрийг газардуулах
AA батерейны хайрцгийг V5 бамбай руу холбоно уу
- Эерэг, улаан утсыг VCC холбогч руу холбоно уу
- Сөрөг, хар утсыг Ground холболттой холбоно уу
Алхам 5: Дууссан !!! 9V Arduino цахилгаан хангамжийг холбож, батерейны багцыг асааж, OAREE ашиглан саад бэрхшээлээс зайлсхийж эхэл
Дууссан !
1) 9V Arduino цахилгаан тэжээлийг холбоно уу (заавал биш)
2) Батерейны багцыг асаана уу
3) OAREE ашиглан саад бэрхшээлээс зайлсхийж эхлээрэй !!!
Танд саад болж байгааг ухаарч, ухарч, чиглэлээ өөрчилсний дараа та шинэ найз болох OAREE -д дуртай болно гэдэгт итгэлтэй байна. OAREE нь хэт авианы мэдрэгч (хана гэх мэт) гадагшлуулах боломжтой том объектуудтай хамгийн сайн ажилладаг. Гадаргуугийн талбай, булан нь жижиг тул сандалны хөл гэх мэт жижиг зүйлийг гадагшлуулахад хэцүү байдаг. Шаардлагатай тохируулга, алдааг хуваалцаж, цаашид хөгжүүлж, надад мэдэгдээрэй. Энэ бол маш сайн суралцах туршлага болсон бөгөөд та энэ төслийг миний хийсэн шиг хөгжилтэй өнгөрөөсөн гэж найдаж байна!
Роботын тэмцээнд дэд байр эзэлсэн
Зөвлөмж болгож буй:
5 in 1 Arduino робот - Намайг дага - Мөр мөрдөж байна - Сумо - Зураг - Саад бэрхшээлээс зайлсхийх: 6 алхам
5 in 1 Arduino робот | Намайг дага | Мөр мөрдөж байна | Сумо | Зураг | Саад бэрхшээлээс зайлсхийх: Энэхүү роботын хяналтын самбар нь ATmega328P микроконтроллер ба L293D мотор драйвертай. Мэдээжийн хэрэг, энэ нь Arduino Uno самбараас ялгаатай биш боловч мотор жолоодохын тулд өөр бамбай хэрэггүй тул илүү ашигтай юм! Энэ нь үсрэлтээс ангид байдаг
Саад бэрхшээлээс зайлсхийх робот (Arduino): 8 алхам (зурагтай)
Саад бэрхшээлээс зайлсхийх робот (Arduino): Энд би танд Arduino дээр суурилсан саад бэрхшээлээс зайлсхийх робот хийх талаар заавар өгөх гэж байна. Энэ роботыг маш хялбар аргаар хийх талаар алхам алхмаар зааварчилгаа өгнө гэж найдаж байна. Роботоос зайлсхийх саад бол аливаа бие даасан байдлаас зайлсхийх чадвартай бүрэн бие даасан робот юм
Хамгийн жижиг, хамгийн хөөрхөн Arduino саад бэрхшээлээс зайлсхийх робот: 5 алхам
Хамгийн жижиг, хамгийн хөөрхөн Arduino саад бэрхшээлээс зайлсхийх робот: Танай өрөөнд хагас тавиур тавьдаг том болхи роботуудаас залхаж байна уу? Та роботыг авч явахад бэлэн үү, гэхдээ энэ нь таны халаасанд багтахгүй байна уу? Энд байна! Би та бүхэнд саад бэрхшээлээс зайлсхийх хамгийн хөөрхөн, хамгийн жижиг робот болох Minibot -ийг танилцуулж байна
Arduino саад бэрхшээлээс зайлсхийх робот (шинэчлэх хувилбар): 7 алхам (зурагтай)
Arduino саад тотгороос зайлсхийх робот (Шинэчилсэн хувилбар): Энэ бичлэгийг энэ вэбсайт дээр анх нийтэлсэн болно https://truescience22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Сайн байна уу найзуудаа, өнөөдөр би Arduino-ийн сайжруулсан хувилбарыг хийлээ. Саад тотгороос зайлсхийх робот.Энэ бол энгийн боловч зарим онцлог шинж чанарууд ба
Ardublock саад бэрхшээлээс зайлсхийх робот: 7 алхам (зурагтай)
Ardublock саад бэрхшээлээс зайлсхийх робот: Энэхүү зааварчилгааны заавар нь " Саяхан байршуулсан Arduino саад тотгорыг хэрхэн яаж бүтээх тухай " тухай юм. Үүнийг шалгаж үзэхийг танд зөвлөж байна. Эхэлцгээе