Перейти к содержимому

Простой автоматический выключатель света на ультразвуковом датчике


Сообщений в теме: 25

#1
va11

    Новичок

  • Проверенные
  • 9 сообщений
Пост поддержки статьи https://bezkz.su/publ…m-datchike.html

Изображение

Исходный текст, написанный в среде Bascom:

$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 0                                                ' default use 32 for the hardware stack
$swstack = 0                                                ' default use 10 for the SW stack
$framesize = 0

Config Portb.3 = Output                                     'выход для подключения ноги Trigger
Trigger Alias Portb.3
Trigger = 0

Config Portb.4 = Input                                      'вход для импульса Echo

Config Portb.0 = Output                                     'конфигурация для подключения светодиода
Led Alias Portb.0
Led = 0

Config Portb.1 = Output                                     'output control pin
Control Alias Portb.1
Control = 0

Config Portb.2 = Input                                      'вход для button

Dim A As Word , A2 As Word                                  'сюда копируется значение длины сигнала
Dim M As Word , Em As Eram Word
Dim I As Byte , T As Word , Tled As Byte
Const Toff = 750                                            '250=1min                                            '500 'TIME to OFF
Const Tmax = 50000

Enable Interrupts                                           'enable global ints
Enable Pcint0                                               'we enable pcint0 as this has pcint0-pcint7
On Pcint0 Btn                                               'we jump to this label when one of the pins is changed
Pcmsk = &B00000100                                          'enable pcint2  (portb.2)

Config Watchdog = 1024                                      '8192                                      '2048
M = Em : T = Tmax : Tled = 0 : Control = 0 : Led = 0
Start Watchdog

 Do
Reset Watchdog
Gosub Test
A2 = A
Waitms 100
Reset Watchdog
Gosub Test
Waitms 100

If A < M And A2 < M And A > 0 And A2 > 0 Then
   T = 0                                                    ': Led = 1
  Else
   Incr T                                                   ' : Led = 0
   If T > Tmax Then T = Tmax
End If

If T < Toff Then
   Control = 1
  Else
   Control = 0
End If

If T = 0 Then
   If Tled < 9 Then : Led = 1 : Else : Led = 0 : End If     ' on
  Else
   If T < Toff Then
      If Tled < 5 Then : Led = 1 : Else : Led = 0 : End If  ' last minute
     Else
      If Tled < 1 Then : Led = 1 : Else : Led = 0 : End If  ' off
   End If
End If

Incr Tled : If Tled > 10 Then Tled = 0


 Loop
End

'------------------------------------------------------------------------------------
 Btn:
 For I = 1 To 50
   Toggle Led : Waitms 200 : Reset Watchdog
 Next
 Gosub Test
 'Gifr = 0
 M = A : Shift M , Right , 3 : M = A -m : Em = M : T = Tmax
 'Tled = 0 : Control = 0
 Set Led                                                    ': Waitms 2000 : Reset Led : Waitms 1000
 Do : Loop
 Return

 '-----------------------------------------------------------------------------------
 Test:
 Trigger = 1                                                'даем импульс на ногу Portd.4 длительностью 15 мкс
 Waitus 15
 Trigger = 0
 Waitus 10
 Pulsein A , Pinb , 4 , 1                                   'ловим импульс высокого уровня

 Return
 '-----------------------------------------------------------------------------------


Для изменения времени горения лампы редактировать строку
Const Toff = 750
исходя из того, что число 250 соответствует 1 минуте.

#2
va11

    Новичок

  • Проверенные
  • 9 сообщений
В приложении 2 прошивки с задержкой в 10с и 1с. В железе не проверял, пробуйте.

Ответы на другие вопросы:
\\Подскажите, для чего нужна подтяжка первой ноги контроллера к плюсу питания?
Это подтяжка Reset для предотвращения самопроизвольной перезагрузки.

\\ расстояние сработки 2,5 метра… Если кто знает как повысить чувствительность до заявленных 4м буду очень признателен.
Зона чувствительности датчика это конус с углом в 15* (точнее смотрите в даташите). Вы уверены, что края этого конуса на длине 2.5м не касаются пола, стен или других предметов?

\\разработайте схему пожалуйста на этрм датчике-пугалку для собак-в смысле ккак его подключать?
Попробуйте прошивку с задержкой 1с. Может это то, что вам нужно.

\\ самостоятельно меняется установка расстояния
Прочитайте значение в ячейке 0 eprom до и после появления этого эффекта. Оно изменилось?

Прикрепленные файлы

  • Прикрепленный файл  sonar-tiny5_1s_.hex   2.76К
  • Прикрепленный файл  sonar-tiny5_10s_.hex   2.76К


#3
Vell65

    Новичок

  • Пользователи
  • 3 сообщений
\\ самостоятельно меняется установка расстояния
Прочитайте значение в ячейке 0 eprom до и после появления этого эффекта. Оно изменилось?
Программатор собрал на ардуине уно как посмотреть ячеки через прогу AVR Burn-O-Mat понятия не имею, ей заливаю прошивку. Предполагаю, что это именно и происходит в ячейке памяти. За прошивки спасибо.

#4
etimsk

    Новичок

  • Проверенные
  • 3 сообщений
Здраствуйте!
А подскажите пожалуйста . я так понял что можно ограничить зону ? тоесть может включаться если приблизился на 20 см а на другом расстоянии не будет включаться?
Задержка 1 мин -? . А если не покидаешь зону -то постоянно включен?
Извините за дурацкие вопросы -хочу ночник сделать а то или постоянно горит или надо кнопку нажимать, я начинающий радиолюбитель пока многое не знаю.
И подскажите пожалуйста по фьюзам , надо какие трогать? есть у кого нибудь скриншот из Code Vision &

#5
Ramzesss

    Новичок

  • Пользователи
  • 4 сообщений
Подскажите как реализовать задержку перед включением?

Собрал в железе, все работает! Вот фьюзы для Sinaprog.
Прикрепленный файл  sonar_fuses.jpg   46.86К

#6
etimsk

    Новичок

  • Проверенные
  • 3 сообщений

Здраствуйте! 

Огромное спасибо автору за данную разработку -устройство действительно очень нужное а главное простое для начинающих. За 6 месяцев работы -ни одного нарекания -срабатывает чётко и качественно а возможность ограничить 

зону -супер! 

К сожалению я не умею пока писать программы -поэтому очень прошу пожалуйста кто может скиньте прошивку на 3 минуты и 5 минут задержку отключения.



#7
Fanin

    Новичок

  • Пользователи
  • 2 сообщений
Люди так как все же увеличить дальность ? А то пол метра и дальше не хочет.

#8
maikl9999

    Пользователь

  • Проверенные
  • 11 сообщений

Чтобы самостоятельно не менялась установка расстояния необходимо параллельно кнопке поставить конденсатор 0.1Мкф. Автору спасибо, очень практичная штуковина.



#9
hanan

    Новичок

  • Пользователи
  • 2 сообщений

В приложении 2 прошивки с задержкой в 10с и 1с. В железе не проверял, пробуйте.

Ответы на другие вопросы:
\\Подскажите, для чего нужна подтяжка первой ноги контроллера к плюсу питания?
Это подтяжка Reset для предотвращения самопроизвольной перезагрузки.

\\ расстояние сработки 2,5 метра… Если кто знает как повысить чувствительность до заявленных 4м буду очень признателен.
Зона чувствительности датчика это конус с углом в 15* (точнее смотрите в даташите). Вы уверены, что края этого конуса на длине 2.5м не касаются пола, стен или других предметов?

\\разработайте схему пожалуйста на этрм датчике-пугалку для собак-в смысле ккак его подключать?
Попробуйте прошивку с задержкой 1с. Может это то, что вам нужно.

\\ самостоятельно меняется установка расстояния
Прочитайте значение в ячейке 0 eprom до и после появления этого эффекта. Оно изменилось?

 

В приложении 2 прошивки с задержкой в 10с и 1с. В железе не проверял, пробуйте.

Ответы на другие вопросы:
\\Подскажите, для чего нужна подтяжка первой ноги контроллера к плюсу питания?
Это подтяжка Reset для предотвращения самопроизвольной перезагрузки.

\\ расстояние сработки 2,5 метра… Если кто знает как повысить чувствительность до заявленных 4м буду очень признателен.
Зона чувствительности датчика это конус с углом в 15* (точнее смотрите в даташите). Вы уверены, что края этого конуса на длине 2.5м не касаются пола, стен или других предметов?

\\разработайте схему пожалуйста на этрм датчике-пугалку для собак-в смысле ккак его подключать?
Попробуйте прошивку с задержкой 1с. Может это то, что вам нужно.

\\ самостоятельно меняется установка расстояния
Прочитайте значение в ячейке 0 eprom до и после появления этого эффекта. Оно изменилось?

Здравствуйте,

Скачал оба файла-задержка у обоих 1 мин. как у оригинала.

Проверил на   MD5 -одинаковы с оригиналом.Просьба -дать правильные файлы.Спасибо.



#10
Andry111

    Новичок

  • Пользователи
  • 1 сообщений

Добрый день , а кто нибудь испытал работу с US-020  датчиком ? Вроде он до 7 метров 



#11
va11

    Новичок

  • Проверенные
  • 9 сообщений

Проверил на   MD5 -одинаковы с оригиналом.Просьба -дать правильные файлы.Спасибо.

 

 

Это 2 разных файла:

 

 

 

Но на всякий случай я еще раз их скомпилировал. Пробуйте.

Прикрепленные файлы

  • Прикрепленный файл  sonar-1s.hex   2.76К
  • Прикрепленный файл  sonar-10s.hex   2.76К


#12
hanan

    Новичок

  • Пользователи
  • 2 сообщений

 


Проверил на   MD5 -одинаковы с оригиналом.Просьба -дать правильные файлы.Спасибо.

 

 

Это 2 разных файла:

 

 

 

Но на всякий случай я еще раз их скомпилировал. Пробуйте.

 

Большое спасибо. Всё работает.



#13
vovanxp

    Новичок

  • Пользователи
  • 1 сообщений

Здравствуйте,что за элементы стоят рядом с конденсатором в левом верхнем углу платы с трансформаторным питанием?



#14
Ustes

    Новичок

  • Пользователи
  • 7 сообщений
  • ГородЭкспериментально-испытательный регион №16

Как правильно подключить в место реле симистор+оптрон, дайте схему подключения.



#15
Mirage

    Новичок

  • Пользователи
  • 1 сообщений
  • ГородРоссия

Всем здравствовать!

 

У меня ChipBlasterAVR Evaluation V2.01 пишет, что hex файл большой и в тиньку13а не влезет. Программатор AVR-910. Брал для пробы другую прошивку, меньшего размера, шьет без проблем. У тиньки13а размер флеша 1кБ, а hex файл 2 с лишним килобайта. 

 

 

Вот и возник вопрос: кто чем прошивал? 

 

.............

up: разобрался. Просто пару лет не прошивал, забыл все. Прошилось прогой CodeVisionAVR Evaluation V2.05.9.

 

Заработала сразу. И сразу понял, что секундная задержка мала. Стоило чуть шевельнуться в поле активности, как светодиод гас (вместо реле поставил). Перешил на 10 секунд и порядок, теперь не будет ложных срабатывай. До Нового года заказал на Али под эту схему 9 сонаров, обошлись по 44 рубля с копейками за штуку. Сегодня проверил все, работают.

 

Пока собрал на макетной плате, которая без пайки с проводами. Питал от лабораторного БП. Осталось собрать в железе и проводить полевые испытания. 

 

Спасибо за этот девайс.



#16
Evgenij37

    Новичок

  • Пользователи
  • 1 сообщений

При первом включении устройство заработало сразу, а через минуту отказалось работать. Но если держать пальцем за нижний контакт излучателя приемника, который с буквой R, устройство отлично работает. Так же работает если к этому контакту просто припаять провод. С чем это связано?  Что можно реально предпринять в данной ситуации?



#17
slavyan

    Пользователь

  • Проверенные
  • 17 сообщений

Всем привет. Автор устройства, VA11, или кто подскажет, можно разнести между собой ультразвуковой датчик и плату управления на ATtiny шлейфовым проводом на расстояние ~3 метра? Не будет ли сказываться влияние помех от бытовой техники на работу девайса? Спасибо.

И ещё вопрос, какова диаграмма направленности срабатывания этого датчика?



#18
Lagros

    Новичок

  • Пользователи
  • 1 сообщений

Сделал себе такой. Работает без проблем.

]



#19
inko1973

    Новичок

  • Пользователи
  • 1 сообщений
  • ГородДонецк

После n-ной перезаливки программы заработало (шил скачанным файлом, содержавшем одну строку кода). Но оказывается на выходе 6 МК сигнал не появляется, когда входишь в охранную зону, а пропадает!!! Т.е. нужно применять реле низкого уровня. Короче все наоборот. Автор, поправь программу, чтобы без танцев с бубном было. Алгоритм должен быть таким: когда никого нет в охранной зоне на выходе 6 МК не должно быть управляющего сигнала, после вхождения тела в охранную зону на 6 ноге должен появляться сигнал высокого уровня. Когда тело покидает охранную зону на 6 ноге МК высокий уровень должен оставаться еще какое-то время.



#20
zamivana

    Новичок

  • Пользователи
  • 4 сообщений

Собрал схему, все работает. Но!. Если проходить датчик быстро, то не всегда срабатывает. Очень медленно отдупляется. Если кто знает причину - подскажите . Заранее благодарен. Может частоту увеличить?
-