Серия «Кубобот»

10

История болезни №4. Когда выпустили из дурки⁠⁠

Серия Кубобот

🤖 Всем лимонов! 🍋🍋🍋

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

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

Всё это время я вынашивал планы по доработке проекта. Кубобот01 Уже был достаточно хорошим, но комментарии в стиле "а зачем он" не давал мне покоя. Поэтому я натурально пропал с радаров, заперся у себя и провел масштабное обновление визуала и ПО.

Итак, Кубобот01. Версия 1.5

Что умел предыдущий кубик что на фото

1) Состояние эмоций. Моргает глазками, смотрит в стороны. Реагирует на температуру, влажность, наклон, тряску
2) Состояния датчиков. Выводит на 1 экран всю портянку того что "чувствует"

Что умеет Кубобот01 новой версии (на фото)

Кстати, ради придания собственной важности, появился бренд CozyForge

Кстати, ради придания собственной важности, появился бренд CozyForge

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

1) Состояния эмоций
1.1) Моргает, смотрит в стороны. Реагирует на свет, наклон
1.2) Настроение. По показаниям датчиков показывает свое состояние. Грустно, радостно, хочется кушать и т.д.
1.3) Советы. Выводит разные советы из своей памяти. Дублирует с включением.
1.4) Мысли. Выводит свои мысли. Просто случайные факты или реакцию на окружение. Например, если наклонить его он спросит "я наклонен. А зачем?". Так и случайные милые фразы вроде "Хочу бургер. Вот бы у меня был рот".
2) Состояние датчиков
2.1) Вся портянка датчиков на одном экране
2.2) Датчики погоды: температура, влажность, давление
2.3) Датчики наклона
2.4) Свет и батарейка
3) Состояние концентрации. Яркость приглушается, играется одна из 5 длинных анимаций. Настраивается в веб интерфейсе чтобы не отвлекаться на щелканье кнопкой.
4) Игры. Целых 3. Кубобег (бесконечный 2д раннер), Не зевай! (ввод на реакцию) и Камень Ножницы Бумага (в представлении не нуждается). Рекорды пишутся в память и их видно в игре или вебе!

Фух...портянка вышла знатная. из 2 состояний их стало 16! Борьба за каждый байт памяти стала серьезней давить на меня. Как и то что я загнал себя в рамки 33мм корпуса и там уже была война не на жизнь а насмерть за каждый миллиметр!

На фото только экран, гироскоп, аккум и ТР4056+кондер

На фото только экран, гироскоп, аккум и ТР4056+кондер

Снятая задняя крышка со всеми дитолями

Снятая задняя крышка со всеми дитолями

В программной части ради оптимизации все картинки были сжаты через RLE. Ради подключения ОТА.

Код из 1000 строк, 2 файла разросся до 5 файлов и 3500 строк в основном скетче. Рост во все стороны!

Новые файлы это разметка памяти. Потому что в 1.2Мб не упихаешь скетч, а на 3Мб нет ОТА. Так же отдельный файл для веб страницы, определения типов и статичных спрайтов.

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

Веб интерфейс показывает все что происходит у кубобота01 и дает возможность управлять его функциями.

он длинный, так что не весь выкладываю

он длинный, так что не весь выкладываю

Вебка писана на чистом HTML+CSS в блокноте. Как в универе. Прям. Ностальгия. Ну так число к слову. заголовок меняется от физического воплощения кубобота. Так если кубик красны, то и текст красный. А глаза могут быть белые\голубые\желтые.

Вебка имеет 2 страницы. Вторая это уже упомянутый ОТА. То есть, если я сделаю новую прошивку с багфиксом или новой эмоцией, ее можно в пару кликов загрузить через вайфай.

Сразу скажу, что кубобот01 это приватный персонаж. Он не подключается к домашнему вайфаю и ничего не сливает. Он сам поднимает сетку и выключает её по таймауту (настраивается). При подключении внешнего питания не выключает.

С апдейтами по софтверной части закончил. Если что не подсветил, напишите в комментах.

В хардварной части тоже прошло немало улучшений.

У старой версии на морде торчал датчик света - фоторезистор. Честно, я его сделал чтобы адекватно реагировали глаза на свет, но вышло так что он стал "бабушкиным телевизором", как кто то мне сказал.

В итоге LDR переехал под прозрачную накладку в левом углу кубика. Свет преломляется, фоторезистор реагирует, поведение адекватное.

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

Фото одного из корпусов прототипов, но положение выключателя видно.

Фото одного из корпусов прототипов, но положение выключателя видно.

Так...что еще.. а! точно! самое важное!

Я существо умом обделенное, но пытливое и любопытное.

Замеряя время работы кубобота от батарейки меня удручало то, что он жил не более 4 - 5 часов на одной батарее. Мог и 8, но это скорее исключение. Начал искать проблему.

Сама проблема оказалась не самая очевидная для меня. Все питание было "в лоб" без оптимизаций. Просто ТР гонит заряд от аккума в ESP32 и на перифирию. Начал исправлять.

Сперва софтверное. Добавил режим deep sleep на esp32

esp_deep_sleep_enable_gpio_wakeup(1ULL << WAKEUP_PIN, ESP_GPIO_WAKEUP_GPIO_HIGH);
delay(100);
esp_deep_sleep_start();

Да, он спит. Но жрет как голубь на городской площади.

Решение горело красным светодиодом мне прямо в глаз.

ESP32C3 спит. А перифирия? Не спит.

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

Мало. Надо еще

"Вольтметр" кубобота это 2 маломощных резистора. Делитель. Ток там течет всегда. Надо размыкать. Об этом ниже в блоке про power path.

Второй проблемой стала безопасность работы АКБ. Да, у ТР4056 есть защита, но микросхема за 100р не умеет понимать что нагрузку жрет не батарея, а МК. Поэтому при зарядке нужно отцепить МК от АКБ. Но как тогда с ним взаимодействовать? Выключать во время зарядки как в стародавние времена? Нет! Мы будем делать распределение питания как на современных устройства.

Берем сначала укропу...а не, не то.

Берем транзисторную сборку АОР609 по той причине, что я не готов в SMD погружаться. Транзистор 2N2222, диод 1N4007 и россыпь резюков разных номиналов.

Чтобы не запутаться, даже печатаю себе схему и кладу перед глазами.

Что получилось:

P канальный мосфет. Размыкает цепь питания от АКБ до ESP при наличии напряжения на USB.

Ток от USB течет через 1N4007 на 5V пин ESP32C3.

N канальный мосфет размыкает GND кусок делителя напряжения и поднимает его только по запросу МК на чтение вольтажа.

Получилась вот такая прикольная штука

Диод снизу

Диод снизу

Черный это земля, Зеленый, розовый и желтый это разные GPIO. Голубой это питание ESP32, а красные это батарейка+ и USB+

без бутылки не разберешься даже в такой простоте.

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

Но впихнуть эту микросхему в корпус оказалось задачей со звездочкой. Теперь я официально могу сказать что в куб 33мм (внутреннее пространство 30мм) не влезет больше НИЧЕГО!

Кстати про сон. Не сказал. Через 10 минут бездействия кубобот показывает анимацию сна. Бездействием считается дрейв показаний датчиков некотором пределе, отсутствие активного юзера на вебе и отсутствие зарядки на USB.

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

Спустя еще 10 минут кубобот ваще конкретно так начинает храпуна давить. То есть уходит в deep sleep. Отсюда пробуждается только если по бошке постучать (нежно).

Вот....портрянка текста вышла знатная. Если сжать все до нескольких картинок, то внизу карточки, что я хотел на озон выложить

Насчет последнего кадра я бы хотел сказать немного более развернуто.

Я сделал кубобота по той причине, что не смог купить такого на рынке. Тот же Dasai Mochi это взрыв цвета и эмоций. Или другие "кубические" роботы типа Xiaozhi. Говорилка, которая без пользователя не существует. Ждёт вопрос, чтобы на него ответить. А я хотел, так называемого, desktop buddy который не будет требовать от меня вовлеченности или не заставит снимать наушники чтобы послушать очередной ответ.

На фоне всего этого Кубобот это тихий компаньон. Он стоит на столе, в машине, да хоть в кафе пока ешь пиццу и просто существует. Он радует разнообразными эмоциями. Говорит о чем думает, или просто выступает как домашняя метеостанция. Каждый может найти ему применение как хорошему товарищу и тому как и "резиновой уточке" можно всё рассказать.

При всем при этом у кубобота нет ни динамика, ни микрофона ни подключения к облаку. Он не ИИ компаньон, но он осознает себя через свои органы чувств. Он не ответит на вопрос "кубобот, какая погода?" Этим пусть занимается Алиса. Но во время работы за компом можно просто посмотреть и улыбнуться. Или откинуться и поиграть в Кубобег.

Мое любимое состояние это "звезды" в режиме концентрации. 2 глаза смотрят как медленно плывут звезды. Расслабляет. Почти половина кода была написана под это состояние.

Проблемы такой разработки в том, что мой сын, которому 8 лет активно пытался стащить кубобота.

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

пока без микрофона и динамика просто залил прошивку

пока без микрофона и динамика просто залил прошивку

Говорилки хватило на один вечер. Надоело ему. А для меня это потенциальная дыра. Ребенок может ляпнуть чего лишнего, а это все услышит на другой стороне дядюшка Ляо с очень стереотипными усами. Кубобот01 не такой. Он не настучит.

Так вот, говорилка оказалась неинтересна, поэтому он постоянно таскал дев кубобота с моего стола. Ради игр, эмоций, и "мыслей". Ну что сказать...пришлось взять один из комплектов из партии, что я заказал и сделать ему своего. Белого.

теперь их двое! Они плодятся!

теперь их двое! Они плодятся!

Так он его еще в школу таскает! По шапке пока не прилетело, но все же.

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

Напоследок хочу сказать.
Кубобот родился из простой идеи. Прошел месяцы модернизаций от ESP32C3+OLED до выверенного 3д печатного кубика с начинкой которая уже не влезает в корпус(я все равно все разместил). Я вложил в него все то что хотел. Буквально уперся в потолок производительности и памяти. Кубобот01 - это мой магнум опус, мой лучший проект, который я довел до конца. Я очень люблю кубобота.

Если хотите такого тихого друга на свой стол — пишите в личку или в комментарии. У меня есть 4 готовых экземпляра из первой партии. Остальные 5 будут готовы в конце месяца.

Цена — 5500р. Каждый собирается вручную. Кроме корпуса. его печатает 3D принтер, но модель моя!

Это не просто цена за кубик. Это ваша поддержка, которая позволит мне купить компоненты для следующего проекта Кубобот02, сделать PCB и двигаться дальше. Спасибо каждому, кто готов разделить этот путь

Так же меня можно найти в вк: https://vk.ru/cozyforge

Показать полностью 21
12

История болезни №3. Диагноз: "Мы его теряем..."⁠⁠

Серия Кубобот

═══════════════════════

🏥 История болезни №3

Пациент:
Инженегр-любитель

Возраст проекта:
31 день

Диагноз:
"Всё пропало"

Стадия заболевания:
Терминальная

Симптомы:
· Потеря связи с реальностью
· Везде мерещатся кубы с белыми глазами
· Заходя даже в туалет на тебя смотрит Кубобот

Назначено лечение:
Переключиться на другой проект

Пациент:
В ответ на лечение пациент спаял еще одного кубобота

═══════════════════════

🤖 Всем лимонов! 🍋🍋🍋

После долгого пути проект обрел свое, так скажем, лицо. Форма устоялась, функционал стал ясен. Всё ещё есть шероховатости, которые устраняются, но тем не менее, уже есть объект и этот объект мне нравится.

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

Корпус состоит из 3 частей: тело, задняя крышка и лицо. Лицо у всех черное. А корпуса бывают разные. В итоге после сборки кубобот остается неразборным.

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

Тот самый момент, когда в погоне за терабайтами памяти на ПК сидишь, смотришь на микросхемку и думаешь: "этих 4Мб мне просто за глаза"

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

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

Но я не стою на месте. Например, DHT11 с прошлого поста был заменен на D18b20, потом на DHT22, а потом на BMP280. С остальными компонентами тоже происходят изменения как в наименованиях, так и в расположении. например, кнопка переехала на крышу, вместо левой стороны. Неизменным остается только ESP32C3 и, пожалуй, OLED дисплей. Хотя и он меняется в цветах.

В программной части так же без особых откровений.

Кубобот начинался с простейшей идеи чтобы что-то моргало рядом. И код состоял из 10-20 строчек, не считая #include и #define

Кстати, программирую в Arduino IDE просто потому что привык еще со времен проекта для своей машины, в котором использовался Arduino Nano. переучиваться на ESP-IDF не вижу практического смысла

ну вот, например. Из последнего.
Нужно показывать уровень заряда аккумулятора. Если просто кинуть литиевый аккум на ногу МК он сгорит и придется покупать новый. Собираем делитель напряжения из того что валяется под ногами, методом научного тыка подбираем коэфициенты для формулы, подставляем в код и вуаля - кубобот уже реагирует на зарядку.

void ReadVoltage()
{
if(millis() - eventTimerV >= 5000)
{
float voltage = (analogRead(1)*4.2)/3200;
batteryLevel = map(analogRead(1), 0.0f, 3200.0f, 0.0f, 100.0f);

Serial.print("raw: ");
Serial.println(analogRead(1));
Serial.print("voltage: ");
Serial.println(voltage);
Serial.print("Batt percentage: ");
Serial.println(batteryLevel, 1);
eventTimerV = millis();
}
}

Почему 3200 не спрашивайте - не знаю. Просто подобрал мультиметром.

