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

MrK Blockvader: 6 алхам (зурагтай)
MrK Blockvader: 6 алхам (зурагтай)

Видео: MrK Blockvader: 6 алхам (зурагтай)

Видео: MrK Blockvader: 6 алхам (зурагтай)
Видео: Все о покраске валиком за 20 минут. ПЕРЕДЕЛКА ХРУЩЕВКИ от А до Я #32 2024, Арваннэгдүгээр
Anonim
Image
Image
3D хэвлэх
3D хэвлэх

Олон жилийн турш би 3D хэвлэсэн роверын олон сонирхолтой робот төслүүдийг үзсэн бөгөөд 3D хэвлэх технологи нь роботын нийгэмлэгт дизайн, материалын сонголтын олон талт байдлыг нэмэгдүүлэхэд хэрхэн тусалсан нь надад таалагдсан. Би MrK_Blockvader -ийг Instructable for the Maker Community сэтгүүл дээр нийтэлснээр роботын нийгэмлэгт багахан хувь нэмэр оруулахыг хүсч байна.

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

MrK_Blockvader нь ижил зорилгыг архивлах зорилгоор роботын бүлэгт командлагчаар томилогдох боломжтой робот сүлжээний нэг хэсэг байх болно.

Хангамж

1 * Ардуино Нано

1 * DC мотор жолооч

2 * Хурдны хайрцагтай DC мотор

1 * 650 мАч хэмжээтэй Venom LiPo батерей

2 * 1/24 RC ачааны машины дугуй

2 * Цагаан LED

1 * зайны мэдрэгч

1 * Өнгөний мэдрэгч

1 * nRF24 таслах самбар

1 * nRF24 радио самбар

1 * дуут дохио

1 * Шилжүүлэгч

1* 26 AUG Хар утас

1* 26 AUG Цэнхэр утас

1* 22 AUG Хар утас

1* 22 AUG Улаан утас

Алхам 1: 3D хэвлэх

Би хөнгөн, бат бөх байхын тулд нүүрстөрөгчийн материалаар хэвлэсэн CEL Robox 3D принтер ашигладаг. Би доорх STL файлуудыг хавсаргах болно. Хэрэв танд 3D хэвлэх процесс, тохиргооны талаар асуух зүйл байвал коммент хэсэгт бичнэ үү.

Алхам 2: Arduino Nano -г бэлтгэ

Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ
Arduino Nano -ийг бэлтгэ

Цахилгааны бүх бүрэлдэхүүн хэсгүүдэд урьдчилсан бэлтгэл хийх нь цэвэр төслийн түлхүүр гэдгийг би мэдсэн.

Энэ төсөл нь nRF24 таслагч самбарыг холбох ажлыг багтаасан бөгөөд би үүнийг NRF24 утасгүй LED хайрцаг гэж нэрлэдэг тусдаа төсөл дээр хийсэн бөгөөд эндээс та nRF24 -ийн таслах самбарыг Arduino руу хэрхэн холбох тухай мэдээллийг олж авах боломжтой.

Тэмдэглэл: Би Наног тэжээхэд илүү зузаан 22AWG утас, бусад бүх дохионы зориулалтаар 26 AWG цэнхэр, хар утсыг ашигладаг. Би эдгээр 26 AWG хэмжээтэй утаснуудад дуртай, уян хатан боловч хүчирхэг боловч хоёр ертөнцийн хамгийн сайныг өгдөг.

Arduino Nano бэлтгэл ажил:

  1. Дохионы зүү толгойг Arduino Nano руу гагнана уу.
  2. Эдгээр тээглүүрийг гагнуураар норгосноор дараа нь гагнах ажлыг ихээхэн хөнгөвчлөх болно.
  3. Бүх мэдрэгч, LED -ийг цахилгаан тэжээлээр хангахын тулд цэнхэр утсыг 5V -д гагнана уу.
  4. Бүх мэдрэгч, LED -ийг газардуулахын тулд бүлэг хар утсыг GND -д гагнана уу.

NRF 24 таслагч самбар бэлтгэх ажил:

  1. NRF24 таслагч самбар руу 5 утас гагнах.
  2. 2 утсыг nRF24 таслах самбар руу гагнана.
  3. Холболтыг шалгаад таслах самбарыг Arduino руу хэрхэн яаж холбохыг шалгаарай.
  4. NRF24 -ээс Arduino Nana хүртэлх 5 утас дохиог гагнана.

Дуу чимээний бэлтгэл ажил:

  1. Газар шуугианы хөлний нэгэнд хар утсыг гагнана.
  2. Цэнхэр утсыг дохионы хяналтанд байлгахын тулд нөгөө дуугаруулагч хөл рүү гагнах.

