Программирование МК AVR. Урок 22. Изучаем АЦП. Часть 2

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 20

  • @user-tx8om1kg1q
    @user-tx8om1kg1q 4 года назад

    Очень много почерпнул для себя про АЦП. Автору спасибо!!!!!!

  • @walkmanlifetv
    @walkmanlifetv 5 лет назад +2

    Здравствуйте. У вас на схеме в протеусе потенциометр подключен "+" ножкой к +5в? Если так, то как от встроенного источника опорного напряжения 2.56В это будет работать? При 2.56В на средней ноге потенциометра в АЦП будет значение 1023? Что бы померить напряжение в интервале от 2.56В до 5В нужно использовать в схеме делитель напряжения? Или я ошибаюсь?

  • @DrargonsM
    @DrargonsM 8 лет назад

    круто - продолжение!!!

  • @vstad1
    @vstad1 5 лет назад

    Объяснение норм.

  • @ChegMr
    @ChegMr 8 лет назад +4

    Для проверки завершения преобразования, наверно лучше использовать проверку бита ADIF т .е. while (ADCSRA & (1

    • @garrusarchangel4562
      @garrusarchangel4562 7 лет назад

      Спасибо вам за вашу подсказку! Вылез из бесконечного цикла =)

  • @user-tg6pw2fm5w
    @user-tg6pw2fm5w 8 лет назад +2

    У меня тоже в proteus не работал код до тех пор пока я не подал питание на AREF и A/CC

    • @Ivan-rc4it
      @Ivan-rc4it 5 лет назад +1

      У меня работал, но показывал 200, а когда по Вашей рекомендации подал питание только на AVCC то при увеличении сопротивления значение до ходит до 1023, а если подавать только на AREF то показания доходят только до 200, так как и без питания на этот порт.

  • @garrusarchangel4562
    @garrusarchangel4562 7 лет назад +1

    У меня почему-то очень сильно прыгают выходные значения. Даже если просто до проводов дотрагиваться. Не говоря уже о подключении каких-то резисторов или чего-либо еще

  • @user-ef5hg5qy3m
    @user-ef5hg5qy3m 5 месяцев назад

    А если n умножить на 1000, то можно обойтись без плавающей запятой? У меня таким образом вроде работает с int

  • @nightfury9049
    @nightfury9049 7 лет назад

    Скажите пожалуйста, с какой целью выполняется преобразование во float? Одна переменная в формате float занимает почти 10% памяти atmega8, а мне нужно 6 каналов ацп. Можно ли обойтись переменной unsigned short или signed int ?

  • @vovanstukov6518
    @vovanstukov6518 6 лет назад

    Можно создать библиотеку для сегментного 4 х разрядного индикатора ? Код будет тот же или другой для библиотеки семи сегментника ?

  • @user-ri1bx2db8x
    @user-ri1bx2db8x 4 года назад

    Отличные уроки, только хотел бы узнать про 0х30, всё же не понятен смысл.

  • @andreyparovozz
    @andreyparovozz 6 лет назад

    Кончено, про всё про это можно почитать, но здесь подносят всё на блюдечке да и ещё со сметанкой.
    Шумный АЦП, однако))) Кстати, внутренний опорник от экземпляра к экземпляру плавает.
    Для тех, кто на батарейках:
    Включить АЦП:
    power_adc_enable();
    Выключить АЦП:
    power_adc_disable();
    Всю периферию за борт!
    power_all_disable();

  • @aigarsv3588
    @aigarsv3588 7 лет назад +1

    не уследил, откуда число 0x30?

    • @narodstream552
      @narodstream552  7 лет назад +1

      разница между цифрой и кодом цифры в таблице ascii

  • @gray_area
    @gray_area 4 года назад

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

    • @crocoblue
      @crocoblue 3 года назад

      как это сделать?

    • @gray_area
      @gray_area 3 года назад

      @@crocoblue в смысле как? Расписал же алгоритм...

  • @processcoding
    @processcoding 5 лет назад

    Не паказон какие ношки мы читали аналог данни...
    Не понятно урок ..