Jump to content

Recommended Posts

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

Хочу собрать простую сигнализацию,которая будет  охранять входную дверь квартиры.

Должна работать по следующему принципу:

Собираюсь на работу,обулся,оделся -перед тем как открыть дверь нажал на потайную кнопку- вышел, закрыл (в углу снаружи  на двери светодиод: пока сигналка ослепла от нажатия кнопки-он просто моргает зеленым. Когда сигналка в боевом режиме-led моргает красным.) Вернулся с работы-открыл дверь (led что в углу загорелся красным постоянно или перешел на более частые вспышки) , сигнализация с момента разрыва геркона начала отчет до включения сирены. И тут нажимаешь ту же потайную кнопку либо тумблер отключения сигнализации полностью. А если ворвется посторонний и не отключит сигнализацию она по истечении времени отчета включит сирену, которая будет орать 2-3 минуты, а после перейдет снова с боевой режим ( и светодиод уже будет моргать красным и зеленым-говоря хозяину ,что во время охраны было проникновение в квартиру). Мозгом сигнализации будет attiny13.

В интернете нашел подходящую статью ,но вот  исходников к прошивке нет, а с автором я не могу связаться.

Прошу помощи в разработке кода, вот статья http://cxem.net/guard/3-61.php

Share this post


Link to post
Share on other sites

Или в раздел работа, или в личку. Сделаем как надо.


Так ку или не ку ?!

Share this post


Link to post
Share on other sites

Изготовление 2-х слойных плат от 2$, а 4-х слойных от 5$!

Быстрое изготовление прототипа платы всего за 24 часа! Прямая доставка с нашей фабрики!

Смотрите видео о фабрике JLCPCB: https://youtu.be/_XCznQFV-Mw

Посетите первую электронную выставку JLCPCB https://jlcpcb.com/E-exhibition чтобы получить купоны и выиграть iPhone 12, 3D-принтер и так далее...

ЕDгений, attiny13 - это принципиально?

Ты описываешь банальный алгоритм и таких вариантов сигналок очень много. Нужно только хорошо поискать.

Share this post


Link to post
Share on other sites

В поисках идеального силового ключа

Выбор полупроводникового силового ключа зависит от его свойств, стоимости жизненного цикла преобразователя, а также цели его разработки и требований к производительности. Infineon предлагает целую линейку MOSFET и IGBT с широкой запрещенной зоной (SiC и GaN), продолжая при этом работать над их усовершенствованием.

Подробнее

Я в своё время сделал на пике GSM-уведомитель (нашёл в нете). юзаю несколько лет. несколько штук. нужно прошить пик. спаять несложную схемку, подобрать подходящий мобильник (когда придёт китайский GSM-модем, попробую его) http://ahova-signalka.vitrina.by/p_3.htm Там 4 шлейфа. мона делать задержки, есть логические ключи для сирены, прога для задания конфигурации, но эта прога кажись тока под ХР. Более молодые могут не поддержать. 
 

Но если есть возможность купить на Барахолке Б\у прибор и датчики извещатели за недорого, то я бы пошёл по этому пути. Там же будет и корпус, блок питания, АКБ.
 

Share this post


Link to post
Share on other sites

Запускаем новый BLE 5.2-чип BlueNRG-LP от STMicroelectronics

Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.

Подробнее

делал такое , правда на пике.  Задержка на выход вроде 20сек, на вход 5. постановка /снятие - замыкание-размыкание.  Сирена вроде 30 сек..(давно было, непомню)

secur 1Z.rar

Share this post


Link to post
Share on other sites

Материалы вебинара Практическое использование TrustZone в STM32L5

Материалы вебинара, посвященного экосистеме безопасности и возможностях, которые дает новая технология TrustZone в МК STM32L5, содержат две подробные практические работы: создание простого приложения с изоляцией в TrustZone, и пример отладки и тестирования TFM-SBSFU. Программа рассчитана на технических специалистов и тех, кто уже знаком с основами защиты ПО в STM32.

Подробнее

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Вы слушали ? Нет вероятно. А я слушал. Товарищ с ОАЭ привозил целую стойку LUXMAN.  Вот как хорошо расхвалили . А теперь пред собрались выбрасывать ))) Это как понимать ?  Или все внимание уделено только оконечным ? Интересно ваше мнение по поводу DENON  POA -8000. Только естественно в общем плане .
    • Костя, ну за то время, что ты набиваешь руки об усилки, можно было бы уже и асом стать. ...ленисся однако. 
    • Приехал приз за статью https://cxem.net/sound/amps/amp247.php Очень полезное и компактное пополнение для домашнего рабочего места, лабораторный блок питания nps 1601. Большое спасибо сайту паяльник!:)
    • Ну 19 кг - это столу ещё терпимо. У меня стол ножки сложил, когда я однажды на него водрузил ламповый "хэндмэйд" кг в 50 весом, и начал его по столу двигать. С тех пор на стоянке возле дома лежат 4 деревянных бруска размером с кирпич - подкладываю под стол, когда такой "винтаж" попадает в ремонт, или на профилактику.
    • и по напряжению все норм ? А в линейном ли они режиме, мало ли... Может недоговариваете, и там некий импульсный стабилизатор по технологии Древних)
    • Если и злоупотреблять "изобретением Менделеева", то вот такой продукт зашёл)
    • !!! модераторы !!! не могу привести топик к нормальному виду, у меня тут по нескольку штук "лишних" картинок повылазило со всех сторон, возможно старый бразер виноват (все необходимые картинки я спрятал под спойлер)
  • Similar Content

    • By Boris_Boroda
      Всем привет. Гугл не помог, как и другие поисковики, а так же поиск по разным форумам. Если у кого-то есть схема на данную сигнализацию, буду очень признателен.
    • By Дмитрий -
      Программа для говорящей GSM-сигнализации на языке BASCOM-AVR 
      ' Авторская работа. Автор:  Дмитрий Абловацкий.
      'Программа для говорящей GSM сигнализации на модуле SIM800L.
      'SIM800L Revision:1418B04SIM800L24.
      'Настройка микроконтроллера Attiny85: фюзы, изменение только LOW на $E2
      $regfile = "attiny85.dat"
      $crystal = 8000000
      $hwstack = 40
      $swstack = 16
      $framesize = 32
      Config Portb.0 = Input
      Config Portb.1 = Output
      Config Portb.2 = Input
      Open "comb.3:9600,8,n,1" For Input As #2       'RXD - вход
      Open "comb.4:9600,8,n,1" For Output As #1       'TXD - выход
      Dim Buffered As String * 300
      Dim On_off As Bit
      Dim In_str As Byte
      Dim I As Byte
      Dim I1 As Long
      Dim Telephone As String * 12
      Config Debounce = 100
      Telephone = "registered"
      ' - - - - - - - - - - -Подготовка модуля - - - - - - - - - -
      Reset Portb.1       'выход модуля из спящего режима
      Wait 12   ' время для самоподготовки модуля
      Print #1 , "AT"       ' Проверка на готовность модуля к работе
      Input #2 , Buffered       ' Ответ
      In_str = Instr(buffered , "0")
      If In_str = 0 Then
      Waitms 250
      Print #1 , "ATE0V0+CMEE=0;+CLIP=0"       'Выкл эха, только код ошибки, выключить АОН
      Input #2 , Buffered       ' Ответ
      'Waitms 250
      'Print #1 , "AT+CNMI=1,2,0,0,0"       ' СМС не сохранять, направлять в микроконтроллер
      'Input #2 , Buffered       ' Ответ
      Waitms 250
      Print #1 , "ATS0=0"       ' автоответ ручной
      Input #2 , Buffered       ' Ответ
      Waitms 250
      Print #1 , "AT+CSCLK=1"       ' спящий режим
      Input #2 , Buffered       ' Ответ
      Waitms 250
      Print #1 , "AT+CLCC=1"       ' установить автоматическое отображение статуса
      Input #2 , Buffered       ' Ответ
      Waitms 250
      Print #1 , "AT&W"       ' сохранить
      Input #2 , Buffered       ' Ответ
      End If
      Print #1 , "AT+CPIN?"       ' Готовность модуля к работе с картой
      Input #2 , Buffered       ' Ответ  +CPIN READY  или 4- нет карты
      In_str = Instr(buffered , "SIM PIN")
      Input #2 , Buffered       ' Ответ 0 - OK  или нет ответа
      If In_str <> 0 Then       'если карта есть, но нужен PIN - код
      Print #1 , "AT+CPIN=0000"       'PIN - код   !Возможно Сим-карта заблокируется  после 3 неправильных
      Input #2 , Buffered       ' Ответ  0 - OK или 4- неправильный PIN - код
      Input #2 , Buffered       ' Ответ +CPIN READY  или  нет ответа
      Input #2 , Buffered       ' Ответ Call Ready   или  нет ответа
      Input #2 , Buffered       ' Ответ SMS Ready  или  нет ответа
      End If
      Wait 2
      For I = 1 To 3
      Print #1 , "AT+CPAS"       'Готовность к выполнению команд
      Input #2 , Buffered       ' Ответ
      In_str = Instr(buffered , "0")
      If In_str <> 0 Then       'Если модуль готов к работе
      Wait 1
      Print #1 , "AT+CREG?"       ' проверка на регистрацию в сети
      Input #2 , Buffered       ' Ответ
      In_str = Instr(buffered , ",1")
      If In_str <> 0 Then       ' если зарегистрирован
      Goto M1   ' выход , иначе ещё попытки
      End If
      End If
      If I = 2 Then
      Wait 1
      Print #1 , "AT+CFUN=1,1"       'перезагрузка модуля
      Input #2 , Buffered       ' Ответ
      Wait 5
      End If
      Wait 5
      Next
      M1:
      Do
      ' - - - - - - - - - - - PIR датчик  - - - - - - - - - -
       If Pinb.2 = 1 And On_off = 1 And Pinb.0 = 1 Then       ' если 1
      Wait 3  ' время для пробуждения  SIM800L
      For I = 1 To 3       ' три попытки дозвониться
      Print #1 , "AT+CCALR?"       ' идентификатор готовности совершить звонок
      Input #2 , Buffered       ' Ответ
      Input #2 , Buffered       ' Ответ
      In_str = Instr(buffered , " 1")
      If In_str <> 0 Then       ' если готов совершить звонок       ' если 2
      Wait 1
      Print #1 , "ATD" ; Telephone ; ";"       '  набор номера
      Input #2 , Buffered       'ответ
      Input #2 , Buffered       'ответ
      Input #2 , Buffered       'ответ    ' голосовое соединение
      In_str = Instr(buffered , "3,0,0")       '
      If In_str <> 0 Then       ' если голосовое соединение  ' если 3
      For I1 = 1 To 4000000       ' примерно 40 сек ожидание, если соединение и бездействие до сброса
      If Pinb.3 = 0 Then       ' если  абонент возьмёт трубку или  сбросит соединение
      Input #2 , Buffered       'ответ
      Wait 1
      For I1 = 1 To 500000       ' примерно 5 сек ожидание сброса
      If Pinb.3 = 0 Then       ' если сброс соединения
      Input #2 , Buffered       'ответ
      Goto M2
      End If
      Next
      In_str = Instr(buffered , "0,0,0")
      If In_str <> 0 Then       ' если голосовое соединение
      Print #1 , "AT+CREC=4,C:\User\3__.amr,1,100"       ' передача речевого сообщения
      Input #2 , Buffered       ' Ответ
      Wait 8    'Время речевого сообщения + добавленное
      M2:
      Waitms 250
      Print #1 , "ATH0"
      Input #2 , Buffered
      Bitwait Pinb.2 , Reset
      Goto M1
      End If
      End If
      Next
      End If    ' 3-End If
      End If    ' 2-End If
      Wait 1
      Print #1 , "ATH0"
      Input #2 , Buffered
      Wait 10
      Next
      End If    ' 1-End If
      ' - - - - - - - - - - -Проверка на входящий звонок по  RING - - - - - - - - - -
      If Pinb.0 = 0 Then       ' если поступил звонок
       ' - - - - - - - - - - - включение и выключение сигнализации  - - - - - - - - - -
      Input #2 , Buffered       ' Ответ   +CLCC: 1,1,4,0,0,"+7**********",145,""
      In_str = Instr(buffered , "+7" )
      If Telephone = "registered" Then
      Telephone = Mid(buffered , In_str , 12 )
      Else
      In_str = Instr(buffered , Telephone )
      End If
      Input #2 , Buffered       ' Ответ 2 - первый звонок
      Input #2 , Buffered       ' Ответ 2 - второй звонок
      If In_str <> 0 Then       ' если зарегистрированный номер телефона
      In_str = Instr(buffered , "1,6,0,0,")       '  если сброс
      If In_str = 0 Then       '  если входящий звонок продолжается
      Waitms 250
      Print #1 , "ATA"
      Input #2 , Buffered       ' Ответ
      Input #2 , Buffered       ' Ответ  +CLCC: 1,1,0,0,0,"+7**********",145,""
      If On_off = 0 Then
      On_off = 1
      Wait 1
      Print #1 , "AT+CREC=4,C:\User\1__.amr,1,100"       ' передача речевого сообщения
      Input #2 , Buffered       ' Ответ
      Wait 8    'Время речевого сообщения + добавленное
      Print #1 , "ATH0"
      Input #2 , Buffered       ' Ответ
      Else
      On_off = 0
      Wait 1
      Print #1 , "AT+CREC=4,C:\User\2__.amr,1,100"       '  передача речевого сообщения
      Input #2 , Buffered       ' Ответ
      Wait 8    'Время речевого сообщения + добавленное
      Print #1 , "ATH0"
      Input #2 , Buffered       ' Ответ
      End If
      End If
      Else      ' если незарегистрированный номер телефона
      Wait 1
      Print #1 , "ATH0"
      Input #2 , Buffered       ' Ответ
      Bitwait Pinb.0 , Set
      End If
      End If
      Set Portb.1       ' в спящий режим SIM800L
      Enable Interrupts
      Enable Int0
      Enable Pcint0
      Idle      ' в спящий режим микроконтроллер
      Reset Portb.1       ' выход модуля из спящего режима
      Disable Interrupts
      Disable Int0
      Disable Pcint0
      Loop
      End
      Источник https://178654.blogspot.com/p/gsm.html
       
       
    • Guest Артем
      By Guest Артем
      Здравствуйте, помогите решить задачу.
      В общем, есть большой объект, на объекте 8 выходов, которые изнутри можно открыть, так вот нужна простейшая сигнализация чтоб при открывании одной из дверей на проходной загорался светодиодик (хочу рассовать диодики на плане эвакуации, чтоб при открытии дверей охранник видел какая именно дверь открылась).
      вопрос собственно в том какое оборудование мне надо (какой блок управления или что там еще) кроме самих диодов и датчиков открытия дверей.
      GSM не нужен, аккумулятор тоже. Просто нужна вот такая вот примитивная сигнализация.
      Заранее спасибо за помощь
    • By Prozac
      Здравствуйте, уважаемые форумчане! Вообще говоря, не имею такой привычки - донимать людей вопросами, и до всего стараюсь доходить самостоятельно. Но в данном случае без "помощи зала" совсем никак: перепробовал уже все, что только смог придумать - а "воз и ныне там! Поэтому и обращаюсь сюда - возможно, кто-то уже сталкивался с чем-то подобным, и сумел найти решение...
      Суть проблемы в следующем: решил построить ШИМ-контроллер для автомобильного вентилятора охлаждения ("карлсона"), но никак не могу заставить его работать - как только открываются VT2 и VT3, подключая нагрузку, МК уходит в резет или виснет (чаше - первое)!.. Сбросившись, опять пытается подключить нагрузку, и опять резетится, и так - без конца! Причем, изначально решил испытать схему не на индуктивной нагрузке (электромоторе), а на вполне себе пассивной 60Вт (около 3A по току) лампочке из фары - и та же фигня: МК пытается запуститься, сбрасывается, лампа моргает, дергается... Даже не ШИМ, а обычное мигание лампой с частотой 1Гц через несколько вспышек или вешает МК, или резетит его (что видно по сбою ритма моргания). При этом без нагрузки - по осциллографу, подключенному к ноге 5 МК или к нижнему (по схеме) выводу R7 - все отлично: наблюдается ровный и чистенький ШИМ-сигнал, изменяющийся согласно тестовой программе! Однако, стоит подать нагрузку, как осциллограмма начинает прыгать: появляются ШИМ-импульсы, затем ровная линия, затем снова импульсы с тем заполнением, которое должно быть в самом начале программы... Собственно, это наблюдение и позволило сделать вывод о том, что МК перезагружается.
      Естественно, первая мысль - слабый лабораторник (он у меня импульсный, самодельный, где-то на 3А - действительно слабый; но та же петрушка наблюдалась и при попытках питать устройство от трансформаторного ЗУ на 10А). Ну, пригнал машину, снял с нее аккум (100% свежий и не дающий просадок!), запитал от него - однако проблема повторилась... Значит, дело не в питании!.. Пробовал много различных танцев с бубном: отключал внешнюю цепочку сброса R2-C2 (результат - ноль), включал BOD микроконтроллера (стало еще хуже), подвешивал вместо C4 и C6 электролиты большей емкости (не помогло)... Думал, что, возможно, кондеи C4 и C6 разряжаются через R7 - экспериментировал с его сопротивлением (от 100 до 960 Ом), перекидывал его верхний вывод на анод VD1 (чтобы отсечь резистор от фильтрующих C4 и C6) - тщетно... Грешил даже на то, что какие-то проблемы вносит емкость затворов VT2 и VT3 - уменьшал сопротивление R10 и R12, дабы затвор быстрее "разряжался" - безрезультатно...
      Игрался с частотой МК и ШИМ - перебрал частоты ШИМ от 18 до 4687 Гц; пытался запускать нагрузку с разным заполнением ШИМ, от 10 до 40% - как глючило, так и глючит... Т.е., перелопатил, практически, всю схему!
      Удалось заставить устройство нормально работать на лампу, и даже на пару спаралеленных электродвигателей МЭ218 (от "печки") следующим образом: R8 был исключен (вместо него - перемычка), а C7 (изначально - К73-17В всего на 0,47мкФ) был заменен на пару электролитов по 1500мкФ, включенных плюс к плюсу последовательно (для устранения полярности кондеев). Нагрузка стала нормально подключаться, отрабатывать как на повышение, так и на убывание заполнения ШИМ. Двигатели отлично работали как при ступенчатом изменении ШИМ-заполнения, так и при плавном. Единственное, что при попытке подать на двигатели ШИМ с заполнением менее 20%, МК опять начинал дергаться и резетить, а так же резетил при резком отключении движков: если раскрутить их до 100%, а потом снять сигнал, то МК перезагружался; однако, если после 100% плавно понижать обороты где-то до 40%, и лишь потом снимать сигнал, то схема работала нормально. Плюс, очень сильно нагревались электролиты C7...
      Однако, когда принес схему в машину - для отладки непосредственно в "боевых условиях", и подключил мощный двигатель вентилятора, началась старая песня с резетами...
      Сейчас, вроде бы, "осенило" - поменял VD2 на Шоттки 1N5822 - лампочка запустилась на "ура" даже без С7; так же отлично и мягко стартовала спарка из МЭ218 - радостный побежал к машине... Но с "карлсоном" - опять мимо: МК вновь ушел в перезагрузку... Все: я не знаю, что тут делать - каждую деталь уже перелопатил, и кучу вариантов испробовал!!! Но ничего не понятно(( Вот и прошу помочь: может быть, кто-то уже был в такой ситуации, и как-то решил подобную проблему?
      VT2 и VT3 стоят "фирменные", IR-овские (не Китай) - из "Чип и Дипа". ATtiny13 - с Алиэкспресс; чтобы исключить возможность брака конкретной микросхемы, пробовал ставить в схему несколько разных экземпляров МК (из одной посылки). DS18B20 пока еще не подключал (нужно разобраться с ШИМ!). IRF3205 каскадированны для уменьшения нагрева (хотя его и так практически нет), и для дополнительной надежности (чтобы в случае выхода из строя одного транзистора не перегреть машину). Тестовую программу специально написал "китайским стилем", без циклов и т.п. - чтобы она была максимально простой, наглядной и линейной - для уверенности, что не в ней дело.
      Подскажите пожалуйста - откуда эти резеты, и как с ними бороться? Как заставить схему отрабатывать на мощную нагрузку? Заранее благодарю!!!
       
       
      ;*************ТЕСТОВАЯ ПРОГРАММА************* ;============ДИРЕКТИВЫ ТРАНСЛЯТОРУ=========== .device ATtiny13 .include "tn13def.inc" .list ;Обзывательство регистров .def Temp = R16 .cseg .org 0x00 ;=========ТАБЛИЦА ВЕКТОРОВ ПРЕРЫВАНИЙ======== rjmp Begin //Начальный сброс reti //Внешнее прерывание INT0 reti //Изменение состояния любой линии reti //Переполнение T0 reti //Готовность EEPROM reti //Срабатывание компаратора reti //Совпадение в канале A таймера T0 reti //Совпадение в канале B таймера T0 reti //Переполнение сторожевого таймера reti //Завершение преобразования в АЦП ;============МОДУЛЬ ИНИЦИАЛИЗАЦИИ============ Begin: ;-----Инициализация стека ldi Temp, RAMEND out SPL, Temp ;-----Отключение компаратора ldi Temp, 0x80 out ACSR, Temp ;-----Настройка портов ldi Temp, 0b00000111 out DDRB, Temp //PB0 - на вывод ;-----Настройка ШИМ ldi Temp, 0b11000001 out TCCR0A, Temp //Режим - быстрый ШИМ с инверсией ldi Temp, 0b00000010 out TCCR0B, Temp //Делим тактирование таймера на 8 rjmp Start //При старте пропускаем 5-секундную задержку ;===============ТЕСТОВЫЙ ЦИКЛ================ PWM: ldi Temp, 0b00000000 out OCR0A, Temp //ШИМ=0% rcall Delay5sec //Ждем 5 сек ;-----Повышаем скорость Start: ldi Temp, 77 out OCR0A, Temp //ШИМ=30% rcall Delay2sec ldi Temp, 102 out OCR0A, Temp //ШИМ=40% rcall Delay2sec ldi Temp, 128 out OCR0A, Temp //ШИМ=50% rcall Delay2sec ldi Temp, 154 out OCR0A, Temp //ШИМ=60% rcall Delay2sec ldi Temp, 179 out OCR0A, Temp //ШИМ=70% rcall Delay2sec ldi Temp, 205 out OCR0A, Temp //ШИМ=80% rcall Delay2sec ldi Temp, 230 out OCR0A, Temp //ШИМ=90% rcall Delay2sec ldi Temp, 255 out OCR0A, Temp //ШИМ=100% rcall Delay2sec ;-----Понижаем скорость ldi Temp, 230 out OCR0A, Temp //ШИМ=90% rcall Delay2sec ldi Temp, 205 out OCR0A, Temp //ШИМ=80% rcall Delay2sec ldi Temp, 179 out OCR0A, Temp //ШИМ=70% rcall Delay2sec ldi Temp, 154 out OCR0A, Temp //ШИМ=60% rcall Delay2sec ldi Temp, 128 out OCR0A, Temp //ШИМ=50% rcall Delay2sec ldi Temp, 102 out OCR0A, Temp //ШИМ=40% rcall Delay2sec ldi Temp, 77 out OCR0A, Temp //ШИМ=30% rcall Delay2sec rjmp PWM //Возвращаемся, и начинаем с 5 сек "молчания" ;===========ПОДПРОГРАММЫ ЗАДЕРЖКИ============ ;-----Задержка в 2 секунды Delay2sec: ldi R17, 253 ldi R18, 75 ldi R19, 29 L1: subi R17, 1 sbci R18, 0 sbci R19, 0 brcc L1 nop ret ;-----Задержка в 5 секунд Delay5sec: ldi R17, 253 ldi R18, 61 ldi R19, 73 L2: subi R17, 1 sbci R18, 0 sbci R19, 0 brcc L2 nop ret  

    • Guest vit2700
      By Guest vit2700
      Доброго дня всем гуру  программирования в BASCOM AVR !  В программировании я также как и в космической отрасли ... Увлекаюсь рыбалкой, использую электронные сигнализаторы поклевки (китайские). У меня их с приказавшим долго жить микроконтроллером уже больше десятка. Появилась идея , в корпуса изготовить свою плату на МК attiny13, соответственно без полного набора функций как у оригинала. Здесь на сайте нашел  статью "Музыкальный звонок на МК Attiny13". В готовую схему в колхозил светодиод. По факту кнопку планирую заменить на геркон. 
       Не могу разобраться как сделать чтоб при нажатии  кнопки, контролер выполнил программу один раз и остановил цикл даже с нажатой кнопкой(это тот случай когда магнит на ролике остановился возле геркон и замкнул контакт ) ? Отпустил,нажал еще раз  все повторилось.
      Есть вторая проблема, во время цикла контролер  не реагирует на кнопку .Как сделать чтоб при повторном нажатии происходил сброс программы (уже действующего цикла) и запускалась новая программа (цикл)? 
      $regfile = "attiny13.dat"
      $crystal = 1200000
      $hwstack = 16
      $swstack = 16
      $framesize = 16
      $noramclear
      Config PINB.1 = Input
      Config PORTB.2 = Output
      Toch Alias PINB.1
      Led Alias PORTB.2
      Config INT0 = Low Level
      On INT0 Button:
      Enable Interrupts
      Enable INT0
      Declare Sub Melodi1()
      Dim Melcount As Byte
      Do
      Powerdown
      Loop
      End
      Sub Melodi1()
      Do
      Sound , PORTB.0 , 30 , 100
      Waitms 10
      Sound , PORTB.0 , 30 , 150
      Waitms 10
      Melcount = Melcount + 1
      Loop Until Melcount = 5
      Melcount = 0
      if Toch = 1 Then Led = 0
      if Toch = 0 Then Led = 1
      Led = 1
      Waitms 200
      Led = 0
      Waitms 200
      Led = 1
      Waitms 200
      Led = 0
      Waitms 200
      Led = 1
      Waitms 200
      Led = 0
      Waitms 200
      Led = 1
      Waitms 200
      Led = 0
      Waitms 200
      Led = 1
      Waitms 200
      Led = 0
      Waitms 200
      End Sub
      Button:
      Call Melodi1()
      GIFR = 64
      Return
      Спасибо всем кто откликнется! Буду рад любой помощи.
       

      ver 1.1.0.bas
×
×
  • Create New...