Фоторезисторын бэлтгэл ажил: (диаграм боломжтой)

  1. Цэнхэр утсыг 5В фоторезисторын хөл рүү гагнана.
  2. Фоторезисторын нөгөө хөл рүү 10К эсэргүүцэл гагнах.
  3. 10K резистор ба фоторезисторын хооронд дохио өгөх цэнхэр утсыг гагнана.
  4. Газардуулах зориулалттай 10К резистор руу хар утсыг гагнана.

LED бэлтгэх ажил:

  1. Цэнхэр утсыг эерэг баруун LED -ээс эерэг зүүн LED хүртэл гагнана.
  2. Сөрөг баруун LED -аас зүүн сөрөг LED хүртэл хар утсыг гагнана.
  3. Цэнхэр утсыг дохиог хянах эерэг LED рүү гагнана.
  4. Хар утсыг газардуулахын тулд баруун талын сөрөг LED рүү гагнана.

Алхам 3: DC мотор, DC моторын драйвер, мэдрэгчийг бэлтгэх

DC мотор, тогтмол гүйдлийн хөдөлгүүрийн драйвер, мэдрэгчийг бэлтгэ
DC мотор, тогтмол гүйдлийн хөдөлгүүрийн драйвер, мэдрэгчийг бэлтгэ
DC мотор, тогтмол гүйдлийн хөдөлгүүрийн драйвер, мэдрэгчийг бэлтгэ
DC мотор, тогтмол гүйдлийн хөдөлгүүрийн драйвер, мэдрэгчийг бэлтгэ

MrK_Blockvador нь хэд хэдэн мэдрэгчийн сонголттой бөгөөд нэмэлт мэдрэгч нь ерөнхий үйл ажиллагаанд нөлөөлөхгүй боловч DC моторыг наалдсаны дараа өнгө мэдрэгчийг суулгах боломжгүй болно.

DC моторын бэлтгэл ажил:

  1. DC мотор руу хар, улаан утсыг гагнана.
  2. Хөдөлгүүрийн үзүүрийг соронзон хальсаар боож өгнө.
  3. Мотор холбогчийг битүүмжлэхийн тулд энэ газрыг халуун цавуугаар дүүргэнэ.

DC мотор драйверын бэлтгэл ажил:

  1. Мотор драйвер дээрх 6 дохионы утсыг гагнана.
  2. Дохионы утсыг Arduino Nano дээрх зөв зүүгээр гагнана.
  3. Мотор драйверийг батерейгаас тэжээхийн тулд 12V утас суурилуул. Утаснууд нь роботын арын доор болон доошоо гүйх хангалттай урт байгаа эсэхийг шалгаарай.
  4. Мотор драйвераас Arduino Nano -ийг тэжээхийн тулд 5V утас суурилуул.

Өнгө мэдрэгчийн бэлтгэл ажил (заавал биш):

  1. Дохионы 2 утсыг гагнана.
  2. Эрчим хүч авахын тулд 2 утсыг гагнана.
  3. Супер тод LED -ийг хянахын тулд 1 утсыг гагнана.

Зайн мэдрэгчийн бэлтгэл ажил: (заавал биш)

  1. Дохионы цэнхэр утсыг гагнах.
  2. Эерэг 3V -ийн эерэг порт дээр өөр цэнхэр утсыг гагнана.
  3. Сөрөг боомт дээр хар утсыг гагнах.

Алхам 4: угсрах

Image
Image
Угсрах
Угсрах

Бэлтгэл ажил дууссаны дараа бүх зүйл нэгдэх мөч юм.

Анхаарна уу: Би DC мотор ба тогтмол гүйдлийн хөдөлгүүрийн жолоочийн хувьд халуун цавуу хэрэглэдэг.

Угсрах үйл явц:

  1. Өнгөний мэдрэгчийг явах эд анги руу халуун нааж, өнгө мэдрэгчийн утсыг сувгаар дамжуулна. (заавал биш)
  2. DC моторыг явах эд анги руу халуун цавуугаар оруулаарай, DC мотор нь явах эд ангитай ижилхэн байрласан эсэхийг шалгаарай.
  3. Супер цавуу Blocvader нь явах эд анги руугаа ордог бөгөөд бүх утаснууд дамжин өнгөрч байгаа эсэхийг шалгаарай.
  4. Халуун цавуу зайн мэдрэгч. (заавал биш)
  5. Блоквадор нүдэнд зориулсан халуун цавуу LED.
  6. Тогтмол гүйдлийн моторын утсыг DC моторын драйвер руу бүхэлд нь оруулаад сайтар шургуул.
  7. DC драйвераас 12V цахилгаан утаснуудыг асаах/унтраахын тулд явах эд ангиудын арын доогуур болон доош нь гүйлгэнэ үү.
  8. Тогтмол гүйдлийн хөдөлгүүрийн драйверийг нааж эхлэхээс өмнө бүх мэдрэгчийн бүх утас цэвэр байгаа эсэхийг шалгаарай.
  9. Туршилтын кодыг байршуулж, хэрэв байгаа бол алдааг олж засварлана уу.

Алхам 5: Код

Image
Image
Дараа нь яах вэ?
Дараа нь яах вэ?

Үндсэн код:

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

Кодын зүрх:

void loop () {lightLevel = analogRead (Photo_Pin); Serial.print ("Гэрлийн түвшин:"); Serial.println (lightLevel); Serial.print ("Одоогийн гэрэл:"); Serial.println (Current_Light); if (lightLevel> = 200) {Chill_mode (); analogWrite (eyes_LED, 50); Serial.println ("Chill mode");} if (lightLevel <180) {Active_mode (); analogWrite (eyes_LED, 150); Цуваа. println ("Идэвхтэй горим");}}

Роботыг хянагч ашиглан удирдах боломжтой бөгөөд хянагч ашиглан хэсэгчилсэн бие даасан горимд шилжих боломжтой.

Кодын зүрх:

void loop () {int debug = 0; lightLevel = analogRead (Photo_Pin); Dis = analogRead (Dis_Pin); // Хэрэв хүлээн авах өгөгдөл байгаа эсэхийг шалгана уу (radio.available ()) {radio.read (& data, sizeof (Data_Package))); if (data. C_mode == 0) {Trim_Value = 10; Direct_drive ();} if (data. C_mode == 1) {Trim_Value = 0; Autonom_mode ();} if (data. C_mode == 2) {Trim_Value = 0; Chill_mode ();} if (debug> = 1) {if (data. R_SJoy_State == 0) {Serial.print ("R_SJoy_State = HIGH;");} if (data. R_SJoy_State == 1) {Serial.print ("R_SJoy_State = LOW;");} if (data. S_Switch_State == 0) {Serial.print ("S_Switch_State = HIGH;");} if (data. S_Switch_State == 1) {Serial.print ("S_Switch_State = LOW; ");} if (data. M_Switch_State == 0) {Serial.println (" M_Switch_State = HIGH ");} if (data. M_Switch_State == 1) {Serial.println (" M_Switch_State = LOW ");} Цуваа.хэвлэх ("\ n"); Serial.print ("Rover Mode:"); Serial.println (data. C_mode); Serial.print ("L_XJoy_Value ="); Serial.print (data. L_XJoy_Value); Serial.print ("; L_YJoy_Value ="); Serial.print (data. L_YJoy_Value); Serial.print ("; R_YJoy_Value ="); Serial.print (data. R_YJoy_Value); Serial.print ("; Throtle_Value ="); Serial.println (data. Throtle_Value); саатал (дибаг хийх*10); } lastReceiveTime = millis (); // Энэ мөчид бид өгөгдлийг хүлээн авлаа} // Бид өгөгдлийг үргэлжлүүлэн авч байгаа эсэхийг шалгаарай, эсвэл хоёр модулийн хооронд currentTime = millis (); if (currentTime - lastReceiveTime> 1000) // Хэрэв бид сүүлийн өгөгдлийг хүлээн авснаас хойш одоогийн хугацаа 1 секундээс илүү байвал {// энэ нь бид resetData () холболтоо алдсан гэсэн үг юм; // Хэрэв холболт тасарсан бол өгөгдлийг дахин тохируулна уу. Энэ нь хүсээгүй зан авираас урьдчилан сэргийлдэг, жишээлбэл, дрон тохируулагчтай, бид холбоо тасарсан бол утгыг дахин тохируулахгүй бол нислэгээ үргэлжлүүлж болно}}

Алхам 6: Дараа нь яах вэ?

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

Гэсэн хэдий ч эдгээр роботууд өөрсдийн статусаа холбооны станцад мэдээлэх шаардлагатай бөгөөд дараа нь энэ станц бүх роботуудын бүх тайланг нэгтгэж, дараа нь шаардлагатай арга хэмжээ авах шийдвэр гаргах болно.

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

Хянагч нь өөрөө робот боловч Blockader -ээс илүү идэвхгүй байдаг. Тиймээс хянагч өөрийн зааварчилгааны нийтлэлийг орхих тул ирээдүйн төсөлд анхаарлаа хандуулаарай; D

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