Мазмуну:

Отто Бот (I Mine Spike деп аталат): 5 кадам
Отто Бот (I Mine Spike деп аталат): 5 кадам

Video: Отто Бот (I Mine Spike деп аталат): 5 кадам

Video: Отто Бот (I Mine Spike деп аталат): 5 кадам
Video: Я есть. Ты есть. Он есть_Рассказ_Слушать 2024, Июль
Anonim
Отто Бот (Мен Mine Spike деп атадым)
Отто Бот (Мен Mine Spike деп атадым)
Отто Бот (Мен Mine Spike деп атадым)
Отто Бот (Мен Mine Spike деп атадым)

Бул жөн эле кимдир бирөө жөнөкөй сейилдөөчү роботту түзө ала турган жөнөкөй долбоор.

Берилиштер:

Бул конструкция үчүн сизге керек болот:

*УЗИ сенсор

*1 3D басылган корпус

*4 сервос

*Arduino нано тактасы

*баяндамачы

*9v батарея пакети

*9v батарея

*8 аял зымдары

* USB мини шнуру

*көчмө батарея

*жасалгалар

*жүктөлгөн ысык клей мылтыгы

*кандооч

*4 кичине бурамалар

*бурагыч

*электр тасмасы

*4 кичинекей кир жуугуч

1 -кадам: Орнотуу/куруу

Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат
Орнотуу/имарат

Баштоо үчүн, алгач комплектти сатып алуу керек:

Андан кийин төмөнкү кадамдарды аткарыңыз:

тетиктериңизди өчүрүү үчүн корпусту өзгөртүүңүз керек болушу мүмкүн, ошондуктан мен ширетүүчү темирди колдондум

2 -кадам: Оңдоолор жана оңдоо зымдары

Оңдоо жана оңдоо зымдары
Оңдоо жана оңдоо зымдары
Оңдоо жана оңдоо зымдары
Оңдоо жана оңдоо зымдары

Аны кооздоп, ботко кошумча өлчөмдөрдү кошуунун кажети жок болсо да, роботтун салмактуу болушу үчүн салмагын тең салмактап коюңуз.

эгер сиз зымдарды чечсеңиз, анда эки топтомду тең бурап, мөөрдү өткөрө аласыз.

9v батарейкасы же 4 эсе көп батарейкасы жетишсиз болушу мүмкүн, ошондуктан мен тактага такай туташтыруу үчүн көчмө батареяны колдонууну чечтим.

Мен дагы тартуу үчүн боттун бутунун түбүнө скотч коштум

кабелдик башкаруу татаал болот, ошондуктан мен электр лентасын колдонууну сунуштайм, бири -бирине туташкан зымдардын топтомун мөөр басып, динамикти жана баскычты сыртка каратып коюңуз, анан баары жетиштүү болгондон кийин ботко мөөр басып коюңуз, айрыкча иш толугу менен структуралык жактан туура эмес

3 -кадам: Кодду жүктөө

// ------------------------------------------------ -------------------------------------------------- -------------------------------------------------- ----------------- // Отто_авоид үлгүсүнүн эскизи // -------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------- //-Отто DIY PLUS APP жабдыктын версиясы 9 (V9) //-Отто DIY ачык булак коду менен жабдууну камсыз кылган убактысын жана ресурстарын инвестициялайт, комплекттерди сатып алуу менен колдоо көрсөтүңүз (https://www.ottodiy.com) // ------------ -------------------------------------------------- --- //-Эгерде сиз бул программаны Open Source Licensing астында колдонууну кааласаңыз, анда бардык баштапкы кодуңузду коомчулукка кошушуңуз керек жана жогорудагы бардык текстти кайра бөлүштүрүүгө кошуу керек //-GPL Version 2 ылайык. Сиздин колдонмо таратылганда. Караңыз https://www.gnu.org/copyleft/gpl.html // -------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------- #include //-Отто китепкананын 9-версиясы Отто9 Отто; // Бул Отто!

//---------------------------------------------------------

