Съдържание:

Играчка за преследване на кучета с лазерно управление на Arduino: 6 стъпки
Играчка за преследване на кучета с лазерно управление на Arduino: 6 стъпки

Видео: Играчка за преследване на кучета с лазерно управление на Arduino: 6 стъпки

Видео: Играчка за преследване на кучета с лазерно управление на Arduino: 6 стъпки
Видео: Leap Motion SDK 2024, Ноември
Anonim
Image
Image
Играчка за преследване на кучета, контролирана от Arduino
Играчка за преследване на кучета, контролирана от Arduino

Преди около две години построих тази играчка за моето куче, където лазерът се контролира с два сервомотора, за да му даде произволно движение, където лазерната точка избяга и той може да я преследва. Лазерът работи перфектно, но по време на скорошното ми преместване той се повреди, така че в тази инструкция ще го поправим и ще обясня принципите на работа.

Стъпка 1: Материали

Материали
Материали
Материали
Материали
Материали
Материали

Проектът се състои от 4 части: дъска Arduino, 2 микро серво серво и лазерен модул. Всички те се помещават в пластмасов контейнер от заквасена сметана, където дъската Arduino е залепена до дъното, докато сервомоторите и лазерът са отгоре.

По -долу е даден списък с връзки за закупуване, където можете да получите това, от което се нуждаете:

  • Дъска Arduino:

    www.banggood.com/custlink/vKGvhaBTl3

  • 9g мини сервомотори:

    www.banggood.com/custlink/v33GdlgfaE

  • Лазерен диоден модул:

    s.click.aliexpress.com/e/crrJMQgs

Стъпка 2: Строителство

Строителство
Строителство
Строителство
Строителство
Строителство
Строителство

Преди това сервомоторите бяха залепени към капака с горещо лепило, но не издържаха. За да поправя това, ще използвам двустранна лента от пяна, тъй като това се оказа много издръжливо там, където съм го използвал. Подравняването на капака не е толкова критично, тъй като винаги може да се регулира чрез завъртане.

Другото серво е директно прикрепено към първото, за да могат заедно да движат лазера в две посоки. Първият го премества наляво и надясно, докато вторият го премества нагоре и надолу. Лазерният модул е прикрепен към рамото на второто серво с малко горещо лепило, което изглежда все още се държи.

Стъпка 3: Окабеляване

Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации
Електрически инсталации

Електрическото окабеляване на проекта е сравнително лесно. Серво двигателите имат три проводника: захранване, заземяване и сигнал. Захранващият проводник обикновено е червен и трябва да бъде свързан към 5V щифта на платката Arduino. Заземяващият проводник обикновено е черен или кафяв и трябва да бъде свързан към заземяващ щифт на платката Arduino. Сигналният щифт обикновено е жълт, оранжев или бял и трябва да бъде свързан към цифров щифт на платката Arduino. В нашия случай използваме цифрови щифтове 9 и 11. Имайте предвид, че сервомоторите извличат значителна мощност, така че ако трябва да управлявате повече от един или два, вероятно ще трябва да ги захранвате от отделно захранване, а не от +5V щифта на вашия Arduino.

Лазерният модул има три пина, но се използват само два от тях. Тази от лявата страна е положителната връзка и обикновено се маркира с главни букви S, докато отрицателната връзка е отдясно и е отбелязана с минус. Можете да получите връзката към пълната схема в описанието на видеото.

Пълната схема е достъпна на EasyEda:

easyeda.com/bkolicoski/Arduino-Laser-Toy

Стъпка 4: Принципи на работа

Принципи на работа
Принципи на работа
Принципи на работа
Принципи на работа

Сега, когато ремонтът е приключил, нека да разгледаме кода и как работи това устройство. Типичен 9g микро серво има движение на 180 градуса и се управлява от ШИМ сигнал. Този сигнал се генерира от Arduino с помощта на библиотеката Servo. Библиотеката предоставя удобен метод, наречен “write”, който записва стойност към серво, като съответно контролира вала. На стандартно серво, това ще зададе ъгъла на вала (в градуси), премествайки вала до тази ориентация.

В нашия случай искаме да ограничим това движение до максимум около 50 до 70 градуса във всяка посока, така че зоната, където кучето тича, да не е твърде голяма, за да не се умори твърде скоро. Освен това използвах тези ограничения, за да задам периметъра на лазера, така че да не излиза от зоната, в която кучето ми трябва да се движи. Те се задават в началото на скицата заедно с дефинициите за двете серво и променливите, които ще използваме за тяхната позиция.

Стъпка 5: Arduino код

Кодът на Arduino
Кодът на Arduino
Кодът на Arduino
Кодът на Arduino

В функцията за настройка първо инициализираме сервомоторите и ги прикрепяме към правилните щифтове на Arduino. Това ще каже на библиотеката да извежда PWM сигнала на този щифт. След това записваме първоначалната позиция и на двете сервомашини и за да можем правилно да поставим играчката, добавих код, който ще премества сервомоторите в кръгъл модел за 3 пъти по ръбовете на зададената граница. По този начин можете да видите къде се движи точката и да регулирате съответно поставянето на играчката.

Във функцията цикъл първо генерираме две числа, представляващи следващите ъгли на двете серво и предоставяме границите, които предварително сме задали. Случайната функция в Arduino може да приеме минималната и максималната стойност, която трябва да генерира. След това тези стойности се изпращат към сервомоторите, една по една, със закъснение от половин секунда между тях.

Пълният код може да бъде намерен на моята страница на GitHub:

github.com/bkolicoski/LaserToy

Стъпка 6: Насладете се

Наслади се!
Наслади се!
Наслади се!
Наслади се!

Надявам се, че този Instructable е бил образователен и интересен, затова предлагам да ме последвате и не забравяйте да се абонирате за канала ми в YouTube.

Препоръчано: