Четверг, 25.04.2024, 07:17 Приветствую Вас Гость

Автозапуск за 1500р. на ЛЮБОЙ сигнализации?! -> at13.ru

Главная | Регистрация | Вход | RSS

Каталог статей


Включение и выключение приборов одной кнопкой.

Ниже представленная схема чем то похожая на эту, отличия в используемых микроконтроллерах и "функционале" если так можно сказать. В этом варианте схемы только кнопка и светодиод, вместо светодиода можно через транзистор подключить релюшку. При нажатии на кнопку светодиод включится, при повторном нажатии - выключится. Если кнопку держать и не отпускать то светодиод будет мигать.

Схема:


 
В архиве лежит проект в Proteus, для тех у кого нет программы ниже представлена анимация работы схемы:


 
Микроконтроллер работает от внутреннего генератора 4 мГц.

Скачать файлы проекта.
 

По просьбе пользователей выкладываю чуть измененный проект с таймером, принцип работы тот же, но добавлена еще одна кнопка, при нажатии которой светодиод тухнет через определенное время (15-20 минут).

Если кому то нужно поменять это время - оставляйте сообщение с просьбой ниже, выложу прошивку под ваши требования в ответ на ваше сообщение, скачать прошивку и проект в Proteus можно ниже.

Скачать второй вариант прошивки (~13кб.)
 

Категория: Разное | Добавил: Адвансед (08.07.2012)
Просмотров: 13142 | Комментарии: 28 | Рейтинг: 4.0/4
Всего комментариев: 281 2 »
28 Mega16  
Добрый день, Artur21! Помоги пожалуйста. Не могу разобраться  как уменьшить в 1 цикл.

26 Mega16  
В чём ошибка ? Помогите!!!!
           $regfile = "ATtiny13.DAT"
$crystal = 9600000
$hwstack = 10
$swstack = 10
$framesize = 20

Config Debounce = 10 'время задержки в мс
Config Pinb.3 = Input 'настройка пина d7 на вход
Config Pinb.4 = Input 'настройка пина d7 на вход
Config Pinb.1 = Output 'настройка пина b1 на выход
Config Pinb.2 = Output 'настройка пина b1 на выход
Set Pinb.3 'включить внутренний подтягивающий резистор
Set Pinb.4 'включить внутренний подтягивающий резистор
Reset Pinb.1 'сбросить порт
Reset Pinb.2 'сбросить порт
Vv Alias Pinb.3 'присваиваем порту имя Vv
Vv_1 Alias Pinb.3 'присваиваем порту имя Vv

1: 'метка

Do 'основной цикл программы

Debounce Vv , 0 , Led_on 'если нажали кнопку, то идти на Led_on
Debounce Vv_1 , 0 , Led_on_2 'если нажали кнопку, то идти на Led_on

Loop 'конец основного цикла
End

Led_on:
Do 'подпрограмма включения
Set Pinb.2
Goto 2
Loop

2: 'ждем второго нажатия
Do
Debounce Vv , 0 , Led_off
Loop

Led_off:
Do 'подпрограмма включения
Reset Pinb.2
Goto 1
Loop

Led_on_2:
Do 'подпрограмма включения
Set Pinb.1
Goto 3
Loop

3: 'ждем второго нажатия
Do
Debounce Vv_1 , 0 , Led_off_2
Loop

Led_off_2:
Do 'подпрограмма включения
Reset Pinb.1
Goto 1
Loop

27 Artur21  
у вас слишком много несвязанных циклов, все это нужно умещать в 1 цикле

24 Mega16  
Здравствуйте! Если нетрудно . Можно выложить код для двух кнопок и двух нагрузок  .Заранее благодарен. smile

25 Artur21  
Просто продублируйте (распишите дополнительные) порты на выход (нагрузку) и вход (кнопку) и все). Можете свой пример здесь выложить, если что подправим

23 вапрв  
Если в схеме №1 вместо светодиода поставить реле- то при удержании кнопки в нажатом положении- реле будет клацать- а подключенная нагрузка включаться-выключаться. Это не есть хорошо!!!. Сделайте схему с мигающим светодиодом на отдельном порту, а имеющийся светодиод пусть либо горит- либо не горит. Вот тогда это можно будет где-то использовать по питанию. Либо просто уберите моргание.

22 Александр  
Боюсь, мне это не поможет

20 Александр  
Что, прошивки не будет?

21 Адвансед6476  
1
пока времени нет, могу скинуть исходник на почту чтобы могли доработать

19 Александр  
Адвансед6476, пожалуйста, поправьте прошивку: кнопка включает нагрузку на 15-20 минут, но этой же кнопкой можно выключить раньше.

18 чемодан  
Александр неа, тоже стали интересна тема включения/выключения усилителя от тактовой кнопки, скачал архив с протеусом, если нажать кнопку которая висит на ноге PB4 загорается светодиод, и пока время не истечет он не потухнет (заколебался ждать пока он потухнет, вышло чето около 20 минут)... и при этом ни повторное нажатие, ни нажатие второй кнопки не выключает светодиод. А при нажатии кнопки которая висит на ноге PB3 - нагрузка включается, при повторном нажатии выключается. Впринципе это то что мне нужно! спасибо автору!

17 Александр  
А еще такой вопрос: если нажать еще раз на ту же кнопку, что запускает таймер, нагрузка отключится?

15 Александр  
Спасибо
Если работает, с меня ссылка на ваш сайт

16 Адвансед6476  
0
в железе не проверял, в симуляторе работает. Если что, быстроту срабатывания можно устанавливать установками фьюзов, код программы могу скинуть на почту

1-10 11-20
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Источники питания и приборы
Охрана и контроль доступа
Измерительные устройства
Часы, таймеры, счетчики
Световые эффекты
Защита и контроль
Для начинающих
Разное
BASCOM AVR
Информация по МК, FAQ
Поиск
Вход на сайт
Наш опрос
Как часто вы посещаете наш сайт?
Всего ответов: 99
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Друзья сайта