Самое бесполезное устройство продвинутое своими руками. Самые бесполезные usb устройства в мире (12 устройств)

Самое бесполезное устройство продвинутое своими руками. Самые бесполезные usb устройства в мире (12 устройств)

22.11.2022

Наверняка вы видели как выглядит "Самое бесполезное устройство", если нет - то стоит посмотреть видео его работы. Это незабываемо!

Занимательная вещица:) А главное оно может надолго приковать внимание гостей.
Обычно именно такие интересные вещицы и хочется изготовить своими руками.
Надо сказать, изготовление подобного устройства - не сложное. Вполне можно обойтись тем что есть под рукой.

Вот принципиальная электрическая схема самого бесполезного устройства:

В качестве привода толкателя выключателя можно использовать обычную сервомашинку. Причем, подойдет и "убитая" серва. Все равно из оригинальной сервомашинки удаляется вся электроника и используется только мотор и встренный шестеренчатый редуктор.

Кроме этого вам понадобиться шестиконтактный On-On переключатель и микровыключатель. Кстати последние обычно используются под клавиши нажатиях в компьютерных мышках.

Самое сложное в изготовлении подобной машинки - это сделать корпус. Схематично работающее устройство можно изготовить из термопластика. В последствии несложно доделать корпус из дерева или пластика.

Посмотрите видеоинструкцию по изготовлению самой бесполезной вещи. В данной инструкции показано как делать и что куда закреплять.

Изготовленное устройство не столь красиво как на первом видео, но оно работает и так же бесполезно, как и оригинал:)

Павел комментирует:

О, круто! Пойду куплю все что надо)

Анджей комментирует:

Забавная самоделка. Такую и подарить не стыдно и развлечения из нее можно извлечь - просто невисть сколько!

Теперь перейдем к другим бесполезным технологиям. Сейчас USB-порт очень популярен и многие устройства работают, подключаясь к этому порту: джойстики, клавиатуры, мыши, флешки и жесткие диски, телефоны, планшеты, да и много-многое другое. Но здесь сейчас хотелось бы показать несколько устройств, работающих от usb , но которые непонятно зачем придумали. Итак, 12 самых бесполезных usb-устройств.

1. USB кружка (кружка-мышка). Ну теперь проблема решена. Устройство 2 в 1. Кнопка действия находится на дне кружки, т.е. чтобы нажать кнопку надо поставить кружку на стол. Еще одна функция — это постоянная система подогрева. Ваш кофе теперь никогда не остынет!

2. Флешка в виде шара для боулинга. Как утверждает ее создатель, она была сделана такой объемной, чтобы флешка никогда не терялась, а то это вечная проблема. Правда проблема будет также таскать ее с собой куда-нибудь.

3. . Благодаря этому usb-устройству вы можете наносить любимые изображения на кусочки хлеба с помощью поджаривания.Необходимость этого изобретения просто зашкаливает.

4. Радар для приведений. Устройство засекает любую паранормальную активность и издает сигнал тревоги. Мощьность сигнала зависит от близости призрака к вам, так что теперь вы будете начеку.

5. Мистер Тенгу. Устройство ничего полезного не делает. Просто когда вы его подключаете в usb-порт, оно начинает строить рожи с разной периодичностью.

6. USB-собака. Если есть свободный порт на передней панели, то можно вставить эту собаку. Правда опять же ничего полезного она не делает, а только постоянно качает пресс. Больше никакой функции она не несет.

7. USB-молоток. Устройство очень даже забавное. Сам молоток состоит из пеноматериал, а в комплекте идет датчик для монитора. Суть данного устройства в том, что если вы раздражаетесь и хотите разбить свой монитор, то на помощь к вам придет молоток. Им вы бьете по монитору с любой силой, срабатывает датчик, раздается характерный звук треснувшего стекла и экран покрывается трещинами (естественно не по настоящему). Так что устройство немного избавит вас от стресса.

8. Надоело пить теплую колу или пиво за столом, тогда подключите usb-холодильник и ваш напиток всегда будет прохладительным.

9. Самые обыкновенные флешки, но делаются они на заказ, они покрываются золотом и драгоценными камнями, и уже получается что за 32 гигабайтную флешку вы потратите десятки тысяч долларов. В общем для мажоров.

10. USB-камень. Да-да! Именно камень. Непонятно зачем его вообще придумали. От нечего делать? Камень ничего не делает. Вы просто подключаете его к USB и всё. Действительно всё. С таким успехом вы сможете положить обычный камень.

О пять приключилась хорошо известная многим беда – день рождения у хорошего друга. Опять встал вопрос “что дарить?”. С учетом того факта, что человек не любит в хозяйстве бесполезные вещи, возникла идея подарить ему именно бесполезную вещь. Некоторая логика в этом есть. Ведь сам он ни в жисть не обзаведется бесполезной вещью. Но ради вселенской гармонии, должна же быть в хозяйстве хоть одна такая. Ну, чтобы была… Одна… Хоть бы и для того, чтобы он мог сказать: “Я не люблю бесполезные вещи. У меня в хозяйстве есть всего одна единственная бесполезная вещь и этого более чем достаточно для вселенской гармонии. Тема закрыта. ” Ну, вот, подарок ко дню рождения – хороший повод помочь человеку закрыть эту тему навсегда и больше никогда о ней не вспоминать:-)

При таком раскладе, недостаточно было сделать какую-нибудь очередную фоторамку или найти какой бессмысленный сувенир для полки. Для большинства людей их бесполезность не слишком очевидна. Нужно было что-то настолько бесполезное придумать, чтобы бесполезность этого просто сочилась из вещи. Чтобы она была неким символом, олицетворяющим всю суть своей бесполезности.

Признаться, я таких вещей знаю не так много. И есть среди них одна, сделать которую, я хотел уже очень-очень давно. В англоязычных интернетах она называется “The Most Useless Machine Ever” или “Leave Me Alone Box”. На любом ютубе по обоим этим запросам найдете массу вариантов реализаций этого бесполезного устройства, если хотите.

Суть такого устройства заключается в том, что вся его работа направлена на то, чтобы себя выключить. Вы его включаете – оно само себя выключает. И все.

Самая чумовая такая машинка, что мне попадалась – вот эта . От прочих её отличает то, что её можно своей настойчивостью натурально довести до истерики. После буйного приступа она не только отключится, но и тумблер от вас спрячет, чтобы больше не докапывались… Хотя, если честно, всем этим она нарушает саму свою суть – она начинает развлекать. И, соответственно, перестает быть такой уж бесполезной:-)

Сам я решил делать классический вариант. Вот им уж точно особо развлечься не получится. Тем более, что на всякие механические выкрутасы времени уже совсем не было…

Общая схема того, что я собирался делать такова:

По принципу работы получается так:

Крышка. Элемент конструкции коробки, в которой собрано устройство. Во время работы она должна подниматься, чтобы “выпустить” рычаг (шаг 2), переключающий устройство на обратный ход (шаг 3).

Корпус. Просто незатейливая коробка с откидывающейся крышкой. В силу наличия у меня некоторого количества обрезков фанеры – решил делать коробку из нее.

Тумблер. Тумблер нужен не какой попало. Он должен удовлетворять нескольким условиям. Во-первых, он должен быть “двойным”. Т.е. обслуживать не одну линию цепи, а две. Вот такой тумблер нужен, с шестью контактами:

Во-вторых, тумблер должен быть “мягким”. Т.е. на его переключение не должно тратиться большое усилие. Распространенные нынче микропереключатели, как на фото – вполне удовлетворяют этому условию. Конечно, в принципе, ничего не мешает использовать здоровенный “троллейбусный” тумблер со спичечный коробок размером. Только для него понадобится куда более мощный мотор и редуктор, которые не так просто будет найти. Для микропереключателя же подойдет почти любой сервопривод, коих навалом в магазинах с запчастями для радиоуправляемых моделей.

“Плавник” . Сей элемент был добавлен уже в самом конце затеи. Изначально его не было на схеме. Просто, мне показалось, что рычаг поднимает крышку недостаточно высоко. Чтобы повысить… ммм… выразительность всего действа, надо, чтобы крышка поднималась более… отчетливо . Конечно, по идее, надо было бы этот “плавник” сразу закладывать в профиль рычага, чтобы они были единым целым. Но идея добавить его, меня посетила, когда практически вся конструкция была уже собрана. Поэтому “плавник” стал отдельным элементом, приклеенным к рычагу.

Рычаг . Пластина из толстого оргстекла. Достаточно жесткая, чтобы уверенно перебросить клацалку тумблера (шаг 3). Основная проблема – правильно и точно разработать его профиль. Он должен свободно поворачиваться ничего не цепляя по ходу, поднимать крышку и точно упираться в клацалку тумблера.

Батарейка. Изначально я закладывался на обычную девятивольтовку. Она же и на схеме представлена. Однако, потом выяснилось, что для найденного мотора с редуктором, девять вольт – слишком дофига. Устройство очень быстро срабатывало. Рычаг выскакивал, как лезвие выкидухи, почти незаметно для глаза. При этом, хоть устройство и работало, как было задумано, но на такой скорости не получалось всецело насладиться всей бесполезностью его работы. Заменив девятивольтовку двумя полторашками AA (получил суммарные три вольта), я сильно замедлил работу механизма и все стало, как надо – плавно и концептуально:-)

Мотор и редуктор. . Просто мотор с просто редуктором. Отбирал по скорости вращения (как можно медленнее), по создаваемому усилию (желательно, выше расчетного) и по цене (как можно более низкой). В итоге, по всем этим условиям, подобрался такой мотор с редуктором. Недорогой, компактный, подходил по вольтажу, давал низкие обороты и развивал довольно внушительное усилие на рычаге.


Как я высчитывал, какое мне нужно усилие на редукторе? Очень просто. Хотя и совершенно коряво. Просто взял электронные весы, взял тумблер, облокотил его клацалкой на пластину весов и давил до тех пор, пока он не переключился. В момент переключения снял показания с табло весов. Конечно, получаемая величина, была не из серии “сколько-то-там унций на дюйм”, а “сколько-то-там унций на размер пластины весов”, но все же эта цифра давала некое общее приблизительное представление. Можно было прикинуть погрешность… В моем случае, мне нужно было искать мотор с редуктором, которые давали бы на рычаг порядка 30 унций на дюйм. Ну, плюс-минус… Выбранный механизм выдает 50 унций на дюйм, что вполне достаточно со всеми погрешностями.

На схеме выше отсутствует еще одна немаловажная деталь:
Прерыватель обратного хода. Он нужен для того, чтобы рычаг, вернувшись в исходное положение, после переключения тумблера (шаг 4), отрубил всю систему и больше не шевелился (шаг 5). Мне показалось, что такой прерыватель, настолько примитивная, очевидная и простая штука:

… что оно совершенно недостойно внимания на чертеже. О, как я ошибался!!! Во всем проекте, этот чертов прерыватель стал самым большим приключением, которое мне изрядно попортило нервов!

Электросхема прибора выглядит так:

S1 – основной “двойной” тумблер. Суть его работы заключается в том, что он просто переключает полярность подаваемого на мотор (M) тока. Соответственно, в зависимости от положения переключателя, привод вращается, либо по часовой стрелке, либо против.
S2 – тот самый прерыватель обратного хода, который должен размыкать цепь, когда рычаг займет исходное положение, после переключения тумблера S1 на обратный ход.

Это все была теоретическая часть. Теперь – от теории к делу.

Проблемы начались с первого же момента. В том магазине, на который я дал ссылку выше, искомых редукторов не оказалось в наличие. Они меня клятвенно заверили, что за неделю они закупят новую партию и тут же мне отправят. Жутко извинялись и предлагали на замену другой редуктор. Но он был в комплекте со всякими ненужными мне шестернями, креплениями и вообще, похоже, это был какой-то вертолетный кит, не устраивающий меня по цене. На ебее такие же редукторы так и вовсе стоили в два раза дороже почему-то. По другим магазинам тоже ничего подходящего не нашлось сходу… У меня был некий запас по времени и я мог подождать. По моим оценкам, собрать все это – дело пары вечеров. Плюс пара дней на почтовое отправление. День про запас на всякий случай. Итого, если они мне пришлют его хотя бы за пять дней до “часа Х”, то я успеваю сделать подарок к сроку. Ну, а не пришлют, делать нечего – возьму на ебее с экспресс-доставкой… Но магазин не подвел. Прислали редуктор в срок.

Прежде всего, необходимо было поставить эксперимент с рычагом и тумблером. Ведь, если я промахнулся с расчетами, то редуктору не хватит сил переключить тумблер, а это значит, что нужен другой редуктор с другими размерами и все прочие расчеты тоже станут другими. Прежде чем выпиливать рычаг и делать коробку – надо убедиться в теоретической работоспособности устройства.

Первая стадия эксперимента – проверить электросхему. Согласно показаниям мультиметра, тумблер успешно менял полярность на выходе:

Вторая стадия эксперимента – подключить редуктор с рычагом и посмотреть, будет ли он переключать тумблер. В качестве рычага использовал какой-то кусок оргстекла, первым подвернувшимся мне под руку:

Если все сделано правильно, то мотор должен мотать рычаг туда-сюда, переключая тумблер то с одной, то с другой стороны:

ОК. Эксперимент увенчался полным успехом и можно было на базе этого редуктора собрать конечное устройство.

Как я уже сказал, коробочку дня него я стал делать из фанеры:

Тут была единственная тонкость, с соединением плоскостей. Если их соединять внахлест, то будут видны торцы листов. Это некрасиво. Поэтому, края всех пластинок запиливались под 45°:

Теперь их можно клеить так, чтобы не было видно торцов на стыках:

Для фиксации редуктора в коробочке, я выгнул вот такую страшную скобку из старой слотовой заглушки:

Она показалась мне настолько страшной, что я решил её покрасить. Для эстетизьму… Не уверен, правда, что покраска привнесла в изделие этот самый эстетизьм:

Мнда… Редкий случай, когда на фотографии что-то выглядит еще отвратительнее, чем в реальности. Обычно происходит наоборот:-)

Рычаг… Сперва отпечатанный шаблон был перенесен на кусок оргстекла:

Тут надо было быть очень-очень точным. Устройство, хоть и простое, но допускало только очень небольшие погрешности. Иначе, либо в тумблер попадать не будет, либо за коробку цеплять начнет… Даже свежее острое полотно заправил в лобзик по такому случаю:


В итоге, все получилось, как и должно было быть:

К сожалению, в нашей несовершенной Вселенной, есть такое явление – инерция. В моем случае это означало, что даже после отрубания питания на моторе, он еще продолжал махать рычагом по инерции, прежде чем полностью останавливался.

Создатели этого редуктора, видимо, тоже подозревали о существовании инерции. Поэтому они предусмотрели в механизме редуктора некий предохранитель. Если рычаг во что-то упирается, а шестерни еще продолжают крутиться, то, чтобы редуктор весь не разнесло (все же – пластмасса), они сделали там переключалку. При упоре, рычаг переключается на обратный ход. Ненадолго.

В итоге, у меня получилось так: рычаг идет на откат, размыкает прерыватель, ток на моторе отключается, рычаг продолжает давить дальше по инерции, срабатывает предохранитель в редукторе, рычаг идет в другую сторону… прерыватель, ясен пень, опять восстанавливает цепь, включается мотор, рычаг опять идет на прерыватель, тот размыкается… инерция, откат, контакт… и так оно долбит чечетку до опупения. Выглядит забавно, конечно, но…

Казалось бы – надо отрегулировать прерыватель так, чтобы он разрывал цепь чуток заранее, с учетом последующей инерции рычага. На деле же, сделать эту поправку оказалось чрезвычайно сложно. Получалось всегда две крайности: либо ток отрубался слишком рано и рычаг не опускался до конца (а значит и крышка у коробки не закрывалась), либо разрыв срабатывал слишком поздно и механизм сваливался в “чечетку”, которую я описал выше.

Там сразу сходится в точку куча факторов. В том числе и длина рычажка прерывателя. Я даже сделал свой собственный крошечный совсем прерыватель из микрокнопки от мышки. Все равно не получалось. И пытался сделать прерыватель в виде двух медных полосочек, как в релюшке… Чего только не перепробовал. Чуть не рехнулся, пытаясь настроить все так, как надо! Получалось, что надо делать какой-то очень точный подстроечный механизм с микроподачей. Чтобы задержку прерывания можно было регулировать с микронной точностью…

К счастью, нашелся способ проще. Достаточно было просто подумать нешаблонно и… вовсе отказаться от прерывателя такого вида. Кто сказал, что контакт можно прерывать только рычажной конструкцией? Есть миллион способов механического решения, без участия рычага (электронные способы не рассматриваются в данном случае).

Рычаг к редуктору фиксирует большая, прекрасная металлическая шайба. Вот, прямо её и можно использовать в качестве одного из контактов. По ней будет ползать второй контактный усик. Размыкание осуществлять просто лишая усик контакта с шайбой. Простым скотчем. Вот так:

Настройка производится следующим образом: сперва изолирующий скотч клеится с большим запасом, а потом, скальпелем от него отрезается по крошечной полоске толщиной с волос, до тех пор, пока рычаг не начнет останавливаться именно там где надо.

И никаких сложных конструкций с микроподачей и всем остальным:

Предвосхищая очевидный вопрос – нет, “усик” не протрет скотч. В смысле, рано или поздно он его протрет, конечно – не существует в мире вечных материалов. Но я его отполировал в точке контакта, да и прижимается он не так сильно. Скотча наклеил потом в два слоя. В общем, на износ потребуются долгие годы. Решение вполне приемлемое и работает, как часы:

На видео выше, основной тумблер я сам еще переключаю вручную. Но отсечка обратного хода уже происходит сама, по прерывателю из шайбы и скотча.

Надежность конструкции подтвердилась не очень приятным для меня фактом… Не знаю, как и каким образом, но когда посылка с устройством пришла к получателю, оказалось, что вон тот винтик, который крепит шайбу к оси редуктора – выпал! Не представляю, что там на почте делали с посылкой. Но даже с этим выпавшим осевым винтиком, коробочка продолжала прекрасно работать… Я проинструктировал получателя по телефону, как вернуть этот винтик на место. Надеюсь он справится с такого рода ремонтом. Но – неприятный дефект всплыл, да… :-(

К тому моменту склеились и были готовы остальные части коробочки. Дно коробочки, к которому крепится редуктор и блок батареек, я не стал приклеивать к стенкам. Оказалось достаточным зафиксировать его декоративными металлическими уголками:

Если аккуратно выколупать по два гвоздика в каждом таком уголке, то дно свободно отделится от остальной конструкции.

Петельки для крышки в стиль:

Вот, где-то тут я понял, что неплохо бы увеличить величину подъема крышки во время выхода рычага. Начертил, выпилил и приклеил на рычаг “плавник”, который этот подъем увеличивает на нужную высоту:

Еще немного декора и устройство полностью готово:


В действии.

Arduino + два сервопривода + плата зарядки + плата повышающего преобразователя + старый аккумулятор + кучка радиодеталей + кусок фанеры + тумблер = сбылась мечта идиота!
Много текста, для тех, кто любит читать. Много спойлеров, для тех, кто любит читать «по диагонали». Видео, для тех, кто любит видео. Скетч, для тех, кто любит сразу скопировать и запустить «на коленке». Фото, фото, фото. Кот, для любителей котов.

Не совсем дисклеймер

Это мой первый проект, не считая мигания светодиодом, Hello world и т.п. По традиции надо предварительно посыпать голову пеплом, на предмет того, что код далек от совершенства и обязательно ввязаться в спор по этому поводу. А также по поводу частичной скопированности кода у другого проекта, попросить не бить сильно и т.д. Но этого не будет. Код идеален! Потому что работает, нравится мне и сделан для себя.
Интересующимся дам совет: не бойтесь, вступайте в бой, лопатьте горы кода, стройте свои мегапирамиды из разных операторов. Со временем придет и стиль, и утонченность, и идеал.
Пока в памяти контроллера есть место - вам ни чего не страшно. Упретесь в стену - будете оптимизировать. И это тоже развитие. Оно важно.
Большая книга по программированию на С - да, полезно. Но, на первых порах, гораздо полезнее иметь под рукой краткий справочник по командам и держать в закладках несколько ссылок на работу с простыми примерами, библиотеками и т.п., вроде , или той же Амперки.
И еще, мне очень помогают блок-схемы. Прямоугольник, ромбик, овал. Кто сталкивался - понимает. Делаю сейчас один проект - без блок-схемы никак. Для меня, лучше несколько дней рисовать - перерисовывать на бумаге, чтобы яснее представить себе весь ход работы программы, чем набросать кучу кода и зашиться в нем, т.к. я не обладаю умением охватить весь код силой своей программистской мысли, в виду малого опыта.
Желающим повторить или сделать по-своему – отвечу на все вопросы.
В пустые споры по моей письменной грамотности, стилю, дизайну, коду и нужности изделия и т.п., вступать не буду. Если допустил где-то в обзоре суровый косяк – исправлю или допишу.

Что такое «Самое бесполезное устройство» можете загуглить сами. Я натолкнулся на него случайно . Этот код и был взят за основу, т.к. сам по себе он не запустился, да и сценарии хотелось сделать свои.

Лирическое отступление

Говорят, после сорока, особенно, когда уже очень после сорока, нужно стараться «разминать» мозги. И что изучение языков - лучшая разминка. И не только в таком возрасте. К языкам я не очень, а журнал «Здоровье» как бы советует… В общем, решил я изучить что-то новое для себя. Электроника для меня не в новинку, хоть и забыл я ее уже по большей части, но вот программирование ни когда не было родным. Я его побаивался. Но тут совпало много знаков свыше: журнал «Здоровье», который рекомендует изучить что-то новое, давняя мечта разобраться (хоть немного) в программировании (хоть чего) и youtube, в котором только ленивый не рассказывает про то, как мигать светодиодом с помощью умной платы за доллар с копейками.
До этого я неплохо управлял миганием светодиода с помощью двух транзисторов, конденсатора и пары сопротивлений, но теперь, говорят, это не комильфо. Значит надо быть в тренде.


Очень мне понравилось это бесполезное, в прямом смысле слова, устройство. Увидел – влюбился. Хочу, и всё! Как детская мечта! Но возраст внес свои коррективы. Хочу именно сам сделать, а не купить. Тем более, что в продаже простые устройства. Я же натолкнулся на «интеллектуальное», а таких в продаже я не нашел. Тем более – надо делать!
И опять, Arduino. А я в нем ни бум-бум. Значит надо разбираться. Алиэкспресс в помощь. Начал с Ардуин. Понимал, что путь к изучению будет тернист и жертвы неизбежны. Поэтому заказал пять разных. Пусть себе горят, если что. Отладка схемы происходила на Uno от другого продавца. Но, так как в конечном устройстве оказалась именно эта плата - ее и вынес в заглавие.
Кроме ардуинок, заказал огромное количество всякого разного барахла, как ардуиносовместимого, так и околоардуинового. Здесь расскажу только о том, что пригодилось в данном изделии.

Arduino Pro Mini


Доставка быстрая, упаковка в виде стандартного антистатического пакета и конверта с внутренней пупырчатой поверхностью. Продавец общительный, русскоязычный.
На 328 чипе. 3,3 вольта, 8МГц. Почему именно так? Да по ошибке. Хотел на 5 вольт, 16МГц, а купил эту. Сам виноват. Впрочем, для данного проекта не критично - поставил лишний преобразователь напряжения. Собственно и всё. Огромных отличий от других Mini я не нашел. Фирменное отличие - черный текстолит(?) Из косяков: на плате не работает пин RAW. Но и это не остановило. Хотя, с ним мог бы сэкономить преобразователь на 3,3 В. гребенки не распаяны. Плата сделана добротно.
Почему так кратко? Потому что про этого продавца и его платы уже есть пристрастный (п.18). Желающие найдут легко. Пересказывать его не имеет смысла. Я в комментах к нему тоже вставил свои пять копеек. И с продавцом напереписывался вдоволь.


Сервопривод SG90


$3.2 за партию две штуки.
Описывать особенно нечего. Слабый сервопривод со средней точностью позиционирования, которая сильно зависит от скорости перемещения. Зато копеечный. Для привода крышки - с лихвой, для «руки» - на грани возможностей. Для работы нужно 5 вольт, но для управления достаточно и 3,3. Пробовал управлять через преобразователь и напрямую от ардуино - разницы нет. Поэтому преобразователь уровней сэкономил.


Контроллер зарядки и преобразователь питания


$2.28 за пять штук. С защитой. Пока заряжается - горит красный светодиод, окончание зарядки - синий светодиод. Обзор здесь был.


$0.50 за штуку. Доставка, правда, платная, но я брал в этом магазе еще целый ворох всякой всячины, поэтому доставка не напрягла. USB гнездо выпаял для облегчения веса))) На выходе выдает 5,12 вольт.





Брал в оффлайне. Немного туговат. Для облегчения работы сервы, можно было его разобрать, укоротить пружину или заменить на более слабую. Но лень победила. Поставил так. Правда пришлось в коде прописывать добавки к углу поворота сервы на больших скоростях.


TTL преобразователь


$1.5 за штуку. Вообще-то я заказал сначала . Он в два раза дешевле. Но, по каким-то странным причинам, он пал смертью храбрых. Я так и не понял, чем я его убил. По этой причине проект застопорился на месяц, пока не пришел новый, более продвинутый - не надо давить reset. Это ли не прогресс?


Остальное из запасников

Регулятор напряжения1117Т-3,3V в корпусе TO220, конденсаторы 1500,0х6,3 и 470,0х16, два конденсатора по 0,1 мкФ, белый светодиод и микропереключатель от детской машинки, резистор 220 Ом. Аккумулятор валялся несколько лет без дела. Когда-то я разобрал сгоревший (в прямом смысле) портативный DVD-проигрыватель. Из хорошего там только аккумуляторы и уцелели. Вот один из них и пригодился. Вольтаж 3,7 V, емкости я в маркировке не нашел.
Клеевой пистолет, резинка для денег, два крючка от… лифчика (спасибо супруге. Дорогая, я тебя люблю!), два мебельных шканта, четыре шурупа, четыре клейких отбойника для мебельных дверей, кусок макетной платы, провода, разъемы.


Сложнее обстояло дело с корпусом. Было перепробовано множество коробок. Коробка из пластика от часов Tissot оказалась хрупкой, частично картонной. Но металлические завесы от нее подошли. Одна даже в запасе осталась. Пробовал готовые корпуса от парфюма, коробку от вина, от конфет. В итоге, решил сделать сам.
Качественная фанера, скорее всего березовая, нашлась в детском наборе для выжигания. Ребенок вырос - набор остался. С одной стороны был нанесен рисунок, зато другая сторона выглядела прямо-таки сказать, отлично

Прямо-таки сказать, отлично

В школе у нас был трудовик. В возрасте. В общем и целом - замечательный человек. Его уважали. Когда мы проходили электричество, на примере батарейки, лампочки и ключа, он прочитал нам лекцию.
«В батарейке живет ток. Вот выходит он из плюса и пошел по проводам. Идет, идет, вдруг бац - ключ на пути. И ключ разомкнут. Ток понимает, что дальше идти некуда. Он развернулся и ушел в батарейку. И лампочка не горит. Замыкаем ключ. Ток опять пошел, дошел до ключа, прошел через него, прошел через лампочку и вернулся в батарейку. И лампочка горит, прямо-таки сказать, отлично.» С тех пор и есть такая фраза в лексиконе, как синоним чего-то неожиданно удачного.




Пробовал резать фанеру ножовкой, лобзиком - всё не то. Сколы, которые потом трудно убрать, не ровная кромка. Нашел выход - острый канцелярский нож. Замечательно прорезает половину фанеры с одной стороны, и половину с другой. Потом чуть-чуть наждачкой и всё в ажуре. Зато, при хорошей металлической линейке и постоянно остром лезвии, получается идеальный срез и ровная линия.
Конечно, не без косяков - под наклейкой Hand made скрывается банальная дырка. Просверлил по центру, для тумблера. А серва не влезла. Пришлось смещать тумблер в бок и закрывать дырку. Меня такие трудности не пугают.
Описывать каждый свой чих по изготовлению устройства не вижу смысла. Я опишу некоторые моменты. А уж имеющий руки - да сделает.
Коробку собрал на термоклей. Самого клея не жалел. Держится отменно. Не скрипит, не люфтит. Быстро, дешево и сердито. Да и вообще, как вы заметили, практически всё держится на этом клее. Рекомендую. Очень ускоряет процесс сборки. Микрик выключения приклеил изнутри на левую стенку - виднеется на фото немного.
Крышку прикрепил на завесу.

С завесой намучился. Много экспериментировал. Хотел, чтобы крышка располагалась именно сверху коробки, а не внутри. Даже согнул несколько вариантов скоб-завес из скрепок. По потом вспомнил, что в процессе экспериментов на глаза попались завесы из коробки часов Tissot. Такие добротные, швейцарские (китайские?).
Завеса вещь важная. Ее качество очень важно для общей внешней красоты устройства.
Основной тумблер нужен помягШе, тогда и работать будет полегШе.
Крышку возвращает в закрытое положение резинка. Ее не нужно выбирать очень жесткой - серва справится, но, при центральном расположении завесы, крышку будет перекашивать.
В случае с фанерой, покрытие лаком обязательно - пачкается сильно. Я применил бесцветный цапон-лак. Просто потому, что другого под рукой не оказалось.
Серву, которая управляет «рукой» лучше расположить по-другому. Не сбоку, а спереди от тумблера. Тогда «рука» может быть попроще в изготовлении - г-образная, вместо п-образной. Ширину коробки можно уменьшить и тумблер расположить по центру.
Серву крышки лучше развернуть на 180 градусов, тогда в коде проще будет ассоциировать градусы этой сервы с работой крышки. У меня наоборот, поэтому открывание - это уменьшение градусов. А у «руки» наоборот. И правильнее толкать крышку с той же стороны, с которой ее тянет назад резинка.
Коробку не стоит делать слишком маленькой. Будет не удобно пользоваться. А вот более плоской - допустимо. Коробка легкая и если она будет площе, будет устойчивее. Удобнее будет толкать тумблер пальцем не придерживая коробку.
Из двух кусков макетной платы сделал что-то типа шилда. Ардуину впаял без разъемов. Намертво. Мне не жалко.


А вот всю периферию сделал на разъемах. Так удобнее.
Конденсатор большой емкости по питанию ардуины (3,3 вольт) обязателен. Без него ардуина «виснет».
У меня нет сборочных чертежей устройства. Оно на столько простое, что можно применить много других простых решений, на которых строится вся механика. На видео, как моем, так и других подобных устройств, можно видеть применяемые варианты приводов.

#include #include Servo doorServo; //сервопривод крышки Servo handServo; //сервопривод руки Bounce bouncer = Bounce(12, 40); //создаем экземпляр класса Bounce для 12 вывода тумблера int pos = 0; //переменная начальной позиции int pos1door = 70; //начальное положение сервопривода крышки int pos2door = 30; //конечное положение сервопривода крышки int pos1hand = 10; //начальное положение сервопривода руки int pos2hand = 160; //конечное положение сервопривода руки int r; //случайное число, от которого зависит вариант выключения тумблера #define LED_PIN 11 // номер выхода,подключенного к светодиоду int ledState = LOW; // этой переменной устанавливаем состояние светодиода long previousMillis = 0; // храним время последнего переключения светодиода #define INTERVAL 30UL // интервал между включение/выключением светодиода void setup() { pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); //переключаем 12 вывод в режим входа digitalWrite(12, 1); //включаем на нем подтягивающий резистор Serial.begin(9600); //установка порта на скорость 9600 бит/сек. Для отладки. Потом можно убрать. doorServo.attach(9); //назначаем сервопривод крышки на пин 9 handServo.attach(10); //назначаем сервопривод руки на пин 10 doorServo.write(pos1door); //устанавливаем в начальную позицию сервопривод крышки handServo.write(pos1hand); //устанавливаем в начальную позицию сервопривод руки } void loop() { if (bouncer.update()) { if (bouncer.read()==0) { //если кнопка нажата { r = random(0,11); //генерируем случайное число jn 0 до 10 Serial.println®; if (r == 0) { move_0(); } //вызов функции по случайному числу else if (r == 1) { move_1(); } else if (r == 2) { move_2(); } else if (r == 3) { move_3(); } else if (r == 4) { move_4(); } else if (r == 5) { move_5(); } else if (r == 6) { move_0(); } else if (r == 7) { move_1(); } else if (r == 8) { move_4(); } else if (r == 9) { move_3(); } else if (r == 10) { move_0(); } } } } } // Библиотека функций. Общий принцип: открыть крышку - высунуть руку и выключить тумблер - убрать руку - закрыть крышку //а уж вариантов как это красиво обставить................ void move_0(){ //простой вариант: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=3) { doorServo.write(pos); delay(15); } //высовываем руку for(pos = pos1hand; pos <= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos >= pos1hand; pos -=3) { handServo.write(pos); delay(15); } //закрываем крышку for(pos = pos2door; pos <= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //простой вариант 2: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=1) { doorServo.write(pos); delay(15); } delay(1000); //высовываем руку for(pos = pos1hand; pos <= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //задумчивый вариант 2: приоткрыли-закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door+15; pos -=5) { doorServo.write(pos); delay(15); } delay(1000); //закрываем крышку for(pos = pos2door+15; pos <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //открываем крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1hand; pos -=5) { handServo.write(pos); delay(15); } //закрываем крышку for(pos = pos2door; pos <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дерганый вариант: приоткрыли-подергали - закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door+15; pos -=1) { doorServo.write(pos); delay(50); } delay(500); //дергаем крышку for(int i=1; i <=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis > INTERVAL) { previousMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); } } delay(500); //закрываем крышку for(pos = pos2door+15; pos <= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=5) { doorServo.write(pos); delay(15); } //высовываем руку for(pos = pos1hand; pos <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1hand; pos -=5) { handServo.write(pos); delay(15); } //закрываем крышку for(pos = pos2door; pos <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //открываем крышку delay(2000); for(pos = pos1door; pos >= pos2door+15; pos -=5) { doorServo.write(pos); delay(50); } delay(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); delay(2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); delay(500); //закрываем крышку for(pos = pos2door+15; pos <= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку не полностью for(pos = pos1door; pos >= pos2door+15; pos -=1) { doorServo.write(pos); delay(50); } delay(2000); //открываем крышку полностью for(pos = pos2door+15; pos >= pos2door; pos -=1) { doorServo.write(pos); delay(15); } //высовываем руку for(pos = pos1hand; pos <= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //высовываем руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+3; pos >= pos1hand; pos -=7) { handServo.write(pos); delay(15); } //закрываем крышку for(pos = pos2door; pos <= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //открываем крышку for(pos = pos1door; pos >= pos2door+20; pos -=5) { doorServo.write(pos); delay(50); } delay(300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); delay(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); delay(100); //закрываем крышку for(pos = pos2door+20; pos <= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //возня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1door; pos -=5) { doorServo.write(pos); delay(50); } delay(100); } //дергаем крышку for(int i=1; i <=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2door+25; pos -=5) { doorServo.write(pos); delay(50); } delay(500); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+25; pos >= pos2door+10; pos -=5) { doorServo.write(pos); delay(50); } //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+10; pos >= pos2door-5; pos -=2) { doorServo.write(pos); delay(50); } //высовываем руку for(pos = pos1hand; pos <= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убираем руку for(pos = pos2hand-35; pos >= pos2hand-70; pos -=1) { handServo.write(pos); delay(15); } delay(1000); //высовываем руку for(pos = pos2hand-70; pos <= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убираем руку for(pos = pos2hand+3; pos >= pos1hand; pos -=7) { handServo.write(pos); delay(15); } //закрываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door-5; pos <= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Скетч, предлагаемый автором из ссылки в начале обзора, у меня не запустился. А я еще был не тот профи, каковым являюсь сейчас)))))))
В общем, начал разбираться. В итоге, на основе чужого, сделал свой скетч. Добавил защиту от дребезга. Проще, конечно, было поставить резистор с конденсатором, но уж очень хотелось попрограммировать.


В принципе, схема понятна из скетча. Но я ее все-таки приведу. Уж простите за качество - как смог. Плату преобразователя взял немного другую - в «анфас» не нашел нужной.


Особых пояснений по скетчу нет. Разве что момент добавления угла поворота на несколько градусов, когда скорость сервы большая. Заметил, что если «рука» выскакивает резко, то она не выключает тумблер. Явно это от низкого качества сервоприводов. Поэтому нужно добавить немного к углу вылета «руки». Подозреваю, что при повторении эти добавочные градусы могут быть у вас другими. Зависит от плеча «руки».
И про программы. Пока шесть программ. Вызываются через генерацию случайного числа. Причем простые программы (0, 1 и 2) вызываются чаще обычных. Всем моим тестировщикам показалось, что более навороченные программы должны быть редким приятным бонусом, тогда появляется некая интрига. Так и сделал.
Для любителей цифр - размер коробки: длина - 150мм, высота - 70мм, ширина - 65мм.

Youtube сильно ухудшил качество. Если нужно глянуть в оригинале - качайте. 21 МБ.
Здесь в скетч внесено изменение, позволяющее увидеть все шесть программ по очереди, чтобы вы имели представление обо всех. В жизни, как я писал, у них псевдо-случайный порядок.



Зарядка производится через микро-USB обычным зарядником от мобильного. Автономность сильно зависит от частоты использования. Иногда несколько суток, а иногда за день «убиваю».


Напоследок.
Проект, тем не менее, вполне можно дорабатывать и дорабатывать. Можно придумывать новые сценарии. Можно добавить пищалку и озвучить устройство. Например пусть «рычит», типа злится, если время между выключением и включением тумблера очень короткое. Можно, как в исходном проекте, добавить перемещение коробочки в разные стороны.
Можно встроить проверку случая, когда «рука», по какой-то причине, не выключила тумблер (например на холоде, серва не дотягивает до нужного угла совсем немного) и скорректировать угол на один раз, написав специально для такого случая какую-нибудь «нервную» программу выключения. Можно поставить Nano и программировать через USB, не разбирая каждый раз устройство. Обзор понравился +123 +232

© 2024 soundpad-voice.ru - Компьютер. Ноутбуки. ОС. Программы