Как сделать пушистого зверька

Добавил пользователь Владимир З.
Обновлено: 29.08.2024

Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal

Самый сок!

всё то интересное в сети, что попало в мои сети

Как сделать пушистого домашнего питомца своими руками.jpg

Информация об этом журнале

  • Цена размещения 1 000 жетонов
  • Социальный капитал 13 388
  • В друзьях у 2 500+
  • Длительность 10 часов
  • Минимальная ставка 1 000 жетонов


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

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

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

- пушистая синельная проволока любого цвета;

- бусины или крупный бисер;

- готовые маленькие помпоны;


Этапы изготовления кролика из синельной пушистой проволоки:

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


2. Затем берем для работы одну часть. Сгибаем ее вначале посередине для получения ямки. Далее отгибаем боковые стороны вниз, отступив небольшое место. Из такой заготовки получатся отличные длинные ушки и лапки кролика. Откладываем на время заготовку в сторонку.


3. Теперь берем второй отрезок пушистой проволоки и начинаем скручивать ее спиралью.


4. Делаем два-три кольца и затем пронизываем через кончик две бусины черного цвета, которые станут глазками милого животного.


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


6. Вынимаем заготовку для создания туловища из карандаша. В это отверстие вставляем деталь для ушек и лапок.


7. Нижние концы станут лапками. Для этого следует каждую сторону покрутить и немного согнуть. Также сгибаем ушки.


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


9. На этом этапе мы завершаем делать кролика из пушистой проволоки красного цвета.

Авторские игрушки своими руками. Зверьки сделаны в 2 размерах — зверек-мама и малыш, каждый имеет свою уникальную индивидуальность, благодаря пушистому меху и глазки-бусинки. Приятно было бы полчить такого пушистика в подарок :)
Они похожи на морских свинок и зайчиков, наверное это они и есть :)
























автор пушистиков

Ямогу: Создаю малышей реборн, колыбельки и аксессуары для них.

Ямогу: В мастерской можно приобрести кукольные украшения и аксессуары, заказать БЖД, выполнить мейкап (опыт работы более 7 лет), сделать ремонт или перетяжку БЖД. С удовольствием принимаем заказы!


Тихим утром третьего января, когда Москва уже дремала после новогодних праздников, в нашей квартире раздался звонок в дверь. Почта наконец-то доставила посылку с новогодними подарками, заказанными на Амазоне. Среди прочего в ней находился и подарок для сына — электронный питомец Furby. Покупка его была, в общем-то импульсной. Игрушка значилась в бестселлерах новогоднего сезона и стоила относительно недорого. В сортах Furby я не разбирался, но когда-то давно что-то позитивное об игрушке слышал.

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

Надпись гласила, что для данной игрушки в AppStore можно скачать приложение, с помощью которого киберпитомца можно кормить, подавать ему всякие команды, а также переводить фразы, которые он произносил на своем языке — фурбише (Furbish), на английский. Приложение было скачано, питомец покормлен всякими съедобными и несъедобными объектами, которые он либо с аппетитом проглатывал, либо выплевывал, а переводчик с фурбиша на английский работал на удивление точно.

В общем, как вы поняли, отец семейства сделал себе на Новый Год подарок.

Команды в приложении начинались с 350-й и заканчивались 900-й, с большими пробелами в нумерации. Значит потенциально Furby умеет воспринимать гораздо большее число команд, чем есть на руках этих готовых WAV-файлов. Надо искать дальше.

Внешний вид сигнала в Audacity наводил на мысль, что используется какая-то частотная модуляция, причем шел один сигнал, дальше небольшая пауза, затем визуально такой же сигнал снова. Общая продолжительность — полторы секунды. Раз модуляция частотная, то неплохо бы взглянуть на спектр. Посмотрел график — на нем отчетливо выделялось пять пиков на одинаковых расстояниях друг от друга в районе 16-19КГц:


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



Здесь посылка расшифровывается как 3233 3012 1032 (для удобства восприятия я разбил последовательности на блоки по четыре цифры; в четверичной системе каждый такой блок — это один байт).

Дальнейший анализ команд, перевод их бинарную форму и побитовое сравнение выявило следующую структуру посылки и команды в целом:

  1. Первый байт (в примере это 3233 ), будучи записанным в бинарном виде, имеет следующую структуру: 11 1 01111 , где старшие два бита всегда равны 11 , следующий бит равен 0 для первой посылки в команде и 1 для второй, а 01111 — это сами данные (часть идентификатора команды);
  2. Второй байт ( 3012 ) — контрольная сумма, зависящая от 6 бит команды (где 1 бит — идентификатор посылки и 5 бит — сами данные);
  3. Третий и заключительный байт посылки всегда равен 1032 .

Что это значит? Во-первых, команда разбивается на два пакета по 5 бит данных в каждом. В сумме мы получаем 10-битное число, т.е. потенциальное число команд, которые может посылать или принимать Furby — 1024. Однако метод вычисления контрольной суммы вычислить не удалось. Проанализировав номера команд получилось, что я могу на основе имеющихся WAV-файлов найти 7 из 32 контрольных сумм для первой посылки и 31 из 32 контрольных сумм для второй посылки. В сумме это давало 217 потенциальных команд вместо имеющихся 76 (в виде готовых WAV-файлов), что тоже неплохо.

Написал скрипт, который генерировал по нужному номеру команды WAV-файл, подобный готовому, и начал перебирать доступные мне диапазоны команд. Как оказалось, недокументированные команды действительно были — Furby реагировал на них разным образом, пел песенки, читал рэп, чихал, имитировал сон и делал прочие незамысловатые вещи.

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

Найдя наконец на какой-то помойке нужный мне .apk-файл, я залез внутрь и не увидел ни одного WAV-файла с командами, хотя в целом набор ресурсов был похож на тот, что в приложении для iOS. Раз WAV-файлов нет, то приложение как-то генерит команды на лету? Это то, что мне нужно! Декомпиляция и просмотр Java-кода дал несколько интересных зацепок, но как оказалось, вся интересная начинка, а именно генерация и анализ аудио, находится внутри нативной .so-библиотеки, в которой есть один метод, который мне был нужен, а именно private static native byte[] GenerateComAirCommand(int paramInt); .

Как же достучаться до нативного метода? Пораскинув мозгами, Штирлиц решил качать Android SDK. В итоге был собран маленький проект, в который включена сама нативная библиотека и минимальная обвязка, предоставляющая доступ к одной только нужной мне функции. Само же приложение при старте просто создавало WAV-файлы для минимально необходимого мне набора WAV-файлов, где в командах были те самые недостающие старшие и младшие 5 бит, для которых мне были нужны контрольные суммы. После некоторого курения Stack Overflow (опыта написания приложений под Android у меня на тот момент не было) приложение запустилось и сгенерировало мне на виртуальной SD-карте эмулятора набор нужных мне WAV-файлов, которые я перетащил через adb pull в нормальную файловую систему. Анализ этих файлов дал мне полное покрытие — все 64 контрольных суммы, по которым можно воссоздать любую из 1024 команд.

Возможно кому-то данная статья пригодится при реализации собственного протокола, есть ведь всякие интересные примочки для iPhone, передающие данные как раз через аудиоразъем.

Ну и, наконец, возможность управлять Furby через компьютер потенциально открывает эмоциональный метод нотификации о каких-то событиях. Например, при приходе почты от определенного адресата можно попросить Furby что-то станцевать, по приходу коммита в Git от определенного человека — помурлыкать, а от другого — издать звук менее приличный (коих у Furby есть в запасе). Правда для этого все же нужно решить уже парочку задач хардверных. Во-первых, запретить Furby засыпать через 10 минут неактивности (а активностью считается физическое тормошение — для этого у него имеется датчик положения в пространстве) и питать его не от батареек, а от блока питания или USB. Может быть на Хабре есть знатоки железа, которые захотят окончательно укротить зверька?

Сам код после некоторого причесывания выложен на GitHub. Пожелания и находки всячески приветствуются. Разумеется, вся изложенная информация и программный код предоставлен исключительно в образовательных целях.

Читайте также: