
Роль белков в питании
Источниками белков в питании являются пищевые продукты животного и растительного происхождения: мясо, молоко, рыба, яйца, хлеб, крупа, а также овощи и фрукты.
Роль витаминов в питании
Роль витаминов в питании чрезвычайно велика, как и все пищевые вещества, они совершенно необходимы организму и имеют большое значение в процессах обмена веществ.
Роль воды в питании
Ни одна живая клетка не может существовать без воды. Вода входит в состав всех органов и тканей организма. Организм взрослого человека на 60-65% состоит из воды.Преобразование полученных данных
После обмена данными с АЦП происходит преобразование считанных данных в одно целое число, характеризующее уровень сигнала на входе АЦП. Т.к. АЦП имеет 10 разрядов это число принимает значения от 0 до 1023. Вычисление его происходит по формуле:
где N - искомое число; data - двоичное 8-ми разрядное значение, полученное путем считывания 8-ми старших разрядов кода; data9 - значение девятого разряда кода; data10 - значение десятого разряда кода.
С целью максимальной гибкости программы, существует возможность ее настройки для возможности инверсной подачи сигнала на вход АЦП. При этом все в программе остается без изменений, кроме формулы вычисления N, которая изменяется следующим образом:
.
Фактически, в данном случае, инверсия подаваемого сигнала как бы компенсируется операцией инверсии выходного кода, а все остальное в программе работает так же, как если бы входной сигнал не инвертировался.
Затем необходимо преобразовать полученное число в значение угла поворота гантрии . Этот угол преобразуется в угол
, удобный для сравнения с углами запуска и остановки программы захвата видеопоследовательности, которые также после их ввода преобразуются в удобный формат. Это действия осуществляются по следующим формулам.
1. Если :
2. Если :
где: - определенное при настройке программы значение выходного кода, вырабатываемого АЦП, когда гантрия симулятора находится в положении 0 градусов;
- количество градусов в одном отсчете АЦП (этот параметр также определяется при настройке программы).
5.3 Запуск и остановка управляемой программы
Полученное по вышеприведенным формулам значение угла сравнивается с заданными величинами запуска и остановки. Программа обеспечивает запуск сканирования при проходе установленного значения запуска в направлении установленного значения остановки. Например, если угол запуска равен 270 градусам, а угол остановки - 90 градусам, то стартовое сообщение управляемая программа примет при проходе гантрией угла 270 градусов в направлении 260 градусов; а сообщение об остановке будет сгенерировано при проходе угла 90 градусов в направлении к 80 градусам. В других случаях (другое направление вращения гантрии) ничего не произойдет. Для осуществления этих действий необходимо применение эффективного алгоритма, позволяющего производить все необходимые действия за кратчайшее время. Это нужно для сведения к минимуму времени захвата системных ресурсов разрабатываемой программой, с целью минимальных помех программе захватывающей видеопоследовательность.
Другая проблема заключалась в активизации и остановке программы захвата видеопоследовательности. Данная программа поставляется как программное обеспечение видеобластера, и, соответственно нет никакой возможности подогнать ее под разрабатываемую программу. Следовательно, необходимо подстраивать под нее разрабатываемую программу.
Программа захвата видеопоследовательности для запуска и остановки захвата выводит окно (см. рис. 5.1).
В окне присутствуют две кнопки: "Ok" и "Cancel". При щелчке мышью на кнопке "Ok" происходит начало захвата видеопоследовательности, остановка захвата происходит при щелчке на кнопке "Cancel". Кроме того щелчок по кнопке "Ok" эквивалентен нажатию клавиши "Enter", а результат щелчка по кнопке "Cancel" соответствует результату при нажатии клавиши "Escape". Из этого следует вывод о единственно возможном решении поставленной задачи: необходимо каким-либо программным способом сэмулировать нажатие кнопок в окне или клавиш на клавиатуре. Кнопки в диалоговом окне возможно нажать лишь путем посылки им сообщений с помощью функции API Windows SendMessage. Эта функция имеет несколько следующие параметры: hWnd - дескриптор окна которому посылается сообщение; Msg - вид посылаемого сообщения, в данном случае он равен wm_KeyDown. [13] Однако применение этой функции представляет затруднения: необходимо определять дескриптор окна, которому посылается сообщение. Более простым и эффективным способом является эмуляция нажатия клавиш на клавиатуре. Единственным способом это сделать является использование слабо документированной функции Windows - keybd_event. Функция имеет четыре параметра: bVk - виртуальный код клавиши, bscan - скан код клавиши, dwFlags - значения, определяющие варианты использования функции, dwExtraInfo - дополнительные данные, ассоциированные с функцией. Эта функция непосредственно вызывается клавиатурным драйвером после нажатия на клавишу, при этом, а также при попытке применить данную функцию без параметров, она считывает необходимые ей данные из стека. При использовании функции в разрабатываемой программе ей передается единственный параметр - виртуальный код клавиши, а остальные параметры обнуляются. Виртуальный код клавиши устанавливается в значение vk_Return, при эмуляции нажатия на Enter, и vk_Escape, при эмуляции нажатия на Escape.