Jump to content

gogaze

Members
  • Content Count

    183
  • Joined

  • Last visited

Community Reputation

1 Обычный

About gogaze

  • Rank
    Осваивающийся

Информация

  • Город
    Фокино, Приморский край

Электроника

  • Стаж в электронике
    Менее года
  • Сфера радиоэлектроники
    Питание с управлением на МК
  • Оборудование
    Lukey852D, Victor6013, VictorVC97, Instrustar ISDS205A

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Можно вопрос считать решенным. Запускаем, выбираем в меню нужный вариант. По достижении минимально допустимого напряжения разряда срабатывает сигнализация. Варианты - от светодиода до полицейской "крякалки" или реле отключения.
  2. Я так понял, что надо все-таки делать меню. Нашел в сети вариант, https://scienceprog.com/how-to-write-an-lcd-menu-for-avr-in-c/ немного доработал для своих нужд. Вроде неплохо получилось. Осталось самое главное - добавить в меню код моего счетчика. Поделитесь ссылкой или советом по этому вопросу, пожалуйста!!! На данный момент кое-что нашел в книге А.В. Белова "Микроконтроллеры AVR в радиолюбительской практике". Листинг меню и модель в Протеусе в архиве. MENU.rar
  3. Условий, типа этого //=====Напряжение минимальное при разрядке аккумулятора============================ if (volt <= 1050) // Если напряжение меньше-равно 10.50 вольт { PORTD |= (1<<PD7); // Устанавливаем бит 7 порта D в 1 (светодиод горит) } else { PORTD &= ~( 1 << PD7 ); // Устанавливаем бит 7 порта D в 0 (светодиод не горит) } нужно несколько. Здесь на 10.5 вольта, такое же добавить на 3.0 вольта ..... и так далее. Вот из них и выбирать нужное при запуске программы.
  4. По-дилетантски объясню: 1. Запускается основная программа (счетчик ампер-часов). 2. Дальше: либо по кнопке, либо автоматически появляется меню где можно из списка выбрать и задействовать необходимое условие для минимально допустимого напряжения. 3. После выбора счетчик работает с выбранным параметром.Скриншот счетчика прилагаю на всякий случай.
  5. Ну и я так и сделал . Только для одного напряжения. ГЛАВНОЕ для меня - как реализовать выбор и использование нужного условия если их несколько? Делать меню? Или есть другой вариант?
  6. То условие, которое я показал в начале - отлично работает. Но мне нужно таких условий несколько на разные напряжения. Ну и, соответственно, чтобы при запуске программы была возможность выбрать для использования нужное.
  7. В первом посте я всю задачу описал, как смог. Основная программа там же. Потом мне посоветовали заменить мое условие If - else на switch case. Я попробовал. Результат представил.
  8. Попробовал сделать так: switch ( volt ) { case 1051: PORTD |= (1<<PD7); // Устанавливаем бит 7 порта D в 1 (светодиод горит) break; case 250: PORTD |= (1<<PD7); // Устанавливаем бит 7 порта D в 1 (светодиод горит) break; default: PORTD &= ~( 1 << PD7 );// Устанавливаем бит 7 порта D в 0 (светодиод не горит) break; } Работает, но не совсем так, как надо. Светодиод загорается только при значениях volt точно равных 10.51 и 2.50 вольт. И главное: чтобы в основной программе сделать выбор между case 1051 и case 250 ну и так далее - все равно надо делать меню???
  9. Программа-счетчик ампер-часов В ней условие //=====Напряжение минимальное при разрядке аккумулятора============================ if (volt <= 1050) // Если напряжение меньше-равно 10.50 вольт { PORTD |= (1<<PD7); // Устанавливаем бит 7 порта D в 1 (светодиод горит) } else { // Иначе PORTD &= ~( 1 << PD7 );// Устанавливаем бит 7 порта D в 0 (светодиод не горит) } Как проще добавить несколько вариантов условий if (volt <= 1050) // Если напряжение меньше-равно 10.50 вольт для разных напряжений, чтобы при запуске программы можно было выбрать и задействовать нужное? Я ничего подобного раньше еще не делал, так что прошу отнестись соответственно.
  10. Ну и как? Получилось разобраться?
  11. @Trute Спасибо большое, Николай! Получил, собрал, проверил - даже грустно. Было три Атмеги, две Atmega8 и одна Atmega328 лично залоченные по неопытности. Вставил в Доктора, нажал кнопку, через 0,875 секунды загорелся зеленый светодиод. Сую в программатор - вижу новые контроллеры. Все читается, пишется. Вывод - отличное устройство, работает без нареканий. Собирал без спешки, детали перед установкой проверял.
  12. VR Atmega16A-PU Правильно ли я выставил fuses в Proteus для 16MHz от внутреннего генератора? Если можно, то про нижнюю строчку (стрелку) поподробнее, пожалуйста.
  13. В период самоликвидации! С одной библиотекой для LCD1602 на раз, два получилось. А попробовал другую и пока что - фигвам. Я имел ввиду библиотеки используемые для написания кода.
×
×
  • Create New...