И вот на таких функциях строится вся логика кубобота.

Цикл loop содержит в себе только названия функций и соблюдает их очередность. И никаких delay(). Эта функция просто вешает МК и рушится магия происходящего.
Ладно, delay() один все таки есть. на 2 секунды. Он при включении чтобы пользователь мог прочитать один из случайных советов

корпус один из первых, но фраза остается до сих пор

корпус один из первых, но фраза остается до сих пор

void loop() {
readLDR(A0, 500); //поменяй на 500 и пин на А0 для кубика. для ЕСП32 1000 и 34 пин
//readTempdDHT();
readTempBMP();
//readTempdDallas();
ReadVoltage();
static uint32_t warntmr;
if (batteryLevel < 20) //раз в 30сек выводим пустую батарейку если заряда мало
{
if (millis() - warntmr >= 30000) {
warntmr = millis();  // сброс таймера
display.clearDisplay();
display.drawBitmap(0,0, battery_empty,128,64, 1);
display.display();
delay(2000); 
}
}

ButtonListener();
Gyro();


if (StateFlag)
{
StateMonitor();
}
else
{
if (!DizzyAnim) FallAside();
DizzyGate();
if (DizzyAnim && !FallFlag) Dizzy();
if (BatteryEmote) showBat();
if(!BatteryEmote && !DizzyAnim && !FallFlag) RandAnim();
if(!BatteryEmote && !RandAnimFlag && !DizzyAnim && !FallFlag) roboEyes.update();
}
}

В конце есть монструозная конструкция с булевыми переменными. Можно упростить, но как говорил тот самый: Можно, а зачем? Памяти не ест, отрабатывает хорошо. Если есть советы - буду рад прочитать их в комментариях

Что еще можно сказать? Я почти доволен тем что получилось, и уже постепенно планирую Кубобота02. Он будет огромным, куб со стороной целых 66мм! Монструозный!

А пока я хотел бы сказать спасибо тем, кто уже поддержал проект, купив кубоботов.

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

На этом, пожалуй, стоит остановится.

Спасибо, что дочитали до конца! Буду рад Вашему мнению в комментариях!

Чтобы красиво завершить пост - вот вам фотография попувермы!

Показать полностью 7
9

История болезни №2. Диагноз: «Да тут всего корпус нарисовать...»⁠⁠

Серия Кубобот

═══════════════════════

🏥 История болезни №2

Пациент:
Инженер-любитель

Возраст проекта:
7 дней

Диагноз:
"Да тут всего корпус нарисовать"

Стадия заболевания:
Первые осложнения

Симптомы:
· 3D-принтер перестал понимать, когда у него выходной
· слово «финальная версия» потеряло смысл
· девушка на пвз угощает чаем как родного

Назначено лечение:
Закончить хотя бы один прототип.

Пациент:
Начал переделывать предыдущий.

═══════════════════════

🤖 Всем лимонов! 🍋🍋🍋
После первой части многие спрашивали, где же сам робот. Один из комментариев вообще был прекрасен:

«А части-то зачем? Хоть прототип покажи.»

Ну что ж... сами напросились. 😄

Сегодня будет то, что обычно остаётся за кадром. Те самые фотографии, которые сначала хочется удалить, а спустя время понимаешь — именно с них всё и началось.

Если сейчас Кубобот выглядит примерно вот так...

Кубобот01 Аккумуляторный

Кубобот01 Аккумуляторный

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

В голове всё выглядело предельно просто. Маленький корпус, экран, плата... Ну что тут может пойти не так?

Как выяснилось позже — примерно всё.

Определившись с наполнением кубобота, и кое как написав код который просто моргает глазками, я сел моделировать корпус. Выбрал для себя минимальный размер под OLED 0.96" дисплей - 31мм по внешним стенкам. До этого мне казалось, что куб — одна из самых простых геометрических фигур. Оказалось, это мнение существует ровно до тех пор, пока не пытаешься запихнуть внутрь экран, плату, разъём USB, датчики, провода и при этом сделать так, чтобы крышка ещё и закрывалась.

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

Но зато он был настоящий.

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

Пусть кривоватое.

Пусть с щелями и неровной печатью.

Зато своё. Это действительно греет мне душу по сей день.
___________________________________
Дальше началась самая настоящая война за миллиметры.

Каждый новый корпус был почти идеальным. Почти.

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

Самое смешное, что после каждой такой доработки внутренний инженер уверенно говорил:

— Ну вот теперь точно всё.

Через пару часов начиналась печать следующей «финальной версии».

три первых корпуса. самый нижний с fuzzy skin

