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

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

Управляет игрушкой микроконтроллер PIC12F629/75/83. Силовая нагрузка коммутируется полевым транзистором. На микросхеме LTC4054 собран контроллер заряда аккумулятора через miniUSB разъём, благодаря чему отсутствует необходимость замены элемента питания с разборкой корпуса. Синий и жёлтый светодиоды не только информируют о состоянии зарядки, но и, будучи видимыми сквозь прорези корпуса, ещё более дополняют образ фантастического оружия будущего.

При токе заряда более 390 мА горит жёлтый светодиод, при 300-390 — жёлтый и синий, менее 300 — синий. Благодаря встроенному в LTC4054 ограничителю тока, из пистолета можно «стрелять» во время зарядки без боязни перегрузить микросхему или внешний источник питания. Защита от чрезмерного разряда реализуется самим аккумулятором, который взят защищённой модели.

Дым-машина представляет собой «непроливайку», собранную из одноразового шприца 10 мл, двух пробок с резиновыми уплотнителями из соединителя шлангов от садовой поливочной системы, двух трубочек от леденцов в качестве воздуховода и паропровода, двух дискодержателей-мандрелей для бормашины, служащих стойками для нихромовой или фехралевой спирали. Спираль сопротивлением 2 Ом намотана на куске кремнезёмного шнура, служащего фитилём. Монтаж и герметизация стоек и трубок в пробках осуществляется термоклеем. Заправка испарителя глицерином производится при помощи шприца с безопасной тупой пластиковой иглой через отверстие паропровода без разборки пистолета. Медицинский глицерин совершенно безопасен для детского организма (только не надо его пить: внутреннее употребление значительной дозы глицерина сработает как слабительное).
Игрушка производит роскошную струю пара, завихрения которого создают впечатление потока энергии или плазмы, передающейся по лучу. Излучение лазерного диода, такого же, как в зажигалках, маломощных указках и игрушечных лазерных прицелах, не представляет опасности для людей и животных, но не забываем: не следует направлять луч любого фонаря или лазера прямо в глаза.

Управляет игрушкой микроконтроллер PIC12F629/75/83. Силовая нагрузка коммутируется полевым транзистором. На микросхеме LTC4054 собран контроллер заряда аккумулятора через miniUSB разъём, благодаря чему отсутствует необходимость замены элемента питания с разборкой корпуса. Синий и жёлтый светодиоды не только информируют о состоянии зарядки, но и, будучи видимыми сквозь прорези корпуса, ещё более дополняют образ фантастического оружия будущего.

При токе заряда более 390 мА горит жёлтый светодиод, при 300-390 — жёлтый и синий, менее 300 — синий. Благодаря встроенному в LTC4054 ограничителю тока, из пистолета можно «стрелять» во время зарядки без боязни перегрузить микросхему или внешний источник питания. Защита от чрезмерного разряда реализуется самим аккумулятором, который взят защищённой модели.

Дым-машина представляет собой «непроливайку», собранную из одноразового шприца 10 мл, двух пробок с резиновыми уплотнителями из соединителя шлангов от садовой поливочной системы, двух трубочек от леденцов в качестве воздуховода и паропровода, двух дискодержателей-мандрелей для бормашины, служащих стойками для нихромовой или фехралевой спирали. Спираль сопротивлением 2 Ом намотана на куске кремнезёмного шнура, служащего фитилём. Монтаж и герметизация стоек и трубок в пробках осуществляется термоклеем. Заправка испарителя глицерином производится при помощи шприца с безопасной тупой пластиковой иглой через отверстие паропровода без разборки пистолета. Медицинский глицерин совершенно безопасен для детского организма (только не надо его пить: внутреннее употребление значительной дозы глицерина сработает как слабительное).
Игрушка производит роскошную струю пара, завихрения которого создают впечатление потока энергии или плазмы, передающейся по лучу. Излучение лазерного диода, такого же, как в зажигалках, маломощных указках и игрушечных лазерных прицелах, не представляет опасности для людей и животных, но не забываем: не следует направлять луч любого фонаря или лазера прямо в глаза.
Программа для микроконтроллера написана на языке JAL v.2
-- Compiler: 2.4l include 12f683 pragma target CLOCK 8_000_000 pragma target OSC INTOSC_NOCLKOUT pragma target WDT disabled pragma target PWRTE disabled pragma target MCLR internal pragma target BROWNOUT disabled pragma target CPD disabled pragma target CP disabled OSCCON_IRCF = 0b_111 -- 8 MHz от внутреннего генератора enable_digital_io() -- настраиваем цифровые выходы alias rled is pin_a0 -- светодиоды эффекта "плазмы" alias gled is pin_a2 alias bled is pin_a1 alias fire is pin_a5 -- силовой ключ alias trig is pin_a4 -- спусковой крючок OPTION_REG_NGPPU = 0 WPU_WPU4 = 1 -- внутренний резистор подтяжки IOC_IOC4 = 1 pin_a2_direction = output pin_a1_direction = output pin_a0_direction = output pin_a5_direction = output OPTION_REG_INTEDG = 0 - по логическому 0 INTCON_GIE = on -- разрешаем прерывания INTCON_GPIF = off procedure interrupt is -- по прерыванию pragma interrupt -- просто сбрасываем флаг if INTCON_GPIF then INTCON_GPIF = off end if end procedure forever loop fire = off -- всё выключаем rled = off gled = off bled = off INTCON_GPIE = on -- разрешаем прерывания с ножек asm sleep -- и спим, пока не нажата кнопка while trig == false loop -- пока кнопка нажата INTCON_GPIE = off -- запрещаем прерывание с ножек fire = on -- включаем лазер и дым-машину rled = on -- имитация плазмы _usec_delay(25000) rled = off gled = on _usec_delay(25000) gled = off bled = on _usec_delay(25000) bled = off end loop end loop
Готовая прошивка в HEX формате
:020000040000FA :040000008A110C282D :08000800FF00030E8301A200BA :100010000A08A3008A0123288F3083160F05703841 :100020008F009F0183129F01073099009A01831668 :10003000811315161616051185100510851201136A :100040008B170B102C280B180B1023088A00220E7C :100050008300FF0E7F0E09008312A412240885007E :10006000241024088500241124088500A4102408E5 :1000700085008B156300051A2C288B11A416240803 :100080008500241424088500831203137430A00013 :100090005530A1000A128A11A10B4A280A128A11AE :1000A000A00B4828000024102408850024152408EB :1000B0008500831203137430A0005530A1000A128A :1000C0008A11A10B5F280A128A11A00B5D2800007B :1000D000241124088500A414240885008312031326 :1000E0007430A0005530A1000A128A11A10B7428A7 :1000F0000A128A11A00B72280000A410240885009F :020100003B289A :02400E00D43CA0 :00000001FF