Гость Ivan_V

Таймер для светодиодов на attiny13

12 сообщений в этой теме

Гость Ivan_V   
Гость Ivan_V

Делаю ребенку игрушку и электронную часть не очень тяну.

Помог бы кто схемку с кодом для attiny13 набросать?

Вот задачка:

Нужно по нажатию кнопки включать зеленый светодиод через минуту вместо зеленого начинает мигать красный на 30 сек. Потом все гаснет. Во время свечения диодов нажатие кнопки игнорируется.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
солар    186
/*
 * toy_for_child.cpp
 *
 * Created: 28.12.2018 10:58:30
 * Author : дед Мороз


по нажатию кнопки включать зеленый светодиод
через минуту вместо зеленого начинает мигать красный на 30 сек.
Потом все гаснет. Во время свечения диодов нажатие кнопки игнорируется.

 */ 


#define F_CPU 1200000UL
#include <avr/io.h>
#include <util/delay.h>

unsigned char i;


int main(void)
{
DDRB= 0x18; // РВ0 - вход, РВ3 и РВ4 выходы
PORTB= 0x01; // подтягиваем РВ0 к питанию

while (1) 
{
while(PINB & 0x01); // ждем нажатия на кнопку

PORTB|= 0x10; // зажигаем зеленый
_delay_ms(60000); // ждем минуту

for(i= 0; i< 30; i++)
    {
    PORTB= 0x09; // зажигаем красный и тушим зеленый
    _delay_ms(500); // ждем полсекунды
    PORTB= 0x01; // тушим красный и тушим зеленый
    _delay_ms(500); // ждем полсекунды
    }
}
}

схема.png

 

toy_for_child.hex

Изменено пользователем солар

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Супер просто.

А в схему можно добавить вибромоторчик от телефона чтоб жужал  в переходных режимах?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не подправите мне код для этого дела? А то вот сижу изучаю ночью азы программирования)

Схему можно не перерисовать. Скажите просто какая нога будет управлять моторчиком.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нажал на кнопку "вибра" зажужжала на 1 сек. вкл. зел. диод, после выключения зеленого диода жужит 2 сек. и начинает мигать красный диод, крсный потух опять жужит 1 сек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
солар    186
/*
 * toy_for_child.cpp
 *
 * Created: 28.12.2018 10:58:30
 * Author : дед Мороз


по нажатию кнопки включать зеленый светодиод
через минуту вместо зеленого начинает мигать красный на 30 сек.
Потом все гаснет. Во время свечения диодов нажатие кнопки игнорируется.

Нажал на кнопку "вибра" зажужжала на 1 сек. вкл. зел. диод,
после выключения зеленого диода жужит 2 сек. и начинает мигать красный диод,
крсный потух опять жужит 1 сек.
 */ 


#define F_CPU 1200000UL
#include <avr/io.h>
#include <util/delay.h>

unsigned char i;

void vibrator(unsigned char n)
{
PORTB|= 0x02; // включаем вибратор
do 
{
_delay_ms(1000);
--n;
} while (n);

PORTB&= 0xFD; // выключаем вибратор
}

int main(void)
{
DDRB= 0x1A; // РВ0 - вход, PB1, РВ3 и РВ4 выходы
PORTB= 0x01; // подтягиваем РВ0 к питанию

while (1) 
{
while(PINB & 0x01); // ждем нажатия на кнопку

vibrator(1);

PORTB|= 0x10; // зажигаем зеленый
_delay_ms(60000); // ждем минуту

vibrator(2);

for(i= 0; i< 30; i++)
    {
    PORTB= 0x09; // зажигаем красный и тушим зеленый
    _delay_ms(500); // ждем полсекунды
    PORTB= 0x01; // тушим красный и тушим зеленый
    _delay_ms(500); // ждем полсекунды
    }

vibrator(1);
}
}

 

6 часов назад, tamplier6500 сказал:

какая нога будет управлять моторчиком

PB1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это небольшой косплей на мультик "Бен Тен".

Вторая просто дублирующая чтоб было больше шансов удачно нажать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Планшет prestigio pmp5080b+Модем МТС
      2 000 руб.
      Неудачно перепрошили, нужно перепрошить.
      Модем работает нормально
    • Добрый день, уважаемые форумчане. Возникла у меня небольшая проблема, из за недостатка знаний решить которую самостоятельно не могу. Имеется у меня в автомобиле магнитола (или как это называется, если без кассет) Prology CMD-125, у которой со времени покупки не работает радио. Диск работает, только временами на ходу перескакивает. Отдал "спецу" в ремонт, тот запорол дорожки на микросхеме радиотракта. Я приобрел у китайцев модный сейчас Mp3 модуль и решил вмонтировать в магнитолу вместо радиотракта. Нашел радиовход на тюнере (вывод 16. 17) подключил к модулю, заработало. Но, хочется сделать так, что бы тюнер включался при включении магнитолы в режиме FM, и выключался при включении диска. На тюнере имеется точка 13, на которую при включении подается напряжение, но это напряжение 6,5 вольт. На модуль нужно около 12 вольт. Помогите подключить,сам я не умею. Прилагаю схему магнитолы https://elektrotanya.com/prology_cmd-125.pdf/download.html и схему нужного подключения, которую нужно доработать. Очень прошу помочь, у самого знаний не хватает, боюсь вообще запороть.
    • Фотки  свои я выкладывались + 2SC2921
    • Вот как раз эти двое умерли раньше, чем я начал пить. Не довелось им
    • Согласен, там все есть и корпус типовой.
    • Собрал зарядное, подключил к аккумулятору, дал ток на максимум. Через минуту пробило диод VD3-FR108, заменил на FR208 замерял напряжение на МХ UC3844  получилось 40 вольт, что много если считать что  внутри МХ стоит стабилитрон 34 вольта.   Трансформатор не захотел перематывать, последовательно с диодом поставил резистор 11 ом, получилось на МХ 32 вольта оставил так . Но всё равно греются резистор R18 150k 2 W и диод VD3,  рука не терпит. Насколько можно увеличит резистор R18, что-бы уменьшить нагрев.

       
    • В смысле померять? Даташит