• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

Yurkin2015

Members
  • Публикации

    1 089
  • Зарегистрирован

  • Посещение

Репутация

274 Хороший

2 подписчика

О Yurkin2015

  • Звание
    Живу я тут

Информация

  • Пол
    Мужчина

Электроника

  • Стаж в электронике
    Более 20 лет

Посетители профиля

2 790 просмотров профиля
  1. Преобразование массива в код (Си)

    Не, ну, посудите сами. Например, нажатие кнопки выдаёт 1 и пусть нажали на кнопку, и прямо угадали опросить "code = PINB & 0b00000111;" как раз во время дребезга. Всё нормально: если зафиксировали 1, то это как раз и нужно. А если зафиксировали 0, то и хрен с ним, был ноль - ноль и остался, желаемую 1 получите через следующие 20 мс. В результате по-любому в переменной code будет единственный переход 0->1, никакого дребезга не будет, и в партер переходить не надо.
  2. Преобразование массива в код (Си)

    Этого как раз достаточно для борьбы с дребезгом. Не надо никаких сравнений и delay(), просто каждые 20 мс выполнять одну строчку: code = PINB & 0b00000111; // и далее работать с code вот и вся борьба ...
  3. Преобразование массива в код (Си)

    как это не обрабатывается? Во многих случаях отпускание кнопки тоже несёт информацию. Не поймав опускание кнопки, как мы определим следующее нажатие на ту же самую кнопку? Ноль - значит все кнопки были отпущены. Вот и получится вместо "кн.1 нажата - кн.1 и кн.2 нажаты" будем иметь ситуацию "кн.1 нажата - всё отпущено - кн.1 и 2 нажаты, причём кн.1 нажата второй раз". Вон, и у ТС программа реагирует на ноль какой-то паузой в освещении.
  4. Преобразование массива в код (Си)

    Не нравится мне этот вариант. Если я нажал первую кнопку, а потом, не отпуская, нажал вторую во время delay(10), то этот код мне занулит обе кнопки и первую занулит тоже? При чём здесь первая, я же её не отпускал?
  5. Преобразование массива в код (Си)

    Ну, при считывании сразу в code и пишите и никаких сдвигов-преобразований не надо. code = 0; if(PIN1) code |= 0x01; if(PIN2) code |= 0x02; if(PIN3) code |= 0x04;
  6. Преобразование массива в код (Си)

    А, точно, маху дал, полируем дальше code = 0; for(i = 0; i < 8; i++) { code >>= 1; if(trig[i] == 1) code |= 0x80; }
  7. Преобразование массива в код (Си)

    Ну, значит, договорились! И, это, зануляйте перед циклом обязательно code = 0;
  8. Преобразование массива в код (Си)

    Не, должно быть вот так: for (i = 0; i < 8; i++)
  9. Преобразование массива в код (Си)

    не понял, что это?
  10. Преобразование массива в код (Си)

    Ну, если полируем код, тогда можно обойтись и без вспомогательной маски code = 0; for(i = 0; i < 8; i++) { if(trig[i] == 1) code |= 0x80; code >>= 1; }
  11. Преобразование массива в код (Си)

    code = 0; for (i = 0; i < 8; i++) { if(trig[i] == 1){ code |= (1 << i); } }
  12. Передача энергии индуктивным способом

    Видео, конечно, невероятное! Куча машинок, все быстро передвигаются, и ни одной аварийной ситуации, типа, столкновения друг с другом или съезд с трассы? Кто же всем этим управляет?!? По поводу беспроводного питания. Вструмить аккумуляторы в машинки. Определить для каждой машинки место, где она сможет подолгу стоять, например ночью. В эти места и вмонтировать катушки передатчика беспроводной зарядки. На машинках - катушки приёмников. Днём катаемся, на ночь врубаем сотню катушек-передатчиков, все машинки занимают свои места и заряжаются до утра.
  13. Помогите! Подскажите! Help!

    L - левый канал, R - правый канал 2.0 INPUT - обычные стерео входы AUX - дополнительный стерео вход PC - стерео вход с компьютера 5.1 INPUT - входы системы 5.1 FL/FR - левый и правый фронтальные входы SL/SR - левый и правый боковые входы SW/C - входы для сабвуфера и вход центрального канала Линейка жёлтых разъёмов - выходы на колонки FR - выход на переднюю правую колонку FL - выход на переднюю левую колонку SR - выход на боковую правую колонку SL - выход на боковую левую колонку C - выход на центральную колонку
  14. К155ТМ2 не работает как Т-триггер?

    Ну, дык, следующий этап для улучшения устойчивой работы - увеличить конденсатор С1 в 1000 раз. Для резитора R3=100 Ом поставить С1 микрофарад на 50, а то и больше.
  15. К155ТМ2 не работает как Т-триггер?

    Ещё один прикол, про который обычно забывают при работе с 155-ой серией - это входной ток микросхемы. Для создания логического нуля на входе сброса R нужно обеспечить ток аж 3мА при напряжении не более 0.8В. Резистор R3 такой ток, конечно, не сделает, и триггер никогда не сможет почуять 0 на входе сброса и не перекинется. Надо уменьшить R3 раз в 10, тогда мож как-то заработает от кнопки.