К основному контенту

Сообщения

Показаны сообщения с ярлыком "AVR"

Чем бы дитя не тешилось...

Смастерил вот на скорую руку такую "цветомузыку": Снимал на смартфон, а музыка играла с другого смартфона... Не ожидал, что музыки почти не слышно будет. Зато видно неплохо. Электретный микрофон, шесть резисторов один конденсатор и три светодиода, а так же главное - микроконтролер attiny13, - вот и весь рецепт. Чувствительность маловата, смартфон почти вплотную к микрофону придвинул, ну так и громкость там не ватты... Если музон пускать через нормальные колонки, наверное, будет достаточно чувствительности.  Планирую еще добавить управление вращением моторчика, который крутит "хрустальный шар", просто мост на MOSFET-ах еще не спаял, и не придумал алгоритм управения вращением... Потому пока что так. В тиньке места еще много, так что буду подстегивать свою фантазию...

Все ниже, и ниже, и ниже... стремим CLK AVR...

Как ни посмотришь, так все всегда в гонке... Выше, больше, быстрее, потом еще больше, еще выше, еще быстрее... Мегагерцы, Гигагерцы... А потом нервные срывы и - милости просим к нам в гнездо, в комнату с белым потолком, с правом на надежду! И это еще хорошо, если так повезет... А кому это надо? Мне, например, не надо. Свой последний проект на микроконтроллере AVR я сделал на тактовой частоте в 32768 Гц. Ни больше, ни меньше, а 32 килогерца. Само собой, это вышло не специально... Просто решил делать часы на микроконтроллере, в котором нет аппаратного таймера специально под организацию часов реального времени... Ну и самым простым оказалось перевести весь проект на тактирование от часового кварца.  А чего такого? Это самая низкая из доступных "по умолчанию" частот (даже тактирование от генератора WDT и то на большей частоте получается - порядка 100 кГц), при том стабильная, ибо кварц.  И вышло так, что практически никаких ограничений в процессе написания прошивки я не испытывал...

Если звёзды зажигают, значит, это кому-нибудь нужно?

 Ох...  Сколько бессонных ночей и трудовых дней потребовалось, чтобы завершить работу, которую прилагаю к этой записи... Вот отсюда можно скачать (просто распакуйте архив и запустите exe-шник): https://cloud.mail.ru/public/Co2R%2F3YxQDjR1P Что это? Это - система создания скриптов для моего плейера световых эффектов. Сложно рассказать в двух словах, что это и зачем, но если пойти и почитать по ссылке, какое-то представление получить можно. Ну и несколько картинок для интриги: Если звезды зажигают, значит, это кому-нибудь нужно? Если программы пишут - что это значит? P.S. Понимаю, что прошу слишком многого, но очень хотелось бы получить какую-то обратную связь по поводу этого проекта...

Биполярное расстройство

Биполярное расстройство - это совсем не плохо настроенный усилитель на биполярных транзисторах. Это значительно хуже ... Но медицина нам поможет. Остаются лишь непрерывные броуновские колебания: делать конструкцию с максимальным фаршем или ограничиться необходимым и достаточным минимумом? Тоже в некотором роде биполярность вариантов, которая расстраивает. Забожалось сделать GSM-сигнализацию с блэкджеком и женщинами с низкой социальной ответственностью... Напланировал кучу всяких возможностей, вплоть до зачатков "умного дома" (в частности, наличие 8 аналоговых входов для всяких датчиков, 8 дискретных датчиков и 8 линий для датчиков DS18x20, а так же 8 дискретных выходов). Само собой, запланирована расширяемость системы и т.п. Но... Конкретно мои личные потребности все эти задумки перекрывают с запасом лет на 10, т.е. мне хватило бы раза в 3-4 меньшего количества всех этих входов-выходов. А все эти навороты как бы "для народа" (ибо я никогда из своих поделок тайны не ...

Есть ли жизнь на Марсе?

Есть ли жизнь на Марсе, нет ли её там - науке это не известно. Наука пока не в курсе дела. Есть ли жизнь в экосистеме AVR? Или эти мамонты уже вымерли, уступив более теплокровным ARM?  По-моему, для неленивого энтузиаста экосистема AVR предоставляет еще множество возможностей. Не смотря на 8 бит и достаточно скромные характеристики, жизнь там не только существует, но и довольно эффектно развивается. На видео - небольшая (как кредитка) игрушечка, реализованная на attiny85 ... Напомню: всего 6 ног, 8К flash и 512 байт RAM. Вот так-то...

Минималистическая RTOS - продолжение

Ну вот, санитары отпустили, и теперь можно вспомнить, что еще не совсем забыто и сделать, что еще не сделано. Например, рассказать, чего это такое я хотел рассказать ранее, да не успел. Собственно вот что я сделал. typedef uint16_t timer_sz_t ; /// тип функции таймера. если возвращает не ноль, то таймер продолжает работать. /// в качестве параметра получает указатель на структуру timer_struct_t, т.е. на тот самый /// экземпляр таймера, к которому привязана функция. /// вызывается в "безопасном" режиме, т.е. при запрещенных прерываниях /// (атомарно), поэтому из функции можно модифицировать значения полей таймера напрямую, /// хотя для поля \b counter это делать не имеет смысла, т.к. это поле все равно может измениться после /// завершения функции. typedef bool (* timer_callback )( void * t ); /// тип структуры, описывающей таймер typedef struct { timer_sz_t counter ; //!< счетчик timer_sz_t period ; //!< заданный период timer_callback sh...

Минималистическая RTOS

В моём гнезде прибавление. В смысле, алгоритм вылупился. Не скажу, чтобы исключительно новый, вряд ли гениальный, но, мне кажется, заслуживающий внимания. Преамбула Что мы понимаем под понятием "таймер"? Ну, не в смысле задатчика времени варки яиц всмятку, а в программировании? Это некая функция, которая "сама по себе" выполняется через заданные интервалы времени. Или же чуть иначе: функция выполнится через заданный интервал времени однократно. Наконец, и третья интерпретация тоже имеет место быть: таймер - это некий счетчик, который сам по себе считает, а мы можем время от времени поглядывать на его значение и принимать какие-то решения. Амбула Как обычно реализуются таймеры в микроконтроллерном программировании? Безусловно, наиболее удобно - с задействованием аппаратных таймеров-счетчиков и прерываний от них. Существует вариант реализации и без этого, но сие удовольствие надо оставить пациентам более строгого режима лечения. С прерыванием от аппаратного таймера вс...

Как перестать волноваться и полюбить... RTOS

Вот вы говорите: AVR слишком убоги, чтобы применять на них RTOS... А я рискнул... Сначала попытался рассмотреть имеющиеся варианты, чтобы сделать предварительные выводы. Поиск вываливает примерно с десяток готовых разработок RTOS разной степени крутости, из которых FreeRTOS , естественно, в лидерах. Однако, я оценил свои силы и решил, что вхождение в эту ОС для меня обернется большими сложностями, в основном, из-за большого количества возможностей API, и англоязычным их описанием. Ну не принимает душа русская языка аглицкого, даже со словарем и гуглопереводчиком в больших количествах. А из осей на великом и могучем нашлось только две: кооперативная OSA и присиплюсплюснатая ScmRTOS . Опять-таки из-за собственной ограниченности более современная и продвинутая ScmRTOS мне показалась недоступной - С++ пока что понимаю и принимаю исключительно в качестве наказания. Ну, собственно, и вышло, что начать и закончить поиск осей для AVR можно на OSA . Попробовал - получается. Не без скрипа, но ра...