мои пять копеек:
для работы с ком-портом в .net начиная с 2.0 есть замечательный неймспейс System.IO.Ports (ух как же я радовался когда он появился в 2.0 до этого приходилось извращаться)
как уже правильно написали — рабочее напряжение ком порта это +-12в. причем +12в это логический 0, а -12в это логическая 1. т.е. физически +5 у можно получить только используя внешнее железо:
вариант1: тут я рекомендую посмотреть в сторону микросхем max232 или аналог adm232 это стандартный преобразователь уровней, часто используемый электронщиками, производителями сотовых телефон да вообще много кем.
вариант2: собрать ЦАП из одного конденсатора и резистора и реализовывать ШИМ на какой либо ноге.
теперь по поводу чем можно управлять.
непосредственно управлять в ком-порте можно всего двумя сигналами это: DTR и RTS. в .net.system.io.ports они выставляются примерно таким кодом:
SerialPort sp1 = new SerialPort(«COM1»);
sp1.Open();
sp1.DtrEnable = false;
sp1.RtsEnable = true;
но если сильно извратиться и подумать головой, поиграться с настройками порта (такими как стоп-старт биты и четность) и постоянно посылая данные в порт можно добиться управления еще и ногой TX (особым извращением было делать ШИМ на ноге TX ;)
вот примерно как-то так.