Предпосылка. Не знаю, или кризис 4х — 5и лет, или непростой 2020, но поведение дочки стало резко портиться. Дома — еще ничего, а на занятиях — мрак. С другой стороны, в развивающем клубе, куда она ходит, есть аналоговый «поведениеметр» (не знаю, как он правильно называется, пусть будет так), представляющий из себя 5и этажный многоподъездный «домик», где каждому ребенку выделен именной «подъезд» и звездочка, которую ставят от 1 до 5 уровня. Эту же «игру» мелкая принесла домой, нарисовав на бумажке клеточки, но ставит всегда звезду на верхний этаж, вне зависимости от реального поведения. Ладно, надо это геймифицировать, используя тягу к лидерству, подумал я и решил сделать цифровой измерительный прибор. В результате получилось вот такое, как ни странно, работает:
Работает именно по назначению. За месяц использования удалось немного откорректировать поведение в лучшую сторону. Если интересно, как на такой простой проект ушло больше недели,
добро пожаловать!
Конечно, про «несколько недель» я слукавил, непосредственно активная работа заняла пару дней, но шла она с невероятным «скрипом», с фейлами просто на ровном месте.
Первый вариант родился, когда я проходил мимо очередного рисунка «домика» со «звездой» на крыше. Берем досочку, к ней крепим 3 подходящие полупрозрачные емкости, которые планировал подобрать в ближайших хозтоварах, светодиодов у меня коробка, случайно на порядок ошибся, когда на Али заказывал, собираем. Выглядеть это должно было как то так:
Прошу прощения, вообще нет таланта рисовальщика. Из электроники — PIC12F508, пару герконов, батарейка и несколько десятков строк на Ассемблере. Управлять предполагалось «волшебной палочкой» с закрепленным на конце магнитом (да, справа была попытка нарисовать волшебную палочку). Подносим к левому геркону — отнимаем балл, к правому — добавляем. Итого, из 6 GPIO контроллера — 3 на светодиоды, 2 на герконы, 1 свободный. Внутренняя подтяжка GPIO к U+, по сути — на плату надо будет поместить только 1 контроллер и токоограничивающие резисторы для светодиодов. Эта конструкция родилась за пару минут в голове и оказалась неприемлемой к сборке в текущих условиях, несмотря на свою простоту. Как так?
Вначале была досочка. Это в нашем доме есть все необходимое, а на съемной квартире не смог найти даже заготовку. Еще нужна ножовка, желательно лобзик, дрель, шлифовальная машина, ладно, шкурка подойдет, морилка, лак и хоть какой то уголок, где можно намусорить локально, не получив люлей от жены. Рассматривал вариант поездки к коллеге, у которого частный дом и все необходимое есть, но отрывать человека от дел, согласовывать время… Не оправдано. До своего дома пилить почти 1000км, с пересечением границы. Досочка в минус, ищем другое решение.
Просто соединить подходящие «корпуса», найденные в хозяйственном магазине. Но поход по ближайшим не дал ничего стоящего. И как соединить все красиво? МГТФ — чудесный провод, но соединять только им — не эстетично. Термоусадка? Убожество! Еще есть очень красивый аудиокабель, проложенный от усилителя к колонкам и его — с запасом. Обычный, не аудиофильский. Но мне надо несколько проводов, а выдергивать из него жилы и пропихивать МГТФ — сомнительно. Стоп, где-то уже видел такое. Рыбка из капельницы:
Сейчас понимаю, что иметь этих рыбок в доме — большое горе, но в детстве мы хвастались такими поделками, не понимая, почему они есть не у всех… К счастью, теперь купить капельницу можно в ближайшей аптеке, что и было сделано. Попробовал окрасить йодом — получилось. Дело за корпусами индикаторов и электроники…
Первоначально 3D печать не входила в планы, но отсутствие подходящих корпусов + приблизительно сложившийся вид готового изделия заставили поменять намерения. Создал простой проект:
И запустил пробную печать одного фонарика. До этого все шло хорошо… От идей до первой печати прошел день, но малая стала выяснять, а что делает папа? Пришлось рассказать. И получить первую правку к ТЗ:
— Пап, а лампочек надо не 3, а 5, как в школе!
Ок, все равно все корпуса под индикаторы идентичные, напечатаю 5. Но, похоже, на этом этапе дочурка договорилась с нечистой силой и все пошло наперекосяк. Тем более разговор состоялся в Хэллоуин. Шутка. Я — старый атеист и в чудеса не верю, но все же…
Контроллер. Уже 5 GPIO задействованы под светодиоды, остается 1, который работает только как вход (или reset). Конечно, можно сделать что то подобное, высвободив еще 1 GPIO, даже подключив 6 светодиодов, но это увеличит количество проводов между индикаторами, что неудобно (подтягивающие резисторы на вход не рисовал):
Комбинируя на P0 единицу или ноль, а на P1, P2 — 1/0/Z, можно зажечь требуемый светодиод.
Но, как сказал выше, неохота протягивать лишние провода в итак маленькие отверстия трубки от капельницы. Надо искать другое решение, которое просто смотрело на меня. ИК пульт от ресивера, которым не пользовался (пультом). Порывшись в хламе, наткнулся на давно купленные ИК приемники TSOP2138, с использованием которых хотел сделать временное управление освещением в доме (не успел, переехал) и по счастливой случайности перевезенные на съемную квартиру. Честно, никогда не работал с ИК пультами. Так получилось.
И с Ethernet работал, и с SpaceWire, SRIO всякими, не говоря про каноничные UARTы, SPI, I2C, даже ISA застал, а ИК пригодился впервые. Немного погуглив, выяснил, что есть 2 основных протокола, известные как Philips и NEC. Первый использует манчестерский код, второй — ШИМ. ШИМ проще декодировать, особенно когда у тебя всего 512 слов ПЗУ и 25 байт ОЗУ на все, но пульт работал по протоколу Philips. К счастью, нашел еще один, абсолютно ненужный пульт от игрушечного китайского проектора, который использовал NEC стандарт. Определял протоколы просто подключив к ИК приемнику питание, подтяжку и осциллограф. Так как PIC12 не имеет внутрисхемной отладки, отлаживал на PIC16F819, учитывая ограничения двенашки. Как ни странно, ушло на написание с отладкой меньше часа времени, завелось почти без косяков, кроме одного. Фронт импульса от датчика чуть затянут, пришлось подкрутить тайминги. Вроде все нормально, но тут я решил посчитать (вообще, это надо делать еще на этапе идеи).
Вылез первый черт из табакерки
Планировал питать устройство от 2х щелочных батареек AA. Потребление вроде небольшое. Чуть меньше 8мА. Но и емкость щелочной батарейки в районе 2000 mA/h. Конечно, я хотел потихоньку уменьшать яркость индикаторов при простое, но как не крутил, время работы ограничено 2-3 неделями, что очень мало. Аккумуляторы — не вариант. NiCa имеют напряжение 1.2В, то есть надо уже 3, Литиевые — дикий оверхед, к которым еще надо контроллеры заряда / разряда делать. Решил питать от сети, хорошо что есть много компактных AC/DC 5V, 800mA преобразователей. Остается один вопрос, как сохранять текущий показатель поведения при отключении питания? К сожалению, встроенного EEPROM данный контроллер не имеет, FLASH сам перешивать не может. Ставить резервную литиевую 3.3V батарейку или ионистор? Вариант хороший, но контроллер должен определять пропадание основного питания, отключить светодиоды и уйти в глубокий сон. А у него уже не осталось свободных выводов.*
Хотел применить сдвиговый регистр. По ногам хватает, уже можно подключить 8 светодиодов, тем самым добавив анимацию для самой верхней «звездочки», но лишние детали сводят «на нет» основное преимущество мелкого (SO8) контроллера — компактность и простоту платы. Решил оставить отладочный PIC16F819, самый маленький, который был в наличии. У него есть встроенная EEPROM, проблема с сохранением состояния после пропадания питания решена.
Чертик второй, от куда не ждали
Один корпус, состоящий из чаши, крепежа светодиодов и крышки был напечатан. Детали неплохо подошли (это я так думал) друг к другу, можно печатать «серию». Учитывая, что все детали печатались разным пластиком, прозрачный SBS для крышки, белый PET-G для держателя и черный PET-G для чаши, решил печатать тем, что было вставлено вчера. Черным PET-G.
Единственное, перед очередной печатью «серии» решил почистить и отрегулировать стол. Дело обычное. Промыл, отрегулировал зазоры, нанес лак для лучшего прилипания и поставил деталь на печать. Не тут то было. Плохая адгезия к столу. Перепроверил калибровку оного — все Ок. Печать, если и начиналась, то через несколько слоев деталь отлипала, а кайма разворачивалась в спираль. Такое уже было при недостаточной экструзии. Как с ней воевал — даже написал статью. Хорошо, проверил и почистил ролики экструдера, вроде все красиво. Проблема не исчезла. Стал грешить на фильеру (в простонародье — сопло). Заменил. Нииихрееенааа. Горло? Вполне. Игрался с пластиками, давно не печатал, забыл поставить очиститель филамента, могла попасть и пригореть пыль. Разбираю, чищу. Пробки нет, все чисто. Собираю обратно. Это писать быстро, а в жизни — все делалось в промежутках «пока компилируется», короче — прошла неделя. А результата — 0. Последняя надежда — проверка калибровки экструдера. И это сработало. Сбилась уставка шага подачи. Как? Не знаю. Покораптились данные в EEPROM. Как тут в черную магию не поверить??? Ладно, дальше все 3D печатные работы пошли как по маслу.
Китайский чертило, или как он в той мифологии называется?
Пока принтер потихоньку шуршит своими шаговиками, решил потратить «время компиляции» на сборку светодиодов. Распаковал мешок красных ледиков, стал потихоньку монтировать. Начал с красной пластины. Дело не быстрое, если делать в фоне. Проверить светодиод, если брак установить, все, пластину можно выкинуть. Аккуратно приклеить его суперклеем, после установки всех светодиодов аккуратно припаять токоограничивающие резисторы и вывести точки питания. К концу рабочего дня (много кодил, редко компилил), красная пластина была готова. Решил проверить, как это будет выглядеть в корпусе и измерить ток, на сколько он соответствует расчетному. Так виртуозно матом давно не ругался. Нет, все светодиоды ярко светились, ток почему то был меньше расчетного. Но чистым красным они горели от силы 0.5с, далее переливаясь в зеленый, голубой и промежуточные цвета. Китайский продавец дважды накосячил. Вместо мешочка сверхъярких оранжевых светодиодов положил голубые, на это я успел высказать свое «фе», вместо обычных красных — переливающиеся со встроенным «контроллером», даже не знаю, где их применить, кроме новогодней гирлянды. Но нет худа без бобра. Если с них снимать питание на 100мкс, то контроллер светика успевает сбросится и постоянно горит красный. А ШИМить (312.5Гц период) фонарики все равно собирался. Теперь у меня уже 2 мешка ненужных светодиодов.
На этом основные неприятности закончились. Из мелких: детали не все хорошо подошли. Из небольших углублений держателя светодиодов не удалось полностью извлечь поддержки, что усложнило монтаж. Пришлось высверливать отверстия держателя, а в шипы чаши вплавлять направляющие из медной проволоки, после чего клеить. Корпус для платы не получилось сделать из PLA бронзового цвета. Его остаток «протух». Пластик стал ломким и не хотел слипаться. Слетел драйвер цветного принтера, когда собрался распечатать картинки. В заключение — сдохла TF карта с G-code файлами моделей для 3D. Но самоделку доделал!
Светодиоды приклеивались к «плате» и к ним припаивались резисторы и проводники:
Отладка прошивки:
Обратите внимание, сетевой источник установлен, но имеется разрыв по + питания. Сделано это по соображениям безопасности, отладка выполнялась при питании от лабораторного источника, подключение сетевого питания осуществлялась перед сборкой в корпус. Желаю не сгорать на pet проектах!
Плата крайне простая, совсем капля МГТФа:
Все готово к сборке:
В качестве отражателя пригодилась крышка от термоконтейнера, в котором лежала очень вкусная еда…
Фикс бага конструкции при помощи проволоки:
Готовый результат — в начале статьи.
P.S.
Чертежи, схемы и прошивку не выкладываю, так как первые — не совершенны, вторых вообще нет, только в голове и списке распайки GPIO, а прошивка без всего этого — бессмысленна. Да и мало кто в DIY проекте сейчас будет писать на Ассемблере. Это меня укусило серийное производство электроники, где экономится каждая копейка. Первоначальный проект, на дощечке, особенно используя Ардуино с готовыми библиотеками, можно сделать за день. А мне охота было заняться тем, что называется словом, недопустимым правилами сайта. Надеюсь, сама идея Вам понравилась…
m-rv
китайский социальный рейтинг «в натуре».
вы действительно хотите воспитать в ребенке желание соответствовать чьим-то ожиданиям?
jakushev Автор
Есть нормы поведения в обществе, которые надо как то закладывать с детства. Не капризничать, не выпрашивать что то нытьем, а заслуживать делом, не обижать тех, кто слабее, в конце концов — что драться — не всегда хорошо. Никаким рейтингом тут или подстройкой под чужие ожидания не пахнет.
m-rv
jakushev Автор
Я что то не понял сути претензии вообще. Как можно жить, не подстраивая свое поведение под общественные нормы? Даже отшельнику в лесу придется подстраиваться под условия окружающей среды. Или умереть. Ну не принято у нас убивать, грабить, бегать голышом по городу, много чего еще. Элементарные правила.
m-rv
это не претензия, это был вопрос: действительно ли вы хотите...?
что касается «принято/не принято» — это на самом деле никакие не «нормы общества». какой-то части общества — еще может быть, но скорее — это ваши проекции того «что такое хорошо и что такое плохо». чтобы это продемонстрировать — достаточно просто привести более показательный пример: врать плохо?
jakushev Автор
Ну так можно в дебри вообще уйти. Рассказывать маленькому ребенку про лож во спасение, я считаю, пока рано. А базовые нормы, принятые определенным (в нашем случае — российским / европейским) обществом, надо прививать. Еще раз, я не про «ценности», а про базовые правила: чистить зубы, умываться, убирать игрушки, есть нормальную пищу, не выпрашивать что то плачем и тому подобное. Вспомнился бородатый анекдот про панка, которого тоже до 5 лет не воспитывали…
m-rv
я не планировал обсуждать аспекты этого конкретного морального выбора, я хотел привести пример иллюстрирующий отсутствие «норм поведения в обществе» как чего-то целостного и непротиворечивого. и судя по
мне это удалось. вы просто выдаете своё «хорошо» за вот эти «нормы общества» (я ж надеюсь никто не возьмется утверждать что «в обществе» по приведенному вопросу есть какое-то единое мнение?). и возвращаясь к моему первому вопросу — я в общем спрашивал осознаете ли вы что вы именно этим занимаетесь, да еще и в такой категоричной формеjakushev Автор
Давно прочитал в одной интересной научпоп книге отличную фразу, за точность цитирования не ручаюсь: «Выходные данные любого эксперимента имеют распределение Гаусса. Иначе — либо эксперимент поставлен неверно, или подтасовка данных (хоть это высказывание противоречит самому себе, но суть от этого не меняется)». Так и с общественными нормами. Есть максимум, есть и отклонения. Простой пример: думаю, 95% людей будут согласны с фразой: «нельзя мочиться посередине улицы, при условии, что воздержание катастрофически не навредит здоровью». Но найдется 1%, который будет пропагандировать разрешение этого действия и 1% — полный запрет, даже если это приведет к смерти. Остальные будут посередине Так вот, большинство формирует нормы. И с этой нормой, как и со многими другими, я согласен. По отношению к другим (нормам) — я маргинал. Например, считаю что все религии вредны и надо изживать этот пережиток, или отклонение полового поведения от физического пола — явно ненормально (не болезнь, но и не норма), да и люди все разные, расоведение (не расизм) надо развивать, а без евгеники (пусть и генетической), человечество обречено на деградацию. Надеюсь, НЛО меня за это высказывание не заберет. В остальном — я почти полностью принимаю европейские нормы жизни. Да, есть грешок, держу вилку в правой руке, а нож в левой, но мне так удобнее и, думаю, никому не мешаю этим. Так вот, прививать ребенку правила поведения в обществе — задача родителей. Да, что то потом будет неактуально, как розги сейчас, или наоборот разрешено. Но базовые вещи ребенок должен знать и уметь. Блин, теперь пеня понесло…
m-rv
ну ок, давайте глянем на это ваше «посреди улицы». давайте договоримся, что «общественная норма» — это не то, что «общество» просто постулирует, а то, чему еще и следует. так вот гуляя на площадке с ребенком я с завидной регулярностью вижу, как чьему-то чаду «приспичило» и яжемать бежит с ним в кустики. ну как в кустики, те кустики просматриваются с угла 350 градусов. при этом я ни разу не замечал никакой неодобрительной реакции со стороны других членов «общества», гуляющих на той же площадке.
и не поймите меня не правильно: я это не поддерживаю, я говорю что «посреди улицы нельзя» — это персонально ваша моральная установка, которую вы приписываете «обществу в целом»
jakushev Автор
Странно, а если бы Вашего ребенка приспичило, что бы сделали? В кустики или в штаны? Как раз, не переношу этого слова «яжемать», делает правильно и я на ее стороне. MIN вреда. Как и на стороне людей, которые бегают отлить за столб в центре Москвы, застряв в многочасовой пробке. Скажем так, это — форс мажор. Как поедание людей на корабле, застрявшем в штиль в лошадиных широтах. Но это не норма, а выживание / профилактика болезней. Так же и дочке разрешу драться, лопаткой, розовой. Если ее будут унижать или отбирать что то. Даже похвалю. Но и будет серьезный разговор, если она будет так поступать. Уже написал, есть правила и исключения. В целом — 95% людей соблюдают писанные и не писанные правила поведения. А если бы алкаш пошел в кустики пописать на детской площадке? Думаю, все сообщество родителей его бы и отхлестало по писюну розовыми лопатками.
m-rv
upd: наличие собственного мнения — это хорошо и правильно, тут нет проблем. проблема в том, что вы заставляете ребенка уложить в голове вот эту кашу противоречий, преподнося это как непротиворечивую картину, да еще и сдабривая сверх претенциозным «это нормы общества»
astraleuro
Асоциально! :)
halayudha
Это больше похоже на вывод среднего значения. Вроде бы хорошо, но по итогу может получиться ведро с крабами: исхода никому не будет, так как выбираться из ведра не принято, тут же тянут назад.
Хм… Заставили задуматься. Спасибо.
embden
А мне напомнило оценку поведения в докторе Кто от смайлеров. Да, с педагогическим подходом что-то явно, кажется, не так.
rmrfchik
Описанный в статье подход мне понятен, ребёнок должен чётко видеть оценку своих действий.
А как надо, как педагогический подход более верен?
eimrine
Лично я, как мимокрокодил, считаю более верным педагогический подход сделать такую штуку в двух экземплярах. Один для дочери — challenge complete. Другой для себя (разумеется, с явным или неявным запретом ставить оценку самому). Простите за мои 5 копеек там где меня не спрашивали.
unsignedchar
Интересный эксперимент. Тогда нужно всем членам семьи по измерителю кармы.
jakushev Автор
Ну, как показала практика, изделие работает. Любому обучению / деятельности нужна обратная связь. Этот прибор — один из видов этой связи. К сожалению, альтернативу методу «кнута и пряника» пока никто не изобрел. Конечно, надстройки над ним есть, розгами уже не пользуются, на горох не сажают, но на «аппаратном» уровне все равно остается принцип: (действие)? поощрение: наказание. Применимо это, наверное, ко всем живым существам…
wormball
Посмотрите какую-нибудь лекцию Димы Зицера на ютубе, а лучше не одну (правда, звук у этих видосов говно, но оно того стоит, специально записанные видео с хорошим звуком мне у него меньше нравятся). У него целая школа без кнута и пряника.
Ежели в двух словах, главный тезис у него такой: у вашего ребёнка в жизни будет очень много людей, которые будут портить ему жизнь, а вы можете стать единственным человеком в его жизни, который не будет этого делать.
jakushev Автор
К сожалению, Вы сами немного противоречите сказанному:
что это, если не кнут?
разве не пряник?
Я не педагог, жена им является, дипломированным. Но подход, снова же, по моему скромному мнению, не верен. Что много людей будут портить жизнь, согласен. Но этот вопрос очень сложный. Для маленького ребенка и доктор, который делает прививку, и стоматолог, осматривающий, тем более лечащий зубы — люди, портящие жизнь. Но и если в жизни есть только один человек, который не портит — тоже лож. Сразу скажу, не смотрел, просто сделал вывод по тезису, возможно неверный.
wormball
Я тоже не педагог, у меня и детей-то нет, так что меня спрашивать бесполезно. А вот означенный автор — педагог, настоятельно советую всё же посмотреть. Хотя бы чисто с эстетической точки зрения — красиво рассказывает, особенно на лекциях.
Вот ещё по теме: Дима Зицер: «Сравнение — 100 шагов в ад» www.youtube.com/watch?v=keBGzxT6ZUs
jakushev Автор
За ссылки спасибо, посмотрю на досуге. Но речь не идет ни про какое сравнение, разве что с собственными плохими и хорошими поступками. Наоборот, постоянно напоминаю, что не надо отчаиваться и злиться, если кто то победил и стал первым в этот раз. Я просто не стал разбавлять и так развлекательный, не самый технический, текст историями про походы к психологу, разговорами с преподавателями и воспитателями из различных кружков. По факту — в конкретном случае методика работает. Конечно, она не универсальна, даже не заикаюсь про это. В тексте я писал, что к идее привел рисунок. Большей частью это верно. Но еще и консультации, просто геймефицировал один из видов обратной связи…
ehabi
Самое неприятное, для меня, в этой истории — это что ребенок выступает «объектом воспитания» и даже где-то собачкой Павлова. Друзья мои — дитё, даже самое малое, обладает собственным сознанием, он личность, индивидуум, и в своей малой пока головушке постоянно ставит нам, родителям, оценки, причем без всякой машинерии. Так что единственный безотказный метод воспитания — собственный пример. Ну, и дружба с ребенком, конечно.
jakushev Автор
Собственный пример и дружбу никто не отменял. Вот только все мы — в какой то мере собачки Павлова, даже во много большей степени, чем сами про это думаем. Нас оценивают и мы оцениваем. В детстве — элементарные вещи, такие как убрать игрушки, покушать, вовремя лечь спать, не капризничать; в школе — знание и прилежание, то же поведение; институт, работа… Снова же, в нашем случае — метод сработал. Геймификация тяги к лидерству.
aikixd
Вы так говорите, как будто взрослые люди имеют свободу выбора. Не понравилось микро-флоре в вашем желудке что-то и вот вы уже на ножах с супругой/м. Или в дестве вам сказали что "хорошо" не достаточно, нужно только "отлично" и вот вы боитесь начать делать дело.
Вы вольны делать выбор только в узких рамках разрешенных вам реакций. Просто вам повезло, что ваши личные рамки хорошо согласуются с обществом.
slavius
Просто нужно не только
наказыватьуказывать на плохое поведение, но и хвалить за хорошее. И отсутствие похвалы — в данном примере — звездочки — уже будет «наказанием». И главная цель, как мне кажется в этом.jakushev Автор
В целом, Вы правы. Сейчас дочка сама очень старается, чтобы быть на высоте. Конечно, в зависимости от индикации меняются и некоторые «ништяки» (чувствую, сейчас снова будут обвинять меня в дрессировке), но в реальной жизни все так устроенно. Снова же, что мы пытаемся скорректировать. Случайно разукрашенный пол при рисовании — никак не влияет на снижение оценки, просто просьба быть аккуратнее, и помочь родителям убрать бяку, а вот «вынуживание» сладостей или поступки, сделанные «на вред» — еще как понижают. С сопутствующим разъяснением, почему так делать нельзя.
wormball
Вот конкретно по настоящей теме: Поощрение и наказание: почему нельзя дрессировать близких www.youtube.com/watch?v=j7JFrqdUMWI. Но лекции лучше. www.youtube.com/results?search_query=дима+зицер
embden
Вы часто ссылаетесь на то, что нужно подстраивать своё поведение под общество и давать обратную связь. Но разве каждый в обществе ходит с таким вот светофором? А у вас тогда тоже получается есть светофор, который может выставлять дочка? Как вы получаете обратную связь? И если дочка получает обратную связь по светофору, то как они может понять, в чем конкретно не права? А если она это понимает по вашему выражению лица, по голосу, по общению, то зачем нужен светофор? И не связано ли улучшение поведения с тем, что вы просто стали этому уделять больше времени? Ну, это так, на подумать. Каждая семья сама выстраивает отношения внутри.