Программно зажигаем светодиод на определенное время.
Интересный пример работы с COM портом из Delphi. Программа, которая будет управлять светодиодом, будет включать светодиод и выключать через определенное время,… (Простое реле времени своими руками).
Нам понадобятся:
- Компьютер или ноутбук с OS Windows, оснащенный COM портом. Можно воспользоваться специальным переходником — конвертером USB/COM например таким:
- Девятиконтактный комовский разьем — «мама»;
- Собственно сам светодиод;
- Паяльник, флюс, припой;
- Берем комовский разьем «мама» и припаиваем к его контактам №3 и №5 светодиод, (плюсовую ножку диода к контакту №3, минусовую к №5), должно получиться примерно как на картинке ниже:
- Вставляем получившийся девайс в имеющийся на вашей машинке COM порт и переходим к программной части;
- Запускаем Delphi, создаем новый проект и размещаем на форме следующие компоненты: 1 компонент Сombobox, 1 Edit и 1 Button, и настраиваем примерно так:
- В разделе Var создаем глобальную переменную JRHandle тип Thandle (JRHandle: Thandle);
- В строки items компонента Combobox, вбиваем цифры от 1 до 9, по одной в каждую строку, при помощи него мы будем выбирать номер COM порта для подключения;
- Дважды кликнув на Button1, создаем для него обработчик событий, где между, прописываем следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
begin JRHandle := CreateFile(PChar('com'+ Combobox1.text),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED, 0); // Создание и открытие файла; if JRHandle=INVALID_HANDLE_VALUE then ShowMessage('Выбранный порт не найден на этом компьютере'); //Проверка на обнаружение СОМ порта; SetCommBreak(JRHandle); //Прерываем связь, приводим передачу в разорванное состояние - логический нуль (Высокий уровень сигнала); sleep(StrToInt(Edit1.Text)); //Удержание прерывания; ClearCommBreak(JRHandle); //Сброс состояния прерывания - восстанавливает передачу данных - логическая единица (опять в низкий уровень сигнала); CloseHandle(JRHandle); //Закрытие порта; end; |
- Заходим в диспетчер устройств Windows (Мой компьютер-Свойства-Диспетчер устройств) находим раздел Порты (COM и LPT).
- Кликаем на нем и запоминаем номер который присвоен системой нашему COM порту (в моем случае это COM6), после мы будем выбирать его из списка портов нашего Combobox.
- Запускаем наш проект, выбираем из списка номер нашего порта, в Edit вбиваем время задержки в миллисекундах, например 20000, нажимаем «OK». Светодиод ярко засияет, и погаснет ровно через 20 секунд.