Далее будет предложено выбрать путь к каталогу программы, по умолчанию программа устанавливается в каталог «C:\Program Files\Termo»
Сразу после выбора каталога установки, начнется процесс копирования файлов программы и создание ярлыков в главном меню.
После копирования, программа предложит перезагрузить компьютер для запуска драйвера PortIO. Можно это сделать позже в ручную.
После перезагрузки можно начинать работать с программой.
При первом запуске программа выведет соответствующее сообщение с предложением настроить параметры.
Необходимо открыть окно с настройками и ввести адрес игрового порта и порта LPT, эти значения вы можете узнать, открыв свойства нужного порта. Нужно перевести первое значение диапазона ввода вывода в десятичный формат.
Так же необходимо обязательно запустить программу калибровки нажатием кнопки "Калибровка", при этом программа термоконтроллера завершит свою работу, сохранив настройки в файле. Остальные параметры можно настроить по необходимости или оставить по умолчанию. При смене датчика, компьютера, звуковой карты, требуется повторная калибровка программы.
Для определения точности показаний прибора, было проведено тестирование, которое заключалось в измерении температуры эталонным градусником. Результаты тестирования представлены в таблице 1. В качестве эталонного градусника был использован спиртовой стеклянный термометр типа ТБ-38М.
Номер опыта |
Эталонный градусник, °C |
Термоконтроллер, °C |
Опыт 1 (температура холодной воды) |
5 |
5 |
Опыт 2 (температура горячей воды) |
50 |
50 |
Опыт 3 (комнатная температура) |
24 |
24 |
Опыт 4 (температура человеческого тела) |
36,6 |
36 |
Опыт 5 (температура на улице) |
18 |
18 |
Проанализировав данные таблицы, можно сказать о достаточно высоком показателе точности для данного прибора, которая составит ±1°С, то есть равен цене деления шкалы прибора.
подпрограмма сравнения температур и изменения режимов:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
// Считываем значение с заданного аналогового входа игрового порта
Temperature = GamePort::ReadBitCoord(StrToInt(Edit2->Text));
// Преобразовываем это значение в температуру
double Temper = (1/((1/(float(t1)+273.0))+(1/beta)*log(Temperature/float(Rt1))))-273;
Temperature=(int)Temper;
// Новое изображение типа TBitmap
Graphics::TBitmap* tbit = new Graphics::TBitmap;
tbit->Width=16; // Ширина картинки
tbit->Height=16; // Высота картинки
tbit->PixelFormat = pf24bit; // Формат изображения
tbit->TransparentMode = tmFixed; // Прозрачность определена вручную
tbit->TransparentColor = clWindow; // Цвет прозрачности
// Если температура > 0, то пишем красным цветом, иначе синим
tbit->Canvas->Font->Color=(Temperature>=0)?clRed:clBlue;
tbit->Canvas->Font->Size = 10; // Размер шрифта
// Печатаем абсолютное значение температуры в картинку
tbit->Canvas->TextOutA(0,0,IntToStr(abs(Temperature)));
ImageList1->Clear(); // Очищаем список картинок
// Добавляем нашу картинку в список
TrayIcon1->SetIconIndex(ImageList1->Add(tbit, tbit));
// Удаляем картинку
tbit->Free();
if(StrToInt(Edit6->Text)>StrToInt(Edit7->Text))
{
// охлаждение
if(Temperature>=StrToInt(Edit6->Text))
{
Shape1->Brush->Color = clGreen;
LptPort::WriteBitCoord(StrToInt(Edit4->Text));
}
else if(Temperature<=StrToInt(Edit7->Text))
{
Shape1->Brush->Color = clRed;
LptPort::ClearBitCoord(StrToInt(Edit4->Text));
}
}
else
{
// нагрев
if(Temperature<=StrToInt(Edit6->Text))
{
Shape1->Brush->Color = clGreen;
LptPort::WriteBitCoord(StrToInt(Edit4->Text));
}
else if(Temperature>=StrToInt(Edit7->Text))
{
Shape1->Brush->Color = clRed;
LptPort::ClearBitCoord(StrToInt(Edit4->Text));
}
}
}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.