Pull to refresh

Comments 34

Не пробовали реализовать в нем режим плавного включения/выключения в режиме сердцебиения? Типа того, что в видео, только чтоб больше кардиограмме соответствовало =)
Видео
Подарок сделан и отдан, для дальнейших модификаций нужно снова припаиваться к плате. Когда я его создавал — понятия не имел о таких вещах как ШИМ. Да и светодиоды уже бы взял не одноцветные, наверное. А сейчас уже к игранию светодиодами пропал интерес. Сделал комбик для электрогитары. Сейчас занимаюсь усилителем с цифровым управлением (энкодер и TDA7300D). Гораздо интереснее тема. В общем, новое хобби потихоньку развивается.
С хлорным железом в металлической раковине работать? Вы знаете толк…
Моей раковине от него абсолютно ничего не делается. Когда начал травить первые платы специально поставил опыт на невидимой глазу части поверхности. Протравлено не менее трех десятков плат, как видите на фото, каких-либо отметин нет.
Тут еще не очень приятен момент, что все это проделывалось на кухне, возле пищи и посуды.
Ну, не спорю, супруга не ругается только потому как проделываю все ночью, когда все спят уже. А складывать грязную посуду в раковину привычки не имеем да и мою потом раковину. Тут вариантов не много, к сожалению: подогреть в микроволновке (высокий шанс разлить, мыть сложнее, так что отпадает сразу) или раковина в ванной. В ванной кафель оттирается тяжело очень, вот и перешел на кухню. За конструктивную критику спасибо, если последуют и предложения, будет еще лучше.
Предложения и замечания такие:
  1. Выложить код на гитхаб (это очень просто сделать), хотя бы потому, что гитхаб предоставляет удобную инфраструктуру для ознакомления, без нобходимости что-либо скачивать/распаковывать. Скачать все архивом оттуда тоже можно
  2. Уделить внимание проблемам со стилем написания программ:
    Развернуть простыню в китайском стиле
    void On_off_all(bool state)
    {
          PORTC.5=state; //верх  
          PORTD.0=state; //лево верх
          PORTD.1=state;
          PORTD.2=state;
          PORTD.3=state;
          PORTD.4=state;
          PORTB.6=state;
          PORTB.7=state;
          PORTD.5=state;
          PORTD.6=state; //лево них
          PORTD.7=state; //низ
          PORTB.0=state; //право низ
          PORTB.3=state;
          PORTB.4=state;
          PORTB.5=state;
          PORTC.0=state;
          PORTC.1=state;
          PORTC.3=state;
          PORTC.2=state;
          PORTC.4=state; //право верх    
    }
    


    Указанная процедура вызывается из
    Другой простыни в том же стиле
          On_off_all(true);
          delay_ms(30);
          On_off_all(false);
          delay_ms(30);
          On_off_all(true);
          delay_ms(30);
          On_off_all(false);
          delay_ms(30);
          On_off_all(true);  
          delay_ms(30);
          On_off_all(false);
    


    По смыслу, здесь нужно иметь не одну функцию с флагом, а две функции без флага:
    Посмотреть вариант улучшения
    void allON()
    {
       PORTB=0xb11111001;
       PORTC=0xb00111111;
       PORTD=0xb11111111;
    }
    
    void allOFF()
    {
       PORTB=0x0;
       PORTC=0x0;
       PORTD=0x0;
    }
    

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


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


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

    Плюсы:
    • Эффекты выполняются в фоне, не блокируя программу контроллера
    • Эффекты занимают как минимум в два раза меньше места (одна инструкция AVR — 2 байта, инструкция автомата — байт
    • Обработчик можно поместить в загрузчик и программировать эффекты средствами самого устройства, без компьютера и программатора

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


В целом, талантливый человек на AVR может много чего сделать

«Вы страшный человек, Новосельцев!» (с)

А, вообще, спасибо за то, что рассказали.
Спасибо за конструктивные замечания. «Простыня» получилась не из-за незнания, как написать короче, а чтобы не запутаться в эффектах из 20 светодиодов, потому что порты идут не все по-порядку. Готовый результат можно было оптимизировать, но я не стал по причине того, чтобы было уже 3 часа ночи и думал потом еще вернуться и добавить эффектов (к сожалению, не вышло по времени).
Вот насчет прерывания замечание очень дельное, обязательно учту его в следующем проекте.
К следующему празднику сделаю что-нибудь чуть более грандиозное, температурный датчик есть (ds18b20), очень понравилась идея насчет пульса. Спасибо за идеи!
Есть еще одна, ну очень простая — имеется такой сорт индикаторных отверток:

У нее внутри как раз не неонка, а светодиод, батарейка и нечто трехногое, наверняка — транзистор. Она настолько чувствительна, что светится, когда кто-то просто касается одновременно жала и пятака на ручке.

Если два человека держатся за отвертку (один за жало, второй — за пятак), она не реагирует (сопротивление обуви и пола достаточно велико). А вот если они при этом еще как-то соприкаснутся кожей — тут-то светодиод и вспыхнет.
Раковина из нержавейки, вообще-то.
полуофф.

Вместо печати на бумаге, куда как кошернее печатать на пищевой фольге. Она ж потом лихо стравливается хлорным железом и не нужно ничего отмывать под струей воды. Только так и делаю все время. Правда есть нюанс — у меня хлорного железа вагон и маленькая тележка, так что я его не экономлю, поэтому допускаю такой метод.
А это безопасно для принтера?
Мне кажется, не каждый принтер осилит такую печать, а выковыривать потом из принтера кусочки фольги я бы точно не рискнул (у меня полудохлый LJ6L, который жует все, отличающееся от ровно вставленного листа бумаги). Бумагу отмываю не под струей воды, а наливаю в емкость кипятка и кладу туда плату отмокать, пока бумага не разлезется сама. Это время можно потратить для других целей, разогреть паяльник, подготовить рабочее место для пайки и т.д.
Как то рановато греть паяльник пока плата даже не начала травиться :)
Самая большая проблема при семье с двумя детьми — выделить на себя время. Поэтому ценю каждую свободную минуту и делаю параллельно несколько проектов.
Мне кажется, не каждый принтер осилит такую печать, а выковыривать потом из принтера кусочки фольги я бы точно не рискнул (у меня полудохлый LJ6L, который жует все, отличающееся от ровно вставленного листа бумаги).

