Клеммы, реле, разъемы Degson со склада в России

Подбор нужного микроконтроллера (МК)

Страница 1 из 4
Новичок
 
Регистрация: 16.03.2020
Сообщений: 18
Репутация: 10
 
16.03.2020 21:21 #1
Добрый день, форумчане. Такая задача. Хочу создать несколько устройств на светодиодах. Задача каждого в том, чтобы от движения (датчик вибрации, наклона) светодиод начинал моргать, переливаться и т.д. Подпитывается всё от батарейки, конечно же как можно меньших размеров (таблетка).
Собственно я уже реализовал такое пробное устройство на ATtiny13, вибродатчике 18015 и батарейке CR1220. Всё работает, но хотелось бы это дело и удешевить и уменьшить в размерах, если это конечно же возможно. Особо в параметрах МК я не разбираюсь, но могу сказать что мне от неё точно нужно:
1) Маленький размер
2) Как минимум 1 канал ШИМ (а лучше 3, для переливания трёх светодиодов RGB)
3) Память на 1Кб (программу для одного такого устройства приложу ниже, может её можно и сократить, но не факт что такую же, но на три диода получится ужать)
4) Низкое потребление или возможность подключения режимов с низким потреблением.
5) Работа от 3В. (от таблетки)
6) Возможность программирования через Arduino UNO (но другие варианты тоже рассматриваю, просто Arduino уже есть)

Повторюсь пока что нашел и использовал только ATtiny13, который меня вполне устроил, но он достаточно дорогой и в корпусе SOIC его найти достаточно проблематично. К тому же как мне показалось, он слишком хорош для такого проекта. Повторюсь, я чайник, и может есть какие-то более дешевые аналоги.

Очень надеюсь на Вашу помощь. Заранее большое Вам спасибо!
Прикладываю обещанный мною код:
int vib = 4;
int led = 0;
long loopTime = 5000;

void setup() {
pinMode(led, OUTPUT);
pinMode(vib, INPUT);
}
void loop()
{
if (digitalRead(vib)){
unsigned long currentMillis = millis();
while(millis()-currentMillis<=loopTime)
{
for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 0; fadeValue <=255; fadeValue+=5){
analogWrite(led,fadeValue);
delay(2);
}
for(int fadeValue = 255; fadeValue >=0; fadeValue-=5){
analogWrite(led,fadeValue);
delay(2);
}
digitalWrite(led, LOW);
delay(600);
}
}
}
Оценка
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 640
620 131
34 9
 
16.03.2020 21:55 #2
Цитата:
Сообщение от abramonromka
2) Как минимум 1 канал ШИМ (а лучше 3, для переливания трёх светодиодов RGB)
http://ww1.microchip.com/downloads/e.../00001562B.pdf
или нет?
Оценка
Новичок
 
Регистрация: 16.03.2020
Сообщений: 18
Репутация: 10
 
17.03.2020 13:09 #3
Цитата:
Сообщение от DmitriyVDN
Простите за тупость, но это принцип реализации RGB из одного канала ШИМ? Что-то я не особо доехал)
Оценка
Гуру
 
Регистрация: 28.06.2012
Сообщений: 4,859
Репутация: 1167
1,313 117
483 1
 
17.03.2020 13:27 #4
Да, но ведь там на рисунке - три канала ! Т.е., для одного RGB - светодиода нужны три PWM - выхода. Но PWM (ШИМ) при желании несложно реализовать чисто программно, например, через прерывание от таймера ...
Оценка
Новичок
 
Регистрация: 16.03.2020
Сообщений: 18
Репутация: 10
 
17.03.2020 15:28 #5
Цитата:
Сообщение от kovigor
Да, но ведь там на рисунке - три канала ! Т.е., для одного RGB - светодиода нужны три PWM - выхода. Но PWM (ШИМ) при желании несложно реализовать чисто программно, например, через прерывание от таймера ...
Хм, верное замечание, не думал об этом, спасибо за наводку.
Но вопрос про подбор МК остаётся открытым. Или 13 тинька лучшая в этом плане?
Оценка
Гуру
 
Регистрация: 28.06.2012
Сообщений: 4,859
Репутация: 1167
1,313 117
483 1
 
17.03.2020 15:44 #6
"Кому нравится шампанское, кому - офицеры", как говорила одна моя знакомая ...

У меня любимый МК - ATMEGA8, я на нем по умолчанию все делаю, если нет спец. требований.

И вообще, вы для разработки можете взять любой удобный для вас МК, а потом готовый проект перенести на тот, который планировали пустить в серию (если у вас серия). Просто потому, что дешевые МК с малым кол-вом ножек часто неудобны в разработке и прошивке (приходится искать всякий спец. инструментарий) ...
Оценка
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 640
620 131
34 9
 
17.03.2020 19:39 #7
Цитата:
Сообщение от abramonromka
Простите за тупость, но это принцип реализации RGB из одного канала ШИМ? Что-то я не особо доехал)
в этом МК три отдельных 16бит ШИМ
Оценка
Эксперт
 
Аватар для DmitriyVDN
 
Регистрация: 08.11.2009
Сообщений: 2,310
Репутация: 640
620 131
34 9
 
17.03.2020 19:42 #8
Цитата:
Сообщение от abramonromka
Или 13 тинька лучшая в этом плане?
чем? из ваших шести хочу 1571 не удовлетворяет только последнему пункту
Оценка
Новичок
 
Регистрация: 16.03.2020
Сообщений: 18
Репутация: 10
 
17.03.2020 21:20 #9
Цитата:
Сообщение от DmitriyVDN
чем? из ваших шести хочу 1571 не удовлетворяет только последнему пункту
Я правильно понимаю, речь о PIC12F1571?
Оценка
Новичок
 
Регистрация: 16.03.2020
Сообщений: 18
Репутация: 10
 
17.03.2020 21:22 #10
Цитата:
Сообщение от kovigor
"Кому нравится шампанское, кому - офицеры", как говорила одна моя знакомая ...

У меня любимый МК - ATMEGA8, я на нем по умолчанию все делаю, если нет спец. требований.

И вообще, вы для разработки можете взять любой удобный для вас МК, а потом готовый проект перенести на тот, который планировали пустить в серию (если у вас серия). Просто потому, что дешевые МК с малым кол-вом ножек часто неудобны в разработке и прошивке (приходится искать всякий спец. инструментарий) ...
Ну я вот и ищу тот МК который нужно пустить "в серию", так сказать. Пробное устройство я уже собрал.
Оценка
Ответ
Страница 1 из 4
Метки
attiny, avr, микроконтроллер, устройство, шим
Похожие темы
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход
Электронные компоненты. Скидки 15%, кэшбэк 15% и бесплатная доставка от ТМ Электроникс
Часовой пояс GMT +3, время: 02:34.
Обратная связь РадиоЛоцман Вверх