//-Биринчи кадам: Серволор тиркелген казыктарды конфигурациялоо /* --------------- | O O | | --------------- | YR 3 ==> | | ----- ------ <== RL 4 | ----- ------ | */// SERVO PIN коддору /////////////////////////////////////////////////////////////////////////////////////////////////////// шырак Бойлар ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Vfleffsff////////////” // servo [1] оң бут #define PIN_RL 4 // servo [2] сол бут #define PIN_RR 5 // servo [3] оң бут // ULTRASONIC PINs /////////////// /////////////////////////////////////////////////// ///////// #define PIN_Trigger 8 // TRIGGER pin (8) #deinine PIN_Echo 9 // ECHO pin (9) // BUZZER PIN /////////////// /////////////////////////////////////////////////// ///////////// #define PIN_Buzzer 13 // BUZZER пин (13) // SERVO ASSEMBLY PIN ////////////////////// //////////////////////////////////////////////////// Оттонун буттарын жана буттарын чогултууга жардам берүү үчүн - пин 7 менен GND ортосундагы зым шилтемеси #PIN_ASSEMBLY 7ди аныктоо // ЧОГУЛУУ пин (7) ТӨМӨН = монтаж Жогорку = нормалдуу иштөө //////////////// /////////////////////////////////////////////////// //-Глобалдык өзгөрмөлөр -------------------------------------------/ //////////////////////////////////////////////////// //////////////////// int расстояние; // УЗИ диапазонун табуучу модулдан окулган аралыкты сактоо үчүн өзгөрмө bool obstacleDetected = false; // логикалык абал, объект аныкталган аралыкта болгондо /////////////////////////////////// /////////////////////////////// //-- Жайгашуу -------------- ---------------------------------------- // //////// /////////////////////////////////////////////////// ///////// void setup () {Otto.init (PIN_YL, PIN_YR, PIN_RL, PIN_RR, true, A6, PIN_Buzzer, PIN_Trigger, PIN_Echo); // Серво казыктарын жана УЗИ пиндерин жана Buzzer pin pinMode (PIN_ASSEMBLY, INPUT_PULLUP) орнотуңуз; // - Оңой чогултуу пин - LOW - монтаж режими // Отто ойгон! Otto.sing (S_коннект); // Отто үн чыгарат Otto.home (); // Отто даяр абалына кечигүү менен жылат (500); // Оттонун токтоосуна уруксат берүү үчүн 500 миллисекунд күт // (PIN_ASSEMBLY) == ТӨМӨН) {Otto.home (); // Отто даяр абалына өтөт Otto.sing (S_happy_short); // ар 5 секунд сайын ырдап туруңуз, ошондо биз OTTO дагы деле кечигип жатканын билебиз (5000); // 5 секунд күтө туруңуз}

}

/////////////////////////////////////////////////// /////////////////-Негизги цикл --------------------------- ------------------ // /////////////////////////////// //////////////////////////////////////////////////// void loop () {if (obstacleDetected) {// if 15 см жакын объект бар, анда биз төмөнкү Otto.sing (S_surprise) жасайбыз; // сюрприз угулат Otto.jump (5, 500); // Отто секирип Отто.синг (S_cuddly); // үн а // Отто үч кадам артка кетет (int i = 0; i <3; i ++) Otto.walk (1, 1300, -1); // артка кайтуу буйругунун кечигүүсүн үч жолу кайталаңыз (500); // Оттонун жайгашуусуна мүмкүндүк берүү үчүн кичинекей 1/2 секундага кечиктирүү // Отто 3 кадам солго бурулат (int i = 0; i <3; i ++) {// үч жолу кайталаңыз Otto.turn (1, 1000, 1); // жүрүү сол команданын кечигүүсү (500); // кичине 1/2 секундук Оттонун жайгашуусуна мүмкүндүк берүү үчүн}} башка {// эгерде алдыда эч нерсе болбосо, анда Otto.walk алдыга басуу (1, 1000, 1); // Отто түз баруу кедергі obstetDetector (); // УЗИ диапазонун 15смден жакыныраак объектти текшерүү үчүн функцияны чакырыңыз}} ///////////////////////////// /////////////////////////////////////////////////////-Функциялар --------- ----------------------------------------- // /////// /////////////////////////////////////////////////// /////////

/- Алыстык сенсорун окуу жана тоскоолдукту аныктоо функциясы

жараксыз obstacleDetector () {int distance = Otto.getDistance (); // УЗИ диапазонунан аралыкты алуу, эгерде (расстояние <15) obstacleDetected = true; // бул аралыктын 15смден жакыныраак экенин текшериңиз, эгерде ал туура болсо obstacleDetected = false;

}

4 -кадам: Китепканалар керек

Китепканалар керек
Китепканалар керек

Китепканаларыңыз алынгандан кийин, Arduino IDEге кирип, жүктөгүчтөрүңүздүн жаңыртылгандыгын текшеришиңиз керек болот.

Тактаңызды Arduino Nanoго, процессоруңузду ATmega328Pке (Эски жүктөгүчкө) жана COMңузду роботту кайсы портко туташтырганыңызга коюңуз. Бул кадам жасалып, кодуңуз даяр болгондон кийин, кодду роботко жүктөө үчүн программанын жогорку сол бурчундагы жүктөө баскычын басыңыз.

Сиз каалаган кодду жана китепкана топтомун таба алсаңыз да, алардын баары эле сыйкырчы иштебейт, кечки тамактануу көңүлдү чөгөрүшү мүмкүн.

5 -кадам: Ысмы, ырахаты жана кыймылын көрүңүз

Эгерде баары план боюнча жүрсө жана такта куурулбаса, анда сизде бот болушу керек, ал ырдап, бийлеп, ары -бери жылып, тоскоолдуктарды болтурбай турган программалар болушу керек.

Сиз жөн эле Отто деп атасаңыз да, мен аны өзүнө коюу бир аз кызыктуу экенин түшүндүм, ошондуктан мен Spike деп атадым.

Сунушталууда: