• Как проверить исправность микроконтроллера?

    Ocelot
    @Ocelot
    Программа заведомо рабочая? На другом таком же кристалле все ок?
    Возможно, часть пинов просто неправильно сконфигурирована - не как GPIO, а как входы-выходы встроенной периферии: таймеров, USART и т.п. Вот этот зверинец вы и наблюдаете на выводах вместо своих единичек. При этом IAR будет честно показывать, что в регистрах все отлично.
    Ответ написан
  • Где взять клавиатурный контроллер?

    Ocelot
    @Ocelot
    Может, проще разобрать ненужную клавиатуру? Там как раз маленькая платка с USB / PS/2 и кучей пинов, к которым цеплялась матрица. И три светодиодика =)
    Ответ написан
    Комментировать
  • Какое твердотельное реле постоянного тока выбрать?

    Ocelot
    @Ocelot
    Проще всего, наверное, сделать на электромагнитных реле:
    c204ce78c1e441d5b30bd77d01d9d0ef.PNG
    Переключатель S1 выбирает, какой HDD должен включиться. В зависимости от его состояния, при подаче питания одно из реле K1 или K2 срабатывает, встает на самоблокировку и одновременно разрывает цепь S1. После этого щелкать переключателем уже бесполезно - второе реле не сработает. При выключении питания система сбрасывается.

    Конденсаторы C1, C2 нужны для того, чтобы успела сработать автоблокировка: размыкающий контакт срабатывает на несколько миллисекунд раньше замыкающего. Диоды VD1, VD2 защищают конденсаторы от ЭДС самоиндукции.
    Ответ написан
    2 комментария
  • Как понизить вольтаж с 5v до 4,2V?

    Ocelot
    @Ocelot
    Воткнуть 1-2 диода последовательно. На каждом будет падение 0,4-0,6 В.
    Ответ написан
    Комментировать
  • Как соединить кулер и конденсатор?

    Ocelot
    @Ocelot
    На шильдике мотора написано, какой конденсатор ему нужен - 15 мкФ. А у вас всего 0.5 мкФ.
    Ответ написан
  • Как обеспечить безопасность в самодельном иммоблайзере на ардуино?

    Ocelot
    @Ocelot
    Смотреть в сторону криптографических Rfid-меток. Например, Mifare DESfire. Но, боюсь, ардуино не потянет работу с ними. Во-первых, эти метки высокочастотные (13 МГц), нужна отдельная схема считывателя. Во-вторых, у AVR может не хватить памяти и вычислительной мощности для работы с криптографией.

    Еще вариант - сделать брелок самому, на микроконтроллере с каким-нибудь радиомодулем. Протокол обмена можете сделать какой угодно, хоть с одноразовыми кодами.
    Ответ написан
    Комментировать
  • Почему электроны при разомкнутой цепи не "вытекают" из проводника?

    Ocelot
    @Ocelot
    Покидают. Но тут же возвращаются обратно.
    Как только какой-то электрон покинет проводник, суммарный заряд проводника станет положительным (число оставшихся электронов меньше, чем положительный заряд атомных ядер), и этот беглый электрон притянет обратно. Собственно, такой процесс происходит постоянно, при высоких температурах заметно бодрее (см. "Термоэлектронная эмиссия").
    Ответ написан
    Комментировать
  • Как управлять светодиодной матрицей 16x16 с помощью LED драйверов?

    Ocelot
    @Ocelot
    2 драйвера, один на столбцы, другой на строки - не получится. Допустим, линии столбцов выведены на TLC5940. Он замыкает свои выходы на землю, значит, линии строк надо замыкать на VСС. Для этого нужно 16 P-канальных транзисторов и сдвиговый регистр, чтобы их переключать.

    Алгоритм работы будет следующий:
    1) Включить 1-ю строку (в регистре 1111...1110, p-канальный транзистор открывается "нулем")
    2) Передать в драйвер значения ШИМ для всех пикселей строки
    3) Выждать некоторое время
    4) Сдвинуть регистр для включения следующей строки (1111...1101)
    5) GOTO 2
    Ответ написан
    7 комментариев
  • Как подружить Arduino с считывателем TM?

    Ocelot
    @Ocelot
    JSB KTMn-11 - это не считыватель, а просто контакты для "таблетки". Считывание TouchMemory на Arduino реализовать проще простого. Скорее всего, вам нужен протокол 1-Wire: playground.arduino.cc/Learning/OneWire
    Ответ написан
    Комментировать
  • Как найти на Хабре ролик про робота с панелями?

    Ocelot
    @Ocelot
    Ответ написан
    Комментировать
  • Схема включения mp3 плеера?

    Ocelot
    @Ocelot
    Просто "из палки и веревки" такой переключатель не соберешь. Либо МК, либо таймер, либо какая-нибудь хитрая аналоговая схема на конденсаторах и транзисторах.

    Предлагаю альтернативный вариант: залить в плеер какую-нибудь стороннюю прошивку (например, RockBox) и настроить автоплей по включению.
    Ответ написан
  • Вопрос по ассиметричному шифрованию?

    Ocelot
    @Ocelot
    Скорее всего, openssl сам добивает данные до заданного размера блока. Можно добавить метку времени, если хотите защититься от атаки "повторной пересылки" (когда злоумышленник не может расшифровать данные, но может отправить их еще раз).
    Ответ написан
    Комментировать
  • Какой есть недорогой PLC (Powerline communication) контроллер?

    Ocelot
    @Ocelot
    Минимальная скорость для управления лампочками - это протокол X10. Схем в интернете куча, никаких специальных микросхем не нужно, только МК+аналоговая обвязка.
    Если нужно чуть больше скорости/возможностей, поглядите следующие PLC-приемопередатчики: КР1446ХК1, LM567, TDA5051, ST7538/ST7540.
    Ответ написан
    Комментировать
  • Как достать провод reset после прошивки контроллера?

    Ocelot
    @Ocelot
    Ответ написан
    Комментировать
  • Float в C, 0.41 на самом деле 0.40999?

    Ocelot
    @Ocelot
    0,41 невозможно точно представить в виде суммы двоичных разрядов N1*(1/2)+N2*(1/4)+N3*(1/8)+... Только с некоторой ограниченной точностью. Подобно тому, как число 1/3 нельзя представить в виде конечной десятичной дроби.
    Ответ написан
    Комментировать
  • Датчик колесика скролла в мышку - можно купить?

    Ocelot
    @Ocelot
    Называется это "rotary encoder" или даже просто "mouse wheel encoder". У китайцев такого добра навалом, выбирайте:
    www.aliexpress.com/wholesale?SearchText=mouse+whee...
    Ответ написан
  • Какие каналы есть у таймеров/счетчиков микроконтроллеров AVR?

    Ocelot
    @Ocelot
    Таймер имеет два регистра совпадения OCR1A и OCR1B - по одному на канал. Когда значение таймера достигает значения OCR1A - срабатывает первый канал, когда OCR1B - второй.
    Каждый канал можно настроить независимо от другого на генерацию прерываний, управление выводами ШИМ и т.п.

    А еще пусть вас не вводят в заблуждение имена конфигурационных регистров TCCR1A и TCCR1B (еще TCCR1C иногда бывает), они никак не связаны с каналами, это просто один большой регистр, разбитый на несколько 8-битных кусков.
    Ответ написан
    Комментировать
  • Как микроконтроллером выводить звук через ШИМ и таймеры?

    Ocelot
    @Ocelot
    Допустим, нужно сгенерировать какой-нибудь семпл — кусок звуковой волны. Неважно, что это будет: синус или что посложнее.

    1) Делим этот семпл на отсчеты. Каждый отсчет представляет собой мгновенное значение уровня сигнала (напряжение на обмотке динамика). Частота следования отсчетов — частота дискретизации — должна быть как мининум вдвое выше максимальной частоты воспроизводимого звука. Нужен голос (диапазон от 300 до 3800 Гц) — берем частоту дискретизации 7,6 кГц. Нужна музыка — еще выше.
    Значения отсчетов можно хранить в виде массивов или генерировать на лету.

    2) Каждому отсчету соответствует своя скважность ШИМ. Соотв., при частоте дискретизации 7,6 кГц нужно 7600 раз в секунду задавать новую скважность.

    3) Какая нужна частота ШИМ? Между соседними отсчетами должно укладываться несколько периодов несущей. Больше — лучше. Сколько именно — зависит от требуемого уровня шума, аналоговых фильтров на выходе и т.д. (там довольно суровый матан). Для простоты возьмем частоту ШИМ в 10 раз выше частоты дискретизации — 76 кГц.

    4) Какая должна быть разрядность ШИМ? Зависит от требуемого динамического диапазона. 8-битный ШИМ даст отношение самого громкого и самого тихого сигнала 256:1 (~24 дБ). 16-битный — 65536:1 (~48 дБ).

    5) Какая в итоге нужна тактовая частота? F = (частота ШИМ) * 2(разрядность ШИМ). Для нашего случая с 8-битным ШИМом — почти 20 МГц. Если нужен phase-correct PWM — еще в два раза выше.
    Ответ написан
    Комментировать
  • Выделение основных тонов в изображении

    Ocelot
    @Ocelot
    Можно строить гистограмму распределения Hue и искать на ней локальные максимумы. Требуется один проход по изображению (O(n)) и обработка гистограммы, сложность которой не зависит от размера картинки (O(1)).
    Ответ написан
    2 комментария
  • Хочу сам собрать батарею для BT-колонки

    Ocelot
    @Ocelot
    Напряжение батареи 7,2В, емкость 2000мАч. Шесть элементов последовательно, на каждом 1,2В — значит, это NiCd или NiMH (они взаимозаменяемы). Собрать можно из пальчиковых аккумуляторов.
    Можно было бы воткнуть Li-Ion, 2 банки (тоже получится 7,2В), но штатная зарядка не сможет его нормально заряжать, есть почти 100% шанс убить так батарею.

    PS: А может, дело не в аккумуляторах, а в зарядке? Может, они просто недозаряжаются?
    Ответ написан
    2 комментария