Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Доп. образование / Статьи / Автоматическое устройство для подачи звонком с использованием возможностей языка VB

Автоматическое устройство для подачи звонком с использованием возможностей языка VB


До 7 декабря продлён приём заявок на
Международный конкурс "Мириады открытий"
(конкурс сразу по 24 предметам за один оргвзнос)

  • Доп. образование

Поделитесь материалом с коллегами:

Автомат для подачи школьных звонков выполнено с применением языка VB, где можно также напрямую работать с LPT портом.

В нашей школе с учетом того, что во многих средних и высших учебных заведениях выпускникам школы приходится изучать язык VB, учащиеся школы знакомятся с основами этого языка.

Основные цели работы:

  1. Изучение языка программирования VB;

  2. Изучение устройства компьютера;

  3. Практическое применение своих знаний;

Автомат для подачи школьных звонков можно разделить на две составляющие: на программную часть и на аппаратную.

Программная часть второго устройства выполнена с использованием языка программирования VB.

Вначале создаем визуальную часть программы. Для этого на форме разместим следующие объекты: hello_html_eac9205.jpg

Как видно из рисунка, на форме размещены 17 текстовых полей (Text1-text17), 12 надписей (Автоматическая подача школьных звонков, Уроки, начало, конец, 1,2,3,4,5,6,7, Автомат), и 2 командные кнопки (Принудительное включение звонка и Вкл.)

hello_html_20434022.jpg

Здесь мы видим использование этих объектов. На текстовое поле 1 выводится текущее системное время с точностью до секунды.

Текстовое поле меняет свои свойства при звонке: фон становится красным и появляется надпись «звонок».

Текстовое поле 3 служит для вывода текста «Расписание подачи звонков»

Текстовые поля 4-17 служат для расписания занятий.

12 соответствующих надписей - Автоматическая подача школьных звонков, Уроки, начало, конец, 1,2,3,4,5,6,7, Автомат

1 командная кнопка для принудительного включения звонка.

2 командная кнопка меняет свое свойство при нажатии, меняется надпись с «Вкл» на «Выкл».

Далее ознакомимся с текстом программы:hello_html_1446c56e.jpg


Вначале происходит Объявление библиотеки для работы с LPT портом,"inpout32.dll"-программа-библиотека для работы с LPT портом

Option Explicit

Private Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Integer) As Integer

Private Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Далее идут две подпрограммы, одна из них для работы кнопки включения и выключения звонка, при этом часы работают:

Данная подпрограмма меняет значение Command1.Caption c "Выкл" на "Вкл", т.е.

Если Command1.Caption имеет значение "Вкл" то Command1.Caption принимает значение "Выкл"

иначе

Command1.Caption принимает значение "Вкл" (действия при нажатии кнопки)

Код подпрограммы:

Private Sub Command1_Click() - при нажатии кнопки

If Command1.Caption = "Вкл" Then

Command1.Caption = "Выкл

Else

Command1.Caption = "Вкл"

End If

End Sub

Вторая подпрограмма служит для принудительного включения звонка:

При нажатии кнопки по адресу &H378 записывается 8 (00001000)

Фон текстового поля Text2 меняется на красный

На текстовом поле Text2 появляется надпись "Звонок"

Код подпрограммы:

Private Sub Command2_Click() - при нажатии кнопки

Out &H378, 8 - По адресу &H378 записывается 8 (00001000)

Text2.BackColor = &HFF& - Фон текстового поля Text2 меняется на красный

Text2.Text = "Звонок" - На текстовом поле Text2 появляется надпись "Звонок"

End Sub


Далее идет основная программа:

На текстовое поле Text1 выводится значение системного времени (Time)

Private Sub Timer2_Timer()

По адресу порта LPT записывается 0 (00000000), стирается записанная 8, т.е. обнуляется значение регистра порта

Сравниваются значение текущего времени и значения времен звонков, а также значение кнопки включения автомата

При выполнения условия по адресу порта записывается 8 (00001000),

фон текстового поля Text2 меняется на красный, 'на текстовом поле Text2 появляется надпись "Звонок"

иначе

сhello_html_m19f8aa9.jpg текстового поля Text2 убирается надпись "Звонок", 'Фон текстового поля Text2 меняется на белый


Код программы:

Text1.Text = Time -на текстовое поле Text1 выводится значение системного времени (Time)

Out &H378, 0 -по адресу порта LPT записывается 0 (00000000), стирается записанная 8

If ((Text4.Text = Text1.Text) Or (Text5.Text = Text1.Text) Or (Text6.Text = Text1.Text) Or (Text7.Text = Text1.Text) ) Or (Text8.Text = Text1.Text) ) Or (Text9.Text = Text1.Text) ) Or (Text10.Text = Text1.Text) ) Or (Text11.Text = Text1.Text) ) Or (Text12.Text = Text1.Text) ) Or (Text13.Text = Text1.Text) Or (Text14.Text = Text1.Text) Or (Text15.Text = Text1.Text) ) Or (Text16.Text = Text1.Text) ) Or (Text17.Text = Text1.Text) ) And (Command1.Caption = "Вкл") Then

Out &H378, 8

Text2.BackColor = &HFF& 'Фон текстового поля Text2 меняется на красный

Text2.Text = "Звонок" 'на текстовом поле Text2 появляется надпись "Звонок"

Else

Text2.Text = "" 'с текстового поля Text2 убирается надпись "Звонок"

Text2.BackColor = &HFFFFFF 'Фон текстового поля Text2 меняется на белый

End If

End Sub


Исходя из вышенаписанного, включение звонка происходит за счет записи в регистр параллельного (или LPT порта, что в компьютере один и тот же порт ввода и вывода) числа 8 в двоичной системе 00001000. Можно записать и другое число до 255, но в данном случае идет анализ этого разряда регистра порта. Звонок выключается обнулением регистра порта путем записи двоичного нуля в этот регистр.




Аппаратная часть устройства.

Так как данный LPT порт используется редко, необходимо убедится в наличии в операционной системе программы для работы с LPT портом, т.е. наличии файла inpout32.dll в папке system и при необходимости вставить этот файл (предварительно скачав из интернета).

С учетом того, что в перспективе мы хотим что-либо считывать с порта, то нам необходимо переключить режим работы порта компьютера в режим EPP (Enhanced Parallel Port - режим двунаправленной передачи данных). Это делается в BIOS. Во время загрузки компьютера когда появится надпись Press DEL to enter setup, нажать DEL, чтобы попасть в меню BIOS. Затем выбираем раздел INTEGRATED PERIPHERALS и там выбираем строку PARALLEL PORT MODE: изменяем режим работы порта на EPP или SPP/EPP. Сохраняем сделанные изменения. Если же на Вашем компьютере нет режима EPP, то Вы сможете только передавать данные, в данном случае достаточно и этого режима.

Параллельный порт для связи с принтером (или другим устройством) имеет базовый адрес &H378 (LPT1), &H278 (LPT2), &H3BC (LPT3). В нашем компьютере всего один  LPT порт - LPT1. Адресное пространство порта занимает диапазон &H378-&H37F (в шестнадцатеричном виде). Адрес &H378 называется базовым и служит для передачи или чтения данных (в нашей программа по этому адресу записывается число 8 (строка- Out &H378, 8 нашей программы) через контакты 2-9 разъема LPT-порта. Остальные адреса служат для передачи и приема управляющих сигналов к устройству и от устройства подключенного к этому порту (принтер, сканер и т.д.), в данном случае они не используются и нас не интересуют.

Использовались две программы: splan_7_portable_rus и SLayout-5rus. Первая позволяет рисовать принципиальные схемы, а вторая составлять печатные монтажи. Обе программы бесплатные и доступны всем.

hello_html_m1358f040.png

Принципиальная схема аппаратной части, составленная с помощью программы splan_7_portable_rus.

Разберем работу схемы:

Сhello_html_m61760d5b.pngигнал с LPT порта поступает через ограничительные резисторы R1-R8 330 Ом на светодиоды VD1-VD, которые позволяют визуально проследить прохождение сигнала через порт. (светодиод светится).



hello_html_3870344.png


Далее сигнал поступает на одновибратор выполненный на микрсхеме К155ЛА3, состоящий из четырех элементов 2-И-НЕ. Цепочка С1,R9 определяет длительность импульса одновибратора, при значениях с=1000 мкф и R= 1kOm длительность импульса составляет около 8 секунд.( При желании можно изменить подбором значений емкости конденсатора С и сопротивления R).


Далее сигнал соответствующей длительности поступает через ограничительный резистор hello_html_m1358f040.png

на базу транзистора КТ817А и открывает его, срабатывает реле Rel 1 и замыкает контакты. Контакты реле подсоединении параллельно кнопке включения звонка и таким образом звонок будет включен в течение времени, определяемого длительностью сигнала одновибратора.




В целях безопасности лучше все же контакты реле включить через промежуточный адаптер, состоящий из ограничительного резистора и симистра и таким образом уменьшив ток через контакты реле. (КУ208Г можно заменить на любой другой современный с подходящими параметрами)

hello_html_54372686.png


Для правильной работы порта необходимо уточнить адреса LPT порта в БИОС. Для этого при включении компьютера заходим в БИОС, (в зависимости от компьютера клавиша «DELETE» или другая служебная клавиша), находим раздел для COM и LPT портов (Serial и Parallel портов), уточняем адрес Parallel порта, в нашем случае &378Н и выставляем режим работы порта EPP. (для чтения и записи).





hello_html_44fba9ce.pnghello_html_m50bfbedf.png


hello_html_m7646dc93.jpghello_html_7d2ab227.png

Печатная плата выполненная с помощью программы SLayout-5rus


Готовый к травлению фольгированный текстолит нужного размера




hello_html_74761b7f.pnghello_html_172769e0.png

Плата после травления в растворе хлорного железа


Монтажная плата с установленными деталями, за неимением реле на 5 вольт, применяется герконовое реле ( справа с доидом в качестве защиты от напряжения самоиндукции)




3.Заключение.

Несмотря на то, что LPT порт устарел и его возможности сейчас применяются редко, простота его программирования и использования в тех или иных устройствах дает возможность практического использования его возможностей при изучении раздела программирования и устройства компьютеров на уроках информатики в средней школе. Данное устройство может найти практическое применение для подачи звонков в школах, хотя его возможности не ограничиваются только этим. Сам принцип управления этим портом (запись и чтение регистра порта, а также состояния управляющих щин порта) дает возможность конструирования устройств с обратной связью, таких как автоматическое поддерживание тех или иных параметров конкретной системы. (Пример: автоматическое поддерживание температуры и влажности в замкнутой системе, автоматическое включение освещения в зависимости от

освещенности и т.д. при наличии соответствующих датчиков)

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


57 вебинаров для учителей на разные темы
ПЕРЕЙТИ к бесплатному просмотру
(заказ свидетельства о просмотре - только до 11 декабря)

Автор
Дата добавления 29.09.2016
Раздел Доп. образование
Подраздел Статьи
Просмотров16
Номер материала ДБ-223263
Получить свидетельство о публикации
Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх