Некоторый "нежданчик"...
Как-то не обращал внимания на фузы у адуринок...
Предполагалось, что в нанке BOD по умолчанию отключен...
Однако при просмотре нескольких экземпляров ("old bootloader")
обнаружилось что там выставлено:
BODLEVEL2:BODLEVEL1:BODLEVEL0 = 1:0:1
т.е. аппаратный сброс при уровне питающего напряжения
2,5 - 2,7 - 2,9 вольта...
Я спросил выше про шагомер, потому что намучались мы с ним в своё время. С тех пор некоторые модели акселерометров стали оснащать встроенным алгоритмом детектирования шага для применения в педометрах. Однако, я их не пробовал, поэтому и спросил. Было-бы итересно посмотреть на их работу и я надеялся (и надеюсь), что Вы это нам сможете продемонстрировать. Или какой-либо иной свой подход.
К сожалению у меня не особо велик выбор "из чего делать"...
Или какая полная самодельщина на подручной рассыпухе или ардуиньий модуль GY521 с MPU6050...
Второй "пунктик" - шагомер - это не основное устройство, а подключаемый к главной коробушке внешний модуль.
Собственно и построение проекта на том основано - блочная конструкция с минимальным функционалом, расширяемая по мере времени и настроения.
Так что придется в начале продумать оптимум для основной коробейки, ессно с учетом возможных "прицепных" блочков.
А поскольку у про-мини (а именно ее и буду ставить в коробушку, а не нанку) не так много внешних лапок, придется поизворачиваться.
САМОДЕЛЬНЫЙ АДРЕСУЕМЫЙ ОПТРОН
В процессе поиска "лишних лапок" для силовых нагрузок пришла вредна мысля использовать адресные
светодиоды вида WS2812 (и подобные) в качестве самодельного адресуемого оптрона...
Да еще и с разными спектрами/светофильтрами...
В принципе... делаем к одиночному светику
светонепроницаемую корпусину, на другом конце какой-либо фотоприемник (зависит от цели/возможности/наличия) и получаем цепочку нагрузок на одной лапке (плюс отдельные шинки питания и "общего" провода)...
Правда жруть те "умны светики" таки более, чем обычные светики оптронов, но... вполне себе перспективный вариант для стационарных устройств...
BOB51, забавная идея - да, довольно быстро по 1 проводу можно адресовать десятки таких, только надо иметь ввиду что WS2812 мигают когда светятся (там pwm яркость), частота десятки килогерц обычно. и я не проверял досканально но кажется они чутка подмигивают светом на трансляциях, c тиристорами надо поаккуратнее наверн
При качественном обработчике протокола мигать при смене задачи не должны (теоретически)... но можно и проверить..
А ШИМ, в принципе, вполне сглаживается схемой у фотоприемника.
Там другой "гвоздик" - есть два варианта исполнения с выключенным состоянием при подаче питания и с включенным (надо посылать команду после подачи питания дабы выключить).
Ну и чтобы проверить таки придется штуки три подопытных соорудить.
Я вот потихоньку чуток измененную макетку игрушки соорудил - но с двумя светиками: https://img.radiokot.ru/files/20529/34zejq68dq.GIF
да прожку к ней
вот из двух обычных светиков можно попробовать на одной линии два "вумных". Ибо лапок у адуринки маловато...
На прожорливость можно особо внимания не обращать - хорошего аккумулятора на тесты вполне должно хватить (не говоря уже о стационарном питании от сети)...
Касательно протокола - придется "стандартным" для адуринок воспользоваться - чего и как там сказать трудно... Мой вариант только под ассемблером и для тиньки25/45/85 был (надо в архивах покопаться будет)...
Добавил в схемку "шустрых светиков" https://img.radiokot.ru/files/20529/356ldfd0fd.GIF
правда чего с ними умудрить пока не решил - только подключение и начальный сброс.
Планка из 8 штук исходно "полное включение" (требует программного отключения при инициализации.
Девятый "самостоятельный" при подаче питания выключен.
Как уже говорилось - это особенности конкретной партии - у одних при подаче питания свечение полностью включено, у других - выключено. Какой вариант попадется при покупке - это лоторея (или проверять надо хотя бы подключив литиевый аккумулятор).
Я просто больше(сложнее) ничего не умею.
И животное позабавило с человеческими губами,не знал куда его всунуть.
Подобранное в сети.Поделиться.А просто так,вообще без ничего,без текста как то не комильфо...
Была когда-то игрушка под ассемблером для энкодера...
По вот такому алгоритму: https://img.radiokot.ru/files/20529/35onhyk9ic.GIF
недавно всплыл к оному интерес... В том числе - как это к Си приспособить покошерстнее...
Добавлено after 9 minutes 48 seconds:
А вот посмотрите,в документе программа для адуринки. Программа для управления
переключением обмоток.Я её не понимаю,где там начало,где конец.
Должен получиться вечный двигатель.Весьма актуально сегодня.
Это описание алгоритма - а с помощью какого компилятора и какой системы команд этот алгоритм будет реализован уже без разницы. Хотя изначально рассматривался компилятор ассемблера (для АВР и ПИКушек).
Естественно при реализации будут вноситься изменения, свойственные соответствующей системе команд, ядру и аппаратным возможностям используемого МК и синтаксису компилятора (в случае с ЯВУ).
Насчет "вечных двигателей"... То пока не актуально.
//крутимся в цикле, пока на выходе приемника 0
while (1)
{
if (PINB& (1<<PB0)) break; //если прочитали 1 — выходим из цикла
}
//окажемся здесь, когда поймаем фронт
_delay_us (SAMPLE_A); //ждем время А
if (! (PINB& (1<<PB0))) return 255; //если в точке А прочитали 0 — значит это не килок, выходим из функции
_delay_us (SAMPLE_B); //ждем время от А до B
if (PINB& (1<<PB0)) bit=0; else bit=1; //если в точке B прочитали 1 — значит приняли бит данных 0, если прочитали 0 — то приняли бит 1.
_delay_us (SAMPLE_С); //ждем время от B до C
if (PINB& (1<<PB0)) return 255; //если в точке C прочитали 1 — значит сигнал не килок, выходим.
//возвращаем как результат принятый бит.
return bit;
}
Build started 9.6.2023 at 18:29:41
avr-gcc.exe -mmcu=atmega16 -Wall -gdwarf-2 -O0 -MD -MP -MT CAME.o -MF dep/CAME.o.d -c ../CAME.c
../CAME.c: In function `keeloq_receive':
../CAME.c:5: error: stray '\209' in program
../CAME.c:15: warning: implicit declaration of function `_delay_us'
../CAME.c:21: error: stray '\209' in program
make: *** [CAME.o] Error 1
Build failed with 2 errors and 1 warnings...
И вообще,что такое stray'\209' ?
В программе и чисел таких не присутствует,209
код ошибки ?
Нету там ничего. Даже по ключевому слову stray (перевод заблудиться,потеряться)ничего.
Такое ощущение,что ищу
p.s. добавьте такой смайлик себе на форум,админы. Дарю бесплатно.
stray = паразитный
т.е строка имеет паразита типа 209. (ошибка 209).
И вообще -то отличия между логическими и бинарными операциями имеются...
Может таки есть смысл оценивать истинность/ложь результата?
т.е не
if (PINB& (1<<PB0)){},
а
if ((PINB& (1<<PB0))){}......