Берется лист обычной бумаги, фольга и клеющий карандаш. Дальше объяснять?
… под действием печки клей из карандаша теряет адгезию к фольге, она отстает от бумаги, идет пузырями, царапает покрытие на печке или барабане, печка или барабан отправляются в утиль?
Странно — у меня никакая адгезия не терялась. Что я делал не так?
Так это индивидуальное сочетание ретивости механизма протяжки бумаги, количества намалеванного клея, разогретости печки — короче, лотерея с выигрышем в удобстве снятия «матрицы» с платы и проигрышем в виде замены барабана.
Так это индивидуальное сочетание ретивости механизма протяжки бумаги, количества намалеванного клея, разогретости печки

На 3 разных принтерах?
Ну вы собирайте статистику, а все остальные пока будут платы делать, хорошо? А то я что-то непойму, о чем вы со мной спорите — вроде как сами вы этот метод не пробовали, но упорно пытаетесь меня убедить в том, что это не возможно.
Специально для вас сегодня(максимум на выходных), проведу эксперимент на двух принтерах( HP и Samsung), по печати на фольге.
Прошло два года. Получился эксперимент? Покажите?
Я лучше вам так скажу — вы ищете проблему там, где ее нет. Я кучу плат переделал в свое время ЛУТом, сейчас использую фоторезисты, для которых тоже клею пленку клеющим карандашом на бумагу(в целях экономии пленки). Сведя все к суровой практике, то если карандаш нормальный, листу дали перед печатью подсохнуть хоть пару минут, фольга/пленка нормально приклеены — то ничего вашему принтеру не будет.
ПыСы. С учетом стоимости фотобарабана на тот же HP 6L в размере 2.22 доллара США, его замену назвать проигрышем как-то тяжело.
UFO just landed and posted this here
Нет, не боюсь.
И самое проблемное забыли: покупка, доставка. ремонт, время.)
Я в курсе, как это делается. Я к тому, что многие старые принтеры имеют особенность зажевывать и, иногда, рвать бумагу, которая чуть толще или тоньше каких-то пределов. Мне бы не хотелось выдирать потом лист с фольгой, как бы он хорошо не был проклеен. Лучше уж плата в воде полежит 20 минут, от меня не убудет. Да и это лишние расходы на фольгу и клей, хоть и небольшие, а бумага достается бесплатно, стабильно 1-2 раза в неделю пачка рекламной макулатуры оказывается в ящике.
дополню полуофф:

а вместо хлорки для одноразовых травлений можно использовать месиво:
«перекись водорода + лимонная кислота + поваренная соль»

И никаких испорченных посуд и раковин, ржавых пинцетов (у меня порошок хлорного железа был плотно замурован в банке и завязан в пакет, а рядом лежавший пинцет всё равно проржавел) и синяков от побоев жены (после обнаружения испорченной утвари).
а вместо хлорки для одноразовых травлений можно использовать месиво:
«перекись водорода + лимонная кислота + поваренная соль»

Еще было бы круто, если бы вы написали, в каких пропорциях и как быстро данный состав работает.
Все, нашел.
В 100 мл аптечной 3% перекиси водорода растворяется 30 г лимонной кислоты и 5 г поваренной соли. Этого раствора должно хватить для травления 100 см2 меди, толщиной 35мкм.
Не написал, потому что забыл сам) Но гуглится очень просто, главное знать про его существование.
Вообще, я всегда сыпал на глаз, рецепт аптечных пропорций не требует.

В холодном растворе платка сферических размеров травится минут двадцать (у меня пластиковый контейнер размером 15 х 20 в качестве кюветы, на пенопластину по размеру коробка клею скотчем сразу все свои маленькие платки, забивая площадь, и пускаю в плавание).
Подогрев и покачивания приветствуются — будет быстрее и качественнее.
Спасибо, обязательно попробую.
Sign up to leave a comment.

Articles