-
Постов
25 -
Зарегистрирован
-
Посещение
Электроника
-
Стаж в электронике
Не связан с электроникой
Посетители профиля
Блок последних пользователей отключён и не показывается другим пользователям.
Достижения Дмитрий -
-
Дмитрий - изменил фотографию своего профиля
-
Программа для говорящей 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
-
- GSM
- BASCOM-AVR
-
(и ещё 1 )
C тегом:
-
На примере GSM/GPRS Goouuu Tech IOT-GA6-B и ATtiny85. Программа «Звонилка». Программа на BASCOM-AVR. Источник https://178654.blogspot.com/p/uart.html
- 1 ответ
-
- Uart
- BASCOM-AVR
-
(и ещё 2 )
C тегом:
-
Схема детектора газа с использованием LM3914N1, HY-B10ZSGY, NE555P В ней NE555P управляет зуммером. https://178654.blogspot.com/p/lm3914n1hy-b10zsgy.html
- 2 470 ответов
-
Я для себя вот такой детектор газа сделал https://178654.blogspot.com/p/lm3914n1hy-b10zsgy.html
-
Схема детектора газа с использованием LM3914N1, HY-B10ZSGY, NE555P и датчика MQ-4 Источник https://178654.blogspot.com/p/lm3914n1hy-b10zsgy.html
-
- LM3914N1
- HY-B10ZSGY
- (и ещё 4 )
-
для вычисления параллельного и последовательного соединения индуктивности и резистора http://178654.blogspot.ru/p/blog-page_7.html конвертер производных единиц http://178654.blogspot.ru/p/blog-page_51.html
-
для вычисления параллельного и последовательного соединения индуктивности и резистора http://178654.blogspot.ru/p/blog-page_7.html конвертер производных единиц http://178654.blogspot.ru/p/blog-page_51.html
- 1 ответ
-
- резистор
- конденсатор
-
(и ещё 3 )
C тегом:
-
для вычисления параллельного и последовательного соединения индуктивности и резистора http://178654.blogspot.ru/p/blog-page_7.html конвертер производных единиц http://178654.blogspot.ru/p/blog-page_51.html
- 630 ответов
-
- Калькулятор
- Калькулятор Радиолюбителя
- (и ещё 2 )
-
Минипрограмма для вычисления параллельного и последовательного соединения конденсатора и резистора. http://178654.blogspot.com/p/blog-page_21.html Блог http://178654.blogspot.com
-
Минипрограмма для вычисления параллельного и последовательного соединения конденсатора и резистора. http://178654.blogspot.com/p/blog-page_21.html Блог http://178654.blogspot.com
- 630 ответов
-
- Калькулятор
- Калькулятор Радиолюбителя
- (и ещё 2 )
-
Минипрограмма для вычисления параллельного и последовательного соединения конденсатора и резистора. http://178654.blogspot.com/p/blog-page_21.html
- 1 ответ
-
- резистор
- конденсатор
-
(и ещё 3 )
C тегом:
-
Эта версия ВЧ - модуля приёмника лучше, но и финальная. Нет смысла по каждому улучшению публиковать. В целом схема не привередливая – легко устанавливается ВЧ генерация, НЧ пилообразная частота, а улучшать её может каждый на своё усмотрение. На холоде не работает, вероятно, из особенности какого-то компонента в НЧ модуле. Так, что реальную дальность определить не удалось.
- 27 ответов
-
- радиоуправление
- приёмник
-
(и ещё 2 )
C тегом:
-
Хорошая идея и всё переделывать не нужно. Попробую TL431A подойдёт? А также есть 2N6027 Думаю, можно ещё проще сделать до УНЧ использовать предусилитель на транзисторе инвертируемый.
- 27 ответов
-
- радиоуправление
- приёмник
-
(и ещё 2 )
C тегом:
-
Вот эту схему использовал для всего остального. Плохо, что не знал раньше. Теперь придётся УНЧ переделывать на инвертируемый. Ну хоть теперь знаю.
- 27 ответов
-
- радиоуправление
- приёмник
-
(и ещё 2 )
C тегом: