MYCSS

Показ дописів із міткою c. Показати всі дописи
Показ дописів із міткою c. Показати всі дописи

2017-07-06

Підключення PS/2 keyboard до мікроконтролеру PIC 16F690

Створюючи маленьку охорону систему, спробував підключення різних пристроїв до мікроконтролера. І публікую тут як нотатку для себе.
У тому числі вирішив використати стару PS/2 клавіатуру. Протокол зв'язку гарно описаний
у публікаціях: 

Реалізація

На основі цих даних сформував власний код обробки сигналу що йде від клавіатури.
Через переривання програми за спадом сигналу (INT/RA2) реалізована обробка сигналу CLOCK, сигнал DATA зчитується безпосередньо у підпрограмі з обробки переривання.
Формати пакету даних при передачі від клавіатури PS/2.

2017-04-06

Контроль освітлення за допомогою ультразвукового сенсору. Програма v2.0.0. Кнопка "Людина присутня" з світловою і звуковою індикацією.

Після доопрацювання апаратної частини схеми "Контроль освітлення у туалетній кімнаті за допомогою ультразвукового сенсору, кнопка "Людина присутня"" з'явилася наступна версія програмного забезпечення для реалізацій цих та додаткових функцій.

Release v2.0.0. Кнопка "Людина присутня" з світловою і звуковою індикацією.

Після двох років експлуатації, зроблено модифікації як апаратної частини, так і програмної. Головна модифікація це додавання можливості показувати стан роботи ультразвукового сенсора, і за необхідністю відключати логіку визначення за сенсором.

Зміни. Що це дає.

По-перше, показ стану дозволяє полегшити правильне позиціювання сенсора, у малому приміщенні. По-друге, якщо сенсор не може явно визначити наявність людини, людина може заявити про себе натисканням кнопки "Людина присутня". При цьому світло не вимкнеться до тієї пори поки двері не відчиняться.

Логіка роботи.

У разі визначення відсутності людини у приміщені, індикація, котра вбудована у кнопку "Людина присутня", починає періодично мигати. Якщо протягом 45 секунд людина не визначиться знову, то світло автоматично вимкнеться. Індикація продовжуватиме мигати, щоб у темряві можна було натиснути на кнопку для вмикання світла і заявити про те що "Людина присутня".
Після автоматичного вимкнення світла ще протягом 1 хвилини очікується натискання кнопки, або  очікується автоматичне визначення людини ультразвуковим сенсором.
Якщо змін у стані визначення не має, індикатор та ультразвуковий сенсор вимикаються, а схема переходить до пониженого споживання енергії - сну. Якщо людина натиснула кнопку "Людина присутня" у любий період часу, то індикатор у кнопці починає світитися постійно, світло вмикається, до тієї пори поки не зміниться стан відчинення дверей, або не спрацює аварійний таймер.

Додаткове доопрацювання.

Це додавання звукового сповіщення до візуального, у разі проблеми з визначенням присутності людини ультразвуковим датчиком, кожні 5 секунд, лунає короткий сигнал - "біп", попереджуючи про проблеми. Кількість "біпів" постійно збільшується пропорційно від 1 до 3х. Після останнього 3х кратного "біпу" буде вимкнення автоматичне вимкнення світла.

Аварійний таймер.

До схеми введено механізм аварійного відключення світла за таймером часу. Максимальний час постійно ввімкнено світла при:
  • зачинених дверях, становить приблизно 1 годину.
  • відчинених дверях, становить приблизно 15 хвилин.
Відновити роботу після аварійного вимкнення, можливо циклом відкриттям та закриттям дверей.

Особливості реалізації пристрою.

Програма не використовує точний лічильник часу. Для пауз, між циклами опитування, програма використовує режим сну, і програмований аварійний таймер "WatchDog" який виводить програму з режиму сну, на наступну команду.

2017-03-20

Контроль освітлення у туалетній кімнаті за допомогою ультразвукового сенсору, кнопка "Людина присутня"

Два роки тому я створив проект що контролює освітлення у туалетній кімнаті за допомогою ультразвукового сенсору.
Основа проекту ультразвуковий сенсор HC-SR04, котрий вимірює відстань, а програма аналізує умови і контролює вмикання або вимикання лампочки освітлення. Умови це: відкрити двері чи ні, присутня людина чи ні, і час. У схемі використано мікроконтролер PIC12F675.
Схема використовує "Green mode", це коли не потрібні компоненти вмикаються тільки за потребою. Так ультразвуковий модуль працює коли  в тому необхідність. Навіщо шукати чорну кішку у темній кімнаті, а особливо коли її там не має.
Цей проект був реально застосований у туалетній кімнаті і весь час, був у тестовому режимі. Але до нього так звикли усі члени сім'ї що без нього вже не дуже подобається використовувати звичайну кнопку вмикання вимикання світла.

 

Попередньо були відео публікації тестування роботи схеми.

Без лампи.
Та з лампою.
Моделювалось відкриття дверей та присутність об'єкту.

 

Зараз подано доопрацювання

Бо інколи, сенсор не "бачить" людину і сенсор вимикає освітлення. Тому до схеми додано, кнопку з вбудованим світлодіодом. Ця кнопка повинна використовуватися коли спрацьовує не правильне визначення об'єкту у приміщені. Натиснувши її, коли вона мигає червоним кольором, ми даємо знати що людина присутня. Цей стан відключить логіку визначення присутності до тої пори коки двері не відчиняться.
Для економії проводів, і використання поточного схемного рішення, сигнал TRIG використовується як на передачу так і прийом.
Світлодіод кнопки, зазвичай, не встигає засвітитися  тому що довжина імпульсу TRIG має коротку довжину, 10 мс, що потрібна тільки для запуску процесу вимірювання відстані модулем HC-SR04. Якщо треба засвітити світлодіод  треба просто збільшити час сигналу TRIG, а вимірювання заборонити.
Програмне рішення не реалізовано поки що.
Схема сенсора з додатковою кнопкою "людина присутня"
Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready