Главная » Автоматика в быту
Призовой фонд
на ноябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Тестер компонентов LCR-T4
Паяльник
4. 200 руб.
От пользователей

Похожие статьи:


Датчик обнаружения протечки на ATtiny13

Думаю, среди посетителей данного сайта вряд ли найдутся те, кто не знает, что такое Ардуино. С помощью этой платы можно создавать множество различных устройств. Кроме того, для Ардуино существует множество различных сенсоров, позволяющих обнаруживать различные явления: свет, влагу, наклон и многое другое. Например, замечательный набор из 37 сенсоров, который можно приобрести на известной китайской интернет площадке.

Но иногда возникают ситуации, когда по тем или иным причинам использовать плату Ардуино не выгодно: дорого, избыточно, проблемы с подачей нужного напряжения для некоторых моделей, мало места для устройства и т. д. В таких случаях я предлагаю использовать микроконтроллер ATtiny13. Этот МК имеет АЦП и вполне подходит для создания небольших, автономных датчиков. В качестве примера в своей статье я предлагаю собрать датчик обнаружения протечки, который в случае обнаружения на контактах сенсора влаги будет подавать звуковой сигнал. Такой сенсор можно приобрести и отдельно. Его стоимость не будет превышать 200 рублей.

Датчик достаточно прост по своей конструкции и доступен для начинающих. Он состоит из сенсора, реагирующего на влажность, микроконтроллера, принимающего решение о протечке, а также динамика и 5В от старой телефонной зарядки. 

Принцип работы датчика также достаточно прост: при попадании воды между контактами сенсора происходит замыкание, в результате чего меняется уровень сигнала на АЦП.

Сенсор, используемый в статье имеет четыре выхода: GND, VCC, аналоговый и цифровой. Для нашего устройства нам потребуются два выхода для питания и аналоговый выход А0.

Схема устройства:

Алгоритм работы программы будет следующий. С сенсора на АЦП циклически считывается сигнал. При превышении порогового уровня сигнала, будет срабатывать динамик. Затем снова снова считываем с АЦП и проверяем уровень. Таким образом, в случае, если причина протечки будет быстро устранена, датчик перестанет издавать сигнал без отключения питания.

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

Вот исходный код программы для МК ATTiny. Пороговое значение, при превышении которого происходит срабатывание указывается в константе porog.

.include "tn13def.inc"



.equ   porog  =128

.equ   led   =1



.org 0   rjmp reset   .org 9   rjmp ADC_complete   reset:   ldi r16,RAMEND   out SPL, r16   ldi r16, 1|(1<<1)|(1<<2)|(1<<3)   out DDRB,r16   ldi r16,(1<<ADLAR)|(1<<MUX1) out ADMUX,r16   ldi r16,(1<<ADEN)|(1<<ADSC)|(1<<ADATE)|(1<<ADIE)|(1<<ADPS2)

out ADCSRA,r16   ldi r16,(1<<WGM00)|(1<<WGM01)|(1<<COM0A1)|(1<<COM0A0)

out TCCR0A,r16   ldi r16,(1<<CS01)  out TCCR0B,r16   sei   main:   rjmp main   ADC_complete:   in r16,ADCH   out OCR0A,r16  cpi r16,porog ; пороговое значение

BRSH Level1

sbi PORTB,led

rjmp Return

Level1:

cbi PORTB,led Return:

reti   

Для прошивки использовался AVRDude, фьюзы не менялись.

Далее на видео представлен процесс сборки устройства. В качестве апгрейда можно припаять к динамику длинный провод, для того, чтобы поместить само устройство в ванной, а динамик в соседней комнате.

Размещать динамик в том же помещении, что и датчик не слишком логично.

В целом, аналогичным образом можно подключить к ATtiny13 и другие сенсоры, предназанченные для работы с Arduino.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
МК AVR 8-бит
ATtiny13
1 Поиск в LCSCВ блокнот
Резистор
10 кОм
2 Поиск в LCSCВ блокнот
Динамик1 Поиск в LCSCВ блокнот
Сенсор влажности1 Поиск в LCSCВ блокнот
Монтажная плата1 Поиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (2) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
walhi #
В использовании микроконтроллера нет никакого смысла. Смысл появится, если добавить логгирование срабатываний или передачу информации на компьютер... За ассемблер плюсик:-)
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Радиореле 220В
Радиореле 220В
Автомобильный GPS-трекер с GSM/GPRS и дистанционным управлением iMAX B6 - зарядное для Lion, LiPo, LiFe, Pb, NiCd и NiMH аккумуляторов
вверх