MYCSS

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

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, а вимірювання заборонити.
Програмне рішення не реалізовано поки що.
Схема сенсора з додатковою кнопкою "людина присутня"

2014-11-20

Метод визначення оптимального часу освітлення світлочутливого елемента при обробленні цифрового зображення у програмно-апаратному комплексі для визначення наявності непрозорих або напівпрозорих об’єктів

Національний аерокосмічний університет ім. М.Є. Жуковського «ХАІ»

Проведено аналіз існуючих рішень в області оптичного виявлення малих геометричних об'єктів. Розглянуто можливі методи щодо виявлення об'єктів за умов комплексу, що розробляється. На основі аналізу проведено вибір оптимального методу, розроблено алгоритм пошуку. Спроектовано електричну схему комплексу для отримання цифрового зображення. Побудовано діючий прототип електронної схеми, створено програмний код для мікроконтролера. Проведено ряд експериментальних вимірювань за допомогою комплексу. За результатами побудовано графіки, за якими виявлено оптимальне значення часу освітлення світлочутливих елементів.
Ключові слова: оптичне виявлення малих геометричних об'єктів, цифрове зображення, мікропроцесор, "розумний дім", матриця, піксель, аналого-цифрове перетворення, роздільна здатність, експонування, освітленість, фоторезистор, послідовна шина даних I2C, послідовний інтерфейс RS-232, програмування.

Задачі визначення малих геометричних об'єктів знаходять широке застосування в народному господарстві, наприклад у системах моніторингу земної і водної поверхні. Іншою стороною є застосування також у воєнній галузі, наприклад для наведення і самонаведення літальних апаратів. Подібні задачі вирішуються уже давно, існує безліч методів для їх розв'язання. У більшості рішень результат зводиться до цифрової обробки зображень, які були отримані від оптичних чи радіометричних засобів реєстрації [1,2,3,4].

У межах розвитку проекту "розумний дім" [5,6] створюється програмно-апаратний комплекс для визначення малих геометричних  об'єктів оптичними методами на прикладі визначення наявності поштової кореспонденції у типовій поштовій скриньці багатоповерхового будинку, надалі – "комплекс" (рис. 1). 
Рис. 1. Модель типових поштових скриньок багатоповерхового будинку

2014-06-13

PIC16F690, Компаратор, сплячий режим

PIC 16F690, Компаратор.
Задача, визначити чи освітлюється світлочутливий елемент, з мінімальним споживанням енергії.
Живлення:  CR2032, 225mAh, 3V.

2014-06-11

Comparator Voltage Reference CVREF (PIC16F631/677/685/687/689/690)

Додаю як нотатку, результати розрахунку напруги CVREF компаратора мікроконтролерів #Microchip #PIC16F631/677/685/687/689/690
Comparator Voltage Reference CVREF (PIC16F631/677/685/687/689/690)
VRR = 1: CVREF = (VR<3:0>/24) * VDD
VRR = 0: CVREF = VDD/4 + (VR<3:0>/32) * VDD

2014-06-07

Microchip PIC10/12/16. Що таке read-modify-write (RMW)?


1. Що таке read-modify-write (RMW)?
read-modify-write - Читати-модифікувати-записати. Це означає що якщо ми записуємо до регістру певного порту мікроконтролера, то запис проходить не зразу, а послідовно: зчитуємо стан, модифікуємо і записуємо новий. Але якщо ви модифікували один біт, а що з іншими? А з іншими може бути проблема, так як буде зчитано їх електричний поточний стан, і те що "зчиталося" буде записано назад.

2014-03-31

Перевірка поштової скриньки на наявність кореспонденції за допомогою мікроконтролера PIC

Стан: проектування, прототип створено.

Історія

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

2014-01-27

Датчик для контролю неочікуваного протікання води та GSM модуль для сповіщення

Продовжуючи тему захисту від неочікуваного протікання води "Автоматизоване керування шаровими кранами, система проти протікання води", для електричної частини керуванням кранами використовую елементи проекту "Open Voron. Датчик контроля протечки воды ch-c0020".
Замовив плати,  ті що залишилися, закупив дедалі, запаяв (паяти плати мені довелося десь 20 років назад), запрограмував програматором "PICkit2 Lite-M" , і отримав ось це:
Датчик контролю протікання води ch-c0020

2014-01-13

Програмування мікроконтролерів. PIC12F675. Timer1,Sleep,Clock,RS232


Вивчаю програмування мікроконтролерів PIC. Маю програматор PICkit 2 та макетну плату.
Вивчаю крок за корком. Почав від класичних завдань з світлодіодом.
Мигання світлодіоду класично робиться за допомогою внутрішньої затримки пустими циклами NOP.
Пройшовши ці завдання, я став оптимізувати і заодно вивчати роботу з таймерами та перериваннями.

2013-12-02

1-wire, I2C for PIC Microcontroller


1-Wire - From Wikipedia, the free encyclopedia

1 -Wire (англ. один провід) - двонаправлена ​​шина зв'язку для пристроїв з низькою швидкістю передачі даних (зазвичай 15,4 Кбіт/с , максимум 125 Кбіт/с), в якій дані та живлення передаються по одній лінії (тобто всього використовуються два дроти - один для заземлення , а другий для живлення і даних ; в деяких випадках використовують і окремий провід живлення).
Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

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

ipv6 ready