Mundarija:

Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: 5 qadam
Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: 5 qadam

Video: Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: 5 qadam

Video: Eng kichik va eng shirin Arduino to'siqlardan qochish roboti: 5 qadam
Video: Arduino UZ.#5 Input Output,Raqamli Kirish CHiqish Portlari. 2024, Iyul
Anonim
Eng kichik va eng shirin Arduino to'siqlardan qochish roboti
Eng kichik va eng shirin Arduino to'siqlardan qochish roboti

Xonangizda yarim tokchani oladigan katta bema'ni robotlardan charchadingizmi? Siz robotni o'zingiz bilan olib ketishga tayyormisiz, lekin u cho'ntagingizga sig'maydimi? Mana! Men sizga minibotni taqdim etaman, siz hech qachon (hech qachon) birlashtira oladigan, to'siqlardan qochishning eng yoqimli va eng kichik robotini!

1 -qadam: Sizga kerak bo'laklar va bo'laklar

Sizga kerak bo'lak va bo'laklar
Sizga kerak bo'lak va bo'laklar
Sizga kerak bo'lak va bo'laklar
Sizga kerak bo'lak va bo'laklar
Sizga kerak bo'lak va bo'laklar
Sizga kerak bo'lak va bo'laklar

Kichik non paneli (4,5 sm dan 3,5 sm gacha), uzunligi 17 teshik va kengligi 5 teshikli 2 qator. Siz robotni qurasiz, lekin agar siz robotni o'zgartirishni rejalashtirmoqchi bo'lsangiz, bu juda yaxshi.

Arduino Nano. Men taxtaga allaqachon lehimlangan pinlar bilan birga kelganini ishlataman, lekin siz ham arduino nanosiz pinni ishlatishingiz va kabellarni to'g'ridan -to'g'ri taxtaga lehimlashingiz mumkin.

9V batareya. Ha, yaxshi batareya.

9V batareya ushlagichi. (eski o'yinchoqdan olingan)

2 ta uzluksiz aylanadigan servo (ular SG () servosiga o'xshaydi, lekin ular uzluksiz aylanish servolari. Men ularni bu erdan sotib oldim.

2 ta rezina g'ildirak. Atrofga qarang. Albatta, g'ildiraklariga muhtoj bo'lmagan eski o'yinchoq bor.

Kabellar. Ulardan bir guruhi. Kabellar juda ko'p degan narsa yo'q.

Ultrasonik sensor. 4 pinli model. Ebay, Amazon yoki boshqa joy. Ularning hammasi bir xil.

3D bosma shassi. 3D fayllarni BU YERDA topishingiz mumkin

2 -qadam: Va kod

Bu erda raketa fani yo'q. Agar 15 smda hech narsa ko'rinmasa, robot oldinga siljiydi va 15 sm dan yaqinroq bo'lsa, keskin burilish yasaydigan juda oddiy kod.

Faqat txt faylini yuklab oling va Arduino interfeysidagi kodni nusxa ko'chiring.

3 -qadam: Bitlarni to'g'ri joyga qo'yish

Bitlarni to'g'ri joyga qo'yish
Bitlarni to'g'ri joyga qo'yish
Bitlarni to'g'ri joyga qo'yish
Bitlarni to'g'ri joyga qo'yish

Non paneli, Arduino, ultratovush sensori va batareya korpusning yuqori qismiga kiradi, lekin komponentlarni YAXSHI QO'YING. Avval hamma narsani sim bilan ulashingiz kerak. (ha, men bu xatoni qildim) (ikki marta)

2 ta servo shassining pastki qismiga o'rnatilgan. Ha, bu ikkitasini hozir qo'yishingiz mumkin.

G'ildiraklar servo millerga bir oz sim bilan, ozgina issiq elim bilan yoki sehrli sehr bilan biriktiriladi. Sizning tanlovingiz.

4 -qadam: Va bu simlar … Oh bola

Bu erda yomon qism keladi. simlar. Juda ko'p simlar va juda kam joy.

Ultrasonik sensordan boshlaylik.

  • Vcc -> +5V Arduino
  • Trig -> Arduino D11
  • Exo -> D12 Arduino
  • GND -> Arduino -ning GND (Arduino -ning 2 ta GND pinidan har biri)

Servo 1:

  • To'q sariq sim -> D9 Arduino
  • Qizil sim -> +5V Arduino
  • Jigarrang sim -> Arduino GND (Arduino -ning 2 GND pinidan har qanday)

Servo 2:

  • To'q sariq sim -> Arduino D10
  • Qizil sim -> +5V Arduino
  • Jigarrang sim -> Arduino GND (Arduino -ning 2 ta GND pinidan har qanday)

Batareya:

  • Qizil sim -> Arduino pin
  • Qora sim -> Arduino GND (Arduino -ning 2 ta GND pinidan har qanday)

Endi faqat shassi ichidagi barcha simlarni ehtiyotkorlik bilan to'ldirish va ikkala yarmini yopish kerak. Mening robotim shunchalik to'lganki, uni to'kib yubormaslik uchun rezina tasma kerak.

5 -qadam: Amalda

Image
Image

Sizning robotingiz 15 sm dan kichikroq narsani topguncha oldinga siljiydi.

Siz ushbu kod satrida masofani o'zgartirishingiz mumkin:

agar (masofa <= 15)

Bundan tashqari, quyidagi qatorlarni o'zgartirish orqali oldinga va orqaga tezlikni o'zgartirishingiz mumkin:

myservo1.write (XXX); myservo2.write (XXX);

bu erda XXX = 0 - myservo1 uchun to'liq tezlik, XXX = 180 - myservo2 uchun to'liq tezlik.

va XXX = 90 ikkala servo uchun ham nuqta bo'ladi.

Tavsiya: