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

Автоматическое устройство для подачи школьных звонков с использованием макросов, интегрированных в Microsoft Office 2007


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

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

Автоматическое устройство

для подачи школьных звонков с использованием макросов, интегрированных в Microsoft Office 2007


Содержание:

  1. Вводная часть

  2. Основная часть

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

1. Вводная часть.

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

Нам хотелось исследовать возможности использования макросов, интегрированных в Microsoft Office 2007 c целью получения устройства для практического применения, в нашем случае устройства для подачи школьных звонков, хотя в реальности сама методика использования макросов совместно с традиционным использование возможностей Microsoft Office Excel 2007 позволяет значительно расширить круг устройств, для конструирования которых применяется данная методика.

В виду «древности» этого порта в настоящее время он уже в основном не используется в различных приложениях и в основном не раскрываются его возможности в применении тех или иных устройствах.

Исходя из этого, возможности этого порта (LPT) уже применяются редко, но он появился и применялся в первых компьютерах, его параметры были зашиты в БИОС, и к нему можно обращаться напрямую в программах, что значительно упрощает применение этого порта в различных устройствах.

2. Вводная часть.

Устройство для автоматической подачи звонков в школе.



hello_html_52291819.png

Данный проект «Устройство для автоматической подачи звонков в школе» использует ресурсы электронных таблиц, но являются нетрадиционными для этого приложения, т.е. в данном проекте используются макросы интегрированные в Мicrosoft Office.

Немного об интерпретаторе языка VBA интегрированный в Мicrosoft Office 2007, основы работы с ними:

1.Разрешить исполнение макросов:

hello_html_30a708b4.pnghello_html_m3606cfd8.png



1.Кнопка «Оffice» и выбираем «Параметры Ехсел»

2. «Центр управления безопасностью»



hello_html_mf1b9505.pnghello_html_mefb047b.png

Далее «Параметры макросов» и «Включить все макросы»

Работа с макросами:

Ctrl+Break – прервать исполнение макроса.

Alt+F11 – переключение в редактор VBA и обратно.

В редакторе VBA:

Ctrl+R – вызов окна проводника проекта (если не отображается);

F7 – вызов окна кода (если не отображается).

На панели инструментов:

 hello_html_m2404e189.png (Run) – выполнить макрос;

 hello_html_m6a5bce15.png (Break) – прервать исполнение макроса;

 hello_html_664867ac.png (Reset) – восстановить начальное состояние после прерывания.

В окне кода:

' (апостроф) – часть строки после апострофа интерпретатором не читается (используется для отмены действия операторов и комментариев).



Основа проекта –часы показывающие текущее системное время.

hello_html_m3d1d28ab.png



Для начала объединим ячейки диапазона B8:K32 и в процедуре Clock() отредактируем строку, чтобы получилось:

Range("B8") = Now (В ячейку В8 заносятся показания текущего времени с точностью до единиц минут, что определяется форматом ячейки – Время: 13:30), т.е.

в этом диапазоне установим формат ячейки:

– Время: 13:30;

– Выравнивание:

• по горизонтали: по правому краю;

• по вертикали: по центру;

– Шрифт:

• начертание: полужирный;

• размер: 170.

hello_html_m81a89c2.png

Для отдельного отображения секунд объединим ячейки диапазона L14:N22, введем в него формулу:

=ТЕКСТ(СЕКУНДЫ(ТДАТА());"00") – вырезаются секунды из показания часов

Здесь выберем формат:

– Общий;

– Выравнивание:

• по левому краю;

– Шрифт:

• размер: 100.

hello_html_fb310e2.pnghello_html_6d927f85.png

Для установки времени звонка будильника создадим с помощью панели «Формы» два счетчика для выбора нужных часа и минут,


Настроим необходимые ограничения и свяжем их с ячейками G36 и I36.



hello_html_m2a2adbd7.pnghello_html_m29f717b5.png

В ячейку I35 введем формулу =ВРЕМЯ(G36;I36;) для перевода выбранного времени в формат представления времени в Excel

Левее в H35 запишем =ВРЕМЯ(ЧАС(B8);МИНУТЫ(B8);

СЕКУНДЫ(B8)) с аналогичной целью.






В ячейке G35 это значение мы будем сравнивать с выбранным с помощью формулы: =ЕСЛИ(H35=I35;1;0), - сравниваются показания будильника и текущего времени. При выполнения условия значение ячейки G35 =1, выполняется условие для подачи звонка.

hello_html_m627f26ae.png



Отведем для расписания уроков диапазон от P8-P20 –начало и Q8-Q20 –конец урока. В эти ячейки будем вводить время звонков в принятом формате времени, отделяя двоеточием часы от минут и секунд. Условие в ячейке G35 придется преобразовать к виду:

hello_html_3f1b5a1e.png

G35=ЕСЛИ(ИЛИ(H35=P8;H35=P10;H35=P12;H35=P14;H35=P16;H35=P18;H35=P20;H35=Q8;H35=Q10;H35=Q12;H35=Q14;H35=Q16;H35=Q18;H35=Q20;H35=I35;B35=B36);1;0) , т.е. содержимое ячейки Н35 сравнивается со значениями ячеек Р8-Р20 и Q8-Q20, где записаны значения начала и конца уроков.

hello_html_m2c1ec261.pnghello_html_m2a78abc8.png

Для отключения звонка устройства создадим с помощью панели «Формы» еще один счетчик, настроим ограничения и свяжем его с ячейкой L36

Показания ячейки L36 занесем в ячейку C35






hello_html_7bc2b2f1.png

В ячейку D35запишем формулу =ЕСЛИ(И(C35=1;G35=1);1;0), происходит логическое умножение значения ячеек C35 и G35 (ячейка C35 связана со значением показания счетчика включения устройства, в ячейке G35 содержится результат сравнения текущего времени и заданными данными начала и конца уроков)

Для принудительного включения звонка устройства создадим с помощью панели «Формы» еще один счетчик, настроим ограничения и свяжем его с ячейкой В36 и в содержимое ячейки G35=ЕСЛИ(ИЛИ(H35=P8;H35=P10;H35=P12;H35=P14;H35=P16;H35=P18;H35=P20;H35=Q8;H35=Q10;H35=Q12;H35=Q14;H35=Q16;H35=Q18;H35=Q20;H35=I35;B35=B36);1;0) занесем сравнение B35=B36, предварительно записав в ячейку B35 =1

Из Формулы видно при выполнении условия B35=B36, ячейка G35 примет значение 1, т. е. выполняется условие для включения звонка.

hello_html_36550235.png

Блок схема устройства



Это часть работы выполнена с использованием встроенных в Excel функций, теперь вторая часть с использованием макросов, предварительно разрешаем макросы в Excel.

Текст макроса:



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)

__________________________________________________________________________________________


Private Sub Worksheet_Activate() ' Запуск программы Часы (Clock)

Clock

End Sub

__________________________________________________________________________________________

Sub Clock() 'Часы-подпрограмма

Do While ActiveSheet.Name = "Лист1" 'пока активен "лист1"

If Timer = Int(Timer) Then 'в каждую секунду

Range("B8") = Now() 'в ячейку В8 заносится текущее системное время

If Range("D35") = 1 Then Out &H378, 8 'если значение ячейки D35 равно 1, то по адресу &H378 заносится 8 (00001000)

DoEvents 'делай событие

End If

Out &H378, 0 ' в регистр параллельного порта заносится 0, т.е. стираем нашу 8

Loop

End Sub

Далее описание макросов:

В первой части объявляется библиотека для работы с параллельным портом. В виду того, что не все операционные системы содержат библиотеку, необходимо установить файл inpout32.dll в папку C:\WINDOWS\system32

Во второй части происходит запуск программы Часы (Clock)


И наконец код подпрограммы Clock().


Sub Clock() 'Часы-подпрограмма

Do While ActiveSheet.Name = "Лист1" 'пока активен "лист1"

If Timer = Int(Timer) Then 'в каждую секунду

Range("B8") = Now() 'в ячейку В8 заносится текущее системное время

If Range("D35") = 1 Then Out &H378, 8 'если значение ячейки D35 равно 1, то по адресу &H378 заносится 8 (00001000)

DoEvents 'делай событие

End If

Out &H378, 0 'в регистр параллельного порта заносится 0, т.е. стираем нашу 8

Loop

End Sub

Значение 1 в регистре параллельного порта хранится в течении 1 секунды, и по истечении этого времени она убирается записью в этот регистр 0.( к информации о необходимости в аппаратной части одновибратора).

Подпрограмма Clock проверяет значение ячейки D35, и при выполнении условия ("D35") = 1 появляется сигнал для подачи звонка.



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

В нашей школе для этого устройства применяется компьютер 2001 года выпуска. Он долго не использовался, но был еще в рабочем состоянии. В нашем случае мы применяем возможности 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 и замыкает контакты. Контакты реле подсоединении параллельно кнопке включения звонка и таким образом звонок будет включен в течение времени, определяемого длительностью сигнала одновибратора.




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

hello_html_54372686.png

Хотя есть недорогие китайские реле на 5 Вольт и с контактами на 220 Вольт и током на 10 Ампер. В последующем герконовое реле заменили на это реле. За год эксплуатации он показал себя с лучшей стороны.


Для правильной работы порта необходимо уточнить адреса 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.Заключение.

Это было первое устройство, разработанное в кружке. Оно применялось в школе в течении учебного года. Затем были разработаны такие же устройства с применением языка программирования VB, совмещенное устройство для подачи школьных звонков с функцией автоматического проведения утренней зарядки в школе. В настоящее время для подачи школьных звонков используется устройство на микроконтроллере Atmega 8, также разработанное силами кружковцев. (см. последующие публикации).

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

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

Приложение 1:

Таблица 1 – Функции даты-времени в Microsoft Excel 2007

Функции

Английский эквивалент

 Комментарий

Определения

ТДАТА()

NOW

текущих даты и времени в формате даты и времени

СЕГОДНЯ ()

TODAY

текущей даты в формате даты

Преобразования в код даты-времени MS Excel

ДАТА(гггг;мм;дд)

DATE

из числового формата

ДАТАЗНАЧ("дд.мм.гггг")

DATEVALUE

из текстового формата

ВРЕМЯ (чч;мм;сс)

TIME

из числового формата

ВРЕМЗНАЧ("чч:мм:сс")

TIMEVALUE

из текстового формата

 Выделения из кода

ГОД(дата)

YEAR

года - целое число от 1900 до 9999

МЕСЯЦ(дата)

MONTH

месяца - число от 1 до 12

ДЕНЬ(дата)

DAY

даты месяца - число от 1 до 31

ЧАС(время)

HOUR

часа в виде числа от 0 до 23

МИНУТЫ(время)

MINUTE

минут в виде числа от 0 до 59

СЕКУНДЫ(время)

SECOND

секунд в виде числа от 0 до 59

Вычисления

ДЕНЬНЕД(дата;тип)

WEEKDAY

номера дня недели для заданной даты

ДНЕЙ360(дата1;дата2)

DAYS360

количества дней между датами

ДОЛЯГОДА(дата1;дата2)

YEARFRAC

доли года, между двумя датами

ДАТАМЕС(дата;N)

EDATE

даты, отстоящей от указанной на N месяцев

КОНМЕСЯЦА(дата;N)

EOMONTH

даты последнего дня месяца, отстоящего на N месяцев

НОМНЕДЕЛИ(дата)

WEEKNUM

номера недели года с указанной датой

РАБДЕНЬ(дата;N)

WORKDAY

даты, отстоящей от указанной на N рабочих дней

ЧИСТРАБДНИ(дата1;дата2)

NETWORKDAYS

количество рабочих дней между двумя датами


Приложение 2.

Рези́стор (англ. resistor, от лат. resisto — сопротивляюсь) — пассивный элемент электрической цепи, в идеале характеризуемый только сопротивлением электрическому току, то есть для идеального резистора в любой момент времени должен выполняться закон Ома для участка цепи: мгновенное значение напряжения на резисторе пропорционально току проходящему через него hello_html_45c8b2a4.png.

Светодио́д или светоизлучающий диод (СД, СИД, LED англ. Light-emitting diode) полупроводниковый прибор с электронно-дырочным переходом, создающий оптическое излучение при пропускании через него электрического тока.

Транзи́стор (англ. transistor), полупроводниковый триод радиоэлектронный компонент из полупроводникового материала, обычно с тремя выводами, позволяющий входным сигналом управлять током в электрической цепи. Обычно используется для усиления, генерации и преобразования электрических сигналов.

Симиcтop (симметричный триодный тиристор) или триак (от англ. TRIACtriode for alternating current) — полупроводниковый прибор, являющийся разновидностью тиристоров и используемый для коммутации в цепях переменного тока. В электронике часто рассматривается как управляемый выключатель (ключ).

Реле́ (фр. relais) — электрическое устройство (выключатель), предназначенное для замыкания и размыкания различных участков электрических цепей при заданных изменениях электрических или неэлектрических входных величин. Различают электрические, механические и тепловые реле.

Микросхема к155ла3 представляет собой четыре логических элемента 2И-НЕ.

( логическое умножение и отрицание)

Геркон состоит из герметических магнитно управляемых контактов.

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

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





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


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