Например TDA7294

Форум РадиоКот • Просмотр темы - простенькие часики на Ардуино
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 09:40:59

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 20 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: простенькие часики на Ардуино
СообщениеДобавлено: Пт ноя 20, 2020 06:52:17 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
Переделал свои часики, унесенные в своё время с завода Ресурс в Богородицке и верно отслужившие почти 30 лет.
Собрал простенькие часики на Ардуино, TM1637 и DS3231. Индикатор вот такой E40803-I4-PG2-0-W. Функционал минимальный.
Показывают время и раз в минуту - температуру. Есть будильник и автоматическая регулировка яркости. При попадании питания кажут время 1 сек раз в минуту.
Скетчик написан по прочтению разных форумов и пугает меня самого :shock:
Прошу помочь с оптимизацией кода и схемы.


Вложения:
индикатор.lay6 [22.55 KiB]
Скачиваний: 456
индикатор.dip [117.72 KiB]
Скачиваний: 407
test.rar [488.69 KiB]
Скачиваний: 447


Последний раз редактировалось chern55 Пт ноя 20, 2020 17:13:10, всего редактировалось 1 раз.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пт ноя 20, 2020 12:10:40 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
TM1637 мне не очень понравилась... Там разве что индикатор крупногабаритный... или ёжли ее функционал по опросу клавиатуры задействовать...
С моего взгляду более эффективна MAX7219 ... но там дисплей поменьше, зато позиций поболее...
Хоша... то уже "у кого чего имеется".
:dont_know:
Относительно СКОТча... ежли работает как требуется - то и хорошо.
Каждый пишет как умеет и как ему удобнее.
8)
По функциональности... ежли ставить "мультифункционал" проблемы с индикацией статуса устройства (и соответственно клавиатуры) из-за ограниченных возможностей дисплея. Придется вводить данные "по кускам" занимая одну-две позиции под код/символ текущего статуса. Это также более "на усмотрение автора" - кому как хочется, так и делают.
Иногда добавляют индикаторов "рода работы", иногда знакомест на дисплее.
ЕЕПРОМ при использовании RTC, содержащей встроенные будильники явно... излишнее.
Другое дело, когда уставок больше чем 2 позиции. Тогда или ресурс DS1307(энергонезависимое ОЗУ) или ЕЕПРОМ МК (при DS3231 - у нее ОЗУ нету) задействовать можно.
Для DS18B20 уставка пользователя обычно записывается в самом DS18B20...
Ну а контроль питания можно проводить при помощи встроенного АЦП по заданному интервалу опросов.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пт ноя 20, 2020 12:52:21 
Мудрый кот

Карма: 10
Рейтинг сообщений: 272
Зарегистрирован: Пт мар 26, 2010 17:16:52
Сообщений: 1769
Откуда: Kazan
Рейтинг сообщения: 0
Есть ещё куча драйверов для дисплея и разрядов поболее и количеством сегментов более 8.
Типа PT, ET, MC, TM1628,TM1638 коих полно на платах бытовой электроники.
Правда у многих трех-проводный интерфес, но и для MAX программу нужно доработать.
Да и практически все вышеназванные мс умеют и десяток кнопок сканировать.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пт ноя 20, 2020 13:28:55 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Только вот провести макетную проверку и корректировку программы по ним сможет лишь тот, у кого они в наличии имеются.
Да и документация под те микросхемы... мягко говоря .... "не очень"...
:(
Насчет программ... Это вполне по силам самому написать.
(за редким исключением нескольких библиотек протоколов реального времени)...
:roll:
Моё "домашнее КРУ"(ЖОНА) за часейки со светодиодным табло и "на шнурке" может мал прогневаться...
За излишний перерасход энергии и ...т.д....
8)

Теперь несколько замечаний по поводу "причесать" исходник...
Собственно данный вопрос я скорее как пример в свою https://radiokot.ru/forum/viewtopic.php?f=62&t=156720
перетащу... Поскольку данный вопрос затрагивает и аспекты написания многофайловиков в среде ардуиноIDE.
Пока добавлю ранее уже упоминавшееся...
В тексте исходника имееются ссылки на "сторонние библиотеки".
У Вас оные когда-то скачаны и размещены как минимум в каталоге
Код:
C:\Documents and Settings\User\Мои документы\Arduino\libraries

однако для корректной обработки исходника на другом ПК (у тех, кто пожелает с разборкой заняться) необходимо также наличие данных библиотек той же, что и на Вашем ПК версии. Конечно можно и по ссылке в инете порыться... Но иной раз просто ВЛОМ, а иной раз "не та версия броузера" или "ОС не той системы" у пользователя установлена. Вобщемс... я обычно "нештатные" библиотеки таки отдельной папкой в проект укладываю... А пользователь уже смотрит что использовать - свои установленные, или дополнительные к себе закинуть.
Ну и ессно версию установленной IDE также указывать необходимо (а иногда и версию "платформы")...
:beer:


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Сб ноя 21, 2020 14:19:31 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
https://users.livejournal.com/klu-/58342.html


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Сб ноя 21, 2020 19:01:16 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Так ведь вопрос - то в ОБСУЖДЕНИИ возможных вариантов, а не в приказно-повелительном "делать только вот так".
8)
Рекомендации без проверки на действующем макете - штука неблагодарная. Посему или у кого уже готовые наработки будут выложены для обмена или "под заказ и быстро".
Готовое - вряд-ли подойдет Вам (не те индикаторы, не та элементная база) да и средства разработки могут отличаться.
Вопрос о версии ардуино IDE не случайное пожелание - в разных версиях несколько отличаются и компиляторы и варианты версии "платформ" (сделанное под "старшими" версиями не во всех случаях скомпилируется под "младшими").
У меня на разных машинах - и то разные - для ХР SP3(х32) 1.8.9, а для 10ки 1.8.13 (ее на ХР уже не установить).
Варианты коррекции схемы... - у каждого свой "набор предпочтений" не всегда совместимый с возможностями задающего вопросы. Касательно "свертки кода" - для того надо полноценно с Си/С++ познакомиться да перейти к самостоятельному изготовлению многофайловых проектов (еще и "особенности" самой IDE учитывать). К сожалению заинтересованных в разборе кода для ардуиноIDE среди матерых КОТОВ не так уж и много - скорее предложат на "чистый Си" или на АРМ перейти.
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Сб ноя 21, 2020 20:50:58 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
скорее предложат на "чистый Си" или на АРМ перейти

вот с этим полностью согласен.

хотелось бы уточнить метод округления температуры до целого числа перед выводом на дисплей
Код:
sensor.requestTemp();                            // Запрашиваем преобразование температуры
      delay(100);                                              // Ожидаем окончания преобразования
      temp = sensor.getTemp();
      disp.clear();
      disp.display(0, temp / 10);
      disp.display(1, temp % 10);


или тут http://arduino.ru/ спросить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Сб ноя 21, 2020 21:20:17 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Метод округления зависит от автора программы - как кому удобно, так и делается.
Относительно "округления перед выводом" встроенного в библиотеку драйвера дисплея - смотрим состав/описание функций соответствующей библиотеки.
Касательно правил работы с DS18B20...
Вначале обрабатывается полный комплект данных (зависит от установленной для датчика разрядности), а затем уже округляем до нужного значения, приводим к надлежащей форме (двоичное -> двоично-десятичное -> позиционный сегментный код) и скармливаем микросхеме драйвера.
Первичная обработка ВСЕХ данных (целой и дробной частей) необходима для корректной работы с минусовыми температурами.
Там сначала перевод в положительное число, а уж затем обработка значения.
Я пользовался только минимальным набором "сторонних" библиотек - Adafruit_NeoPixel и OneWire - остальное дописывал самостоятельно - так что не факт, что мой вариант Вам подойдет.
Вот к примеру показометр, одна из функций которого работа с тем же DS18B20:
Вложение:
mdht_22m.zip [171.38 KiB]
Скачиваний: 343

Как я понимаю подход совсем иной...
:tea:
Посему... возможно у меня в КОТУИНКО будет чего-то подобного еще разбираться (аналогия часов на основе К145ИК1901 с применением RTC и прочих "модификаций" на основе ардуино)... Но там пока ничего особо нового не придумывается...
:dont_know:
Видно осенне-зимний творческий отпад...
:beer:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 08:11:34 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 940
Рейтинг сообщения: 0
хотелось бы уточнить метод округления температуры до целого числа перед выводом на дисплей

Вы вдумайтесь в то что пишете. Метод округления до целого числа... Ужос!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 09:58:59 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Скорее там интерес как с битами дробной части обращаться - у них же несколько "непривычный" весовой коэффициент.
Да работа с отрицательным значением порой является источником для "тараканов".
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 19:06:42 
Вымогатель припоя

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
Я прибавил бы 0,5 и отбросил дробную часть.
Не знаю точно, как в С ( наверное тоже просто) а в асме- как два пальца.

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 19:13:15 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
В случае с ассемблером обработка (на уровне команд) заметно отличается от того, что в Си делается.
Тут еще и особенности функций используемой в проекте библиотеки.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 19:14:53 
Вымогатель припоя

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
Блин, совсем не секу в С :(

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 19:28:11 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Я его (Си/С++) пока только на начальной стадии изучаю.
Правда в приложении к ардуино IDE.
И при открытом обсуждении учебных проектов.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 19:49:16 
Держит паяльник хвостом

Карма: 10
Рейтинг сообщений: 99
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 940
Рейтинг сообщения: 0
При чём здесь Си не Си. Ты в логике распиши сначала. Язык это уже до жопы.

Добавлено after 13 minutes 37 seconds:
BOB51, извини что так обращаюсь.( Это больше к другим относится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Вс ноя 22, 2020 22:08:23 
Вымогатель припоя

Карма: -8
Рейтинг сообщений: 49
Зарегистрирован: Вс дек 28, 2014 21:54:05
Сообщений: 615
Рейтинг сообщения: 0
OKF, ко мне что ли? Так я и распиСал. Всё предельно просто.

_________________
Я всё-всё узнAю и стану профессором.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пн ноя 23, 2020 10:49:51 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14052
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Весовой коэффициент для байта целого числа:
d7:d6:d5:d4:d3:d2:d1:d0
d0=1 (2 в степени 0)
d1=2 (2 в степени 1)
d2=4 (2 в степени 2)
d3=8 (2 в степени 3)
d4=16 (2 в степени 4)
d5=32 (2 в степени 5)
d6=64 (2 в степени 6)
d7=128 (2 в степени 7)
а вот для дробной части... чуток "с извратом"....
вот тот "хвостик дробный" у данных DSки:
d3:d2:d1:d0
d0=0,0625 (2 в степени -4)
d1=0,125 (2 в степени -3)
d2=0,25 (2 в степени -2)
d3=0,5 (2 в степени -1)
поскольку в ассемблере привычно работать с целыми для обработки дробной части предварительно меняем весовые коэффициенты
d0=625 (2 в степени -4)
d1=1250 (2 в степени -3)
d2=2500 (2 в степени -2)
d3=5000 (2 в степени -1)
а уже полученный результат превращаем в соответствующий (сегментный) код для индикации после запятой.
Только вот для отрицательных значений необходимо В ОБЯЗАТЕЛЬНОМ ПОРЯДКЕ предварительно для всего полученного после замера значения данных выполнить "дополнение до 2х" получив в результате положительное число. А уж затем - округлять или отбрасывать дробную часть.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пн ноя 23, 2020 19:07:00 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
Код:
 sensor.requestTemp();                            // Запрашиваем преобразование температуры
      delay(100);                                      // Ожидаем окончания преобразования
      float temp;                                      // температура будет с десятыми градуса
      temp = sensor.getTemp();                         // получаем температуру
      disp.clear();                                    // очищаем дисплей
      int t;                                           // задаём временную переменную
      t = round(temp);                                 // t станет целым
      disp.display(0, t / 10);                         // выводм десятки градусов
      disp.display(1, t % 10);                         // выводм единицы градусов
      disp.displayByte(2, _degree);                    // выводим знак градуса
      disp.displayByte(3, _C);                         // выводим знак Цельсия

:)))
а отрицательной температуры у меня дома, к счастью, не бывает. Проект — не метеостанция. название темы — простенькие часики на Ардуино


Вложения:
test.txt [11.78 KiB]
Скачиваний: 263
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Чт апр 29, 2021 22:30:12 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
обновил скетчик. добавилась небольшая анимация.


Вложения:
test.rar [48.17 KiB]
Скачиваний: 244
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: простенькие часики на Ардуино
СообщениеДобавлено: Пн апр 11, 2022 21:53:00 
Встал на лапы
Аватар пользователя

Карма: 8
Рейтинг сообщений: 25
Зарегистрирован: Сб янв 29, 2011 21:43:38
Сообщений: 143
Откуда: Чернь, Тульская обл
Рейтинг сообщения: 0
замутил на MAX7219 и индикаторах E11501-G-PG2-0-W http://modul-x.ru/displei-svetodiodnye/ ... g2-0-w.htm


Вложения:
nev.rar [45.08 KiB]
Скачиваний: 148
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 20 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y