три первых корпуса. самый нижний с fuzzy skin

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

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

Я собрал навесным монтажом все внутренности и впервые подал напряжение.

Казалось бы, два светящихся прямоугольника. Что в них особенного?

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

Именно тогда впервые поймал себя на мысли, что делаю уже не просто электронное устройство.

Я делаю маленького друга.

Затем уже ценой больших усилий смог укомплектовать это всё в небольшой кубик со стороной в 31мм. Не самое лучшее расположение компонентов, но на то он и прототип чтобы быть невзрачным, но рабочим.

Потом были эксперименты с цветами корпусов.

Честно говоря, я не знаю зачем вообще это делал, не имея готового продукта. Просто взял у сына мотки его PLA пластика для 3д ручки и напечатал несколько тестовых корпусов.

Зато стало ясно, что Кубобот совсем по-разному воспринимается в разных цветах. Один выглядит как серьёзный гаджет, другой — как игрушка, третий вообще словно просится кому-нибудь в подарок.

Знаете, что меня удивило больше всего?

Я был уверен, что основная сложность окажется в электронике. Или в программировании.

Но больше всего времени неожиданно съел именно корпус.

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

А внутри каждый миллиметр приходится буквально отвоёвывать. Внешне корпуса не отличались ничем. Зато внутри постоянно были изменения в расположении элементов для расположения платы и прочей требухи.

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

Сейчас я иногда специально открываю фотографии первых прототипов.

Не чтобы посмеяться.

Хотя... иногда и чтобы посмеяться тоже.

Скорее чтобы напомнить себе одну простую мысль.

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

И знаете что?

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

А как думаете вы? Что оказалось самым сложным в разработке?

Я до сих пор иногда удивляюсь своему ответу. 😊

Показать полностью 7
3

История болезни №1. Диагноз: «Ну я только попробую...»⁠⁠

Серия Кубобот

🏥 История болезни №1

Пациент:
Инженегр-любитель
Возраст проекта:
0 дней
Диагноз:
"Да чего там сложного"
Стадия заболевания:
Энтузиазм
Симптомы:
· открыто 48 вкладок, некоторые из них даже по делу
· YouTube уже предлагает пайку
· корзина на маркетплейсе растёт быстрее зарплаты
Назначено лечение:
Не начинать новые проекты.
Пациент:
Лечение проигнорировал.

═══════════════════════

🤖 Всем лимонов! 🍋🍋🍋

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

— Да чего там сложного...делов на 20 минут, туда и обратно.

И каждый раз одно и то же Обычно все заканчивается еще на стадии проекта на бумаге, но иногда это перерастает в метры проводов на столе, километры документации на экране и недоумевающие возгласы жены:

— Это ещё что такое?

Ответ не зависит от стадии проекта и его наполненности: не знаю. Но оно мне надо.

Вообще люблю делать всякие проекты своими руками. Не потому, что так дешевле. Обычно как раз наоборот. Даже правильнее сказать – всегда наоборот. Просто есть какое-то странное удовольствие — сначала неделю разбираться, как всё устроено, потом месяц делать то, что можно было купить за пять минут. Это как выращивать картошку в огороде: дешевле в магазине, но важен сам процесс. Так вкуснее.
Кажется, многие меня сейчас поймут.
И вот однажды вечером сижу я за компьютером. Работаю, отвлекаюсь, снова работаю... Обычный вечер. Вместо ленты в инстаграме листаю ленту на озоне. И так случайно площадка начинает все больше подкидывать разных модулей и микросхем. И все это на фоне умиротворяющей тишины летней ночи под стрекотание сверчков. Тусклый свет от лампы, дабы не будить попугая падает на клавиатуру. Всё на своих местах. Статично. Постоянно.

Некий дзен сохранялся около часа. Потом меня осенило:

Мне захотелось, чтобы рядом жил маленький робот.

Не помощник, не умная колонка и не очередной модный гаджет. А именно маленький персонаж. Такой, который иногда улыбается, иногда недовольно смотрит на тебя, а иногда просто молча сидит рядом. Чтобы рабочий стол выглядел... живым.

Звучит немного странно?

Мне тоже тогда так показалось.

Первая мысль была вполне разумной:

«Наверняка кто-нибудь уже сделал нечто подобное»

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

— Ну...

— Что?

— А давай сбацаем?

Вот знаете, бывают фразы, после которых жизнь неожиданно делает резкий поворот?
Эта была именно такой.  Я тогда ещё не знал, что через пару дней мой стол начнёт выглядеть так, будто на нём взорвался магазин радиокомпонентов, а в пвз буду ходить чаще чем моргаю.
Но это уже совсем другая история.

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

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества