ір для пішоходів і створено миготіння для зеленого індикатора пішоходів.
3.2 Розробка GUI
В якості інтерфейсу використана модель світлофора, що включає в себе:
· 3 світлових індикатора для автомобілістів (червоний, жовтий і зелений);
· 2 світлових індикатори для пішоходів (червоний і зелений);
· поле з цифрами, що показує залишок часу на дозволений зелене світло для пішоходів;
· кнопку, після натискання якої пішохід запитує дозвіл на перехід дороги.
Зображення описаного вище інтерфейсу представлено на малюнку 1.
Малюнок 1. Форма при початку роботи програми
3.3 Розробка алгоритму функціонування програми
Суть поставленої задачі полягає в імітації поведінки світлофора при натисканні користувачем (передбачуваним пішоходом на кнопку). Спочатку перевіряється, чи достатньо довго горіло зелене світло у машин, якщо ні, то система чекає поки пройде цей час. Після мінімального часу очікування програма реагує на натискання і працює в наступній послідовності:
. зелений для водіїв починає блимати (Малюнок 2);
2. вимикає зелений для водіїв і включає жовтий (Малюнок 3);
. вимикає жовтий і включає червоний (Малюнок 4);
. включає зелений для пішоходів і таймер (Малюнок 5);
. по досягненні таймера 3 секунд зелений для пішоходів починає блимати (Малюнок 6);
. по закінченню таймера включається червоний для пішоходів (Малюнок 7);
. включається жовтий для водіїв на додаток до червоного (Малюнок 8);
. включається зелений для водіїв (Малюнок 9).
3.4 Демонстрація роботи програми
Демонстрація була проведена на машині з VMware Player, де була створена віртуальна машина з ОСРВ QNX.
Малюнок 2. Минуло мінімальний час очікування, кнопка натиснута. Зелений для водіїв почав блимати
Малюнок 3. Включається жовтий для водіїв. Зелений відключається
Малюнок 4. Включається червоний для водіїв. Жовтий відключається
Малюнок 5. Загоряється зелений для пішоходів, починається відлік таймера
Малюнок 6. Значення таймера стало менше трьох секунд. Зелений для пішоходів почав блимати
Малюнок 7. Загоряється червоний для пішоходів
Малюнок 8. Загоряється жовтий для водіїв
Малюнок 9. Загоряється зелений для водіїв. Жовтий і червоний відключаються. Система повернулася в початковий стан, таймер обнулений
автоматизований віртуальний контролер світлофор
Висновок
У ході виконання курсової роботи був розроблений контролер управління кодовим замком, який працює в режимі реального часу і точно реагує на натискання кнопок. Використання Photon application builder дозволило створити дане додаток без особливих складнощів. Додаток виконує всі поставлені завдання/підзадачі і має приємний інтерфейс.
Список ВИКОРИСТАНИХ ДЖЕРЕЛ
1.а.. Бліскавіцкій, С.В. Кабаєв. Операційні системи реального часу (огляд)//Засоби й системи комп'ютерної автоматизації. lt; # justify gt; Додаток
Pushbutton.c
/* Your Description */
/* AppBuilder Photon Code Lib */
/* Version 2.03 */
/* Standard headers */
# include lt; stdio.h gt;
# include lt; stdlib.h gt;
# include lt; unistd.h gt;
# include lt; string.h gt;
/* Local headers */
# include ablibs.h
# include abimport.h
# include proto.h cout=0; mytest=0;
(PtWidget_t * widget, ApInfo_t * apinfo, PtCallbackInfo_t
* cbinfo)
{
/* eliminate unreferenced warnings * /=widget, apinfo=apinfo, cbinfo=cbinfo; (mytest == 0)% якщо світлофор знаходиться в початковому стані (зелений
для машин, червоний для пішоходів) реагуємо на натискання кнопки
mytest=10; (Pt_CONTINUE);