DC Motor control using C++
 DC motor control using VC++
 Stepper motor control using VC++
 Industrial DC Motor Control panel
 industrial stepper motor control panel
 remote control for AC Drive
 Traffic control system
 Wireless DC Motor controller
 Wireless Stepper motor controller

~: Code for traffic light control in VC++ :~

void CTimersDlg::OnTimer(UINT nIDEvent)
{
    // TODO: Add your message handler code here and/or call default
    //CTime curTime = CTime::GetCurrentTime();
    //m_stime.Format("%d:%d:%d",curTime.GetHour(),curTime.GetMinute(),curTime.GetSecond());
    int t1,t2,t3;
    CTime t = CTime::GetCurrentTime();
    switch(nIDEvent)
    {
        case ID_CLOCK_TIME:
             m_sclock.Format("%d:%d:%d", t.GetHour(), t.GetMinute(), t.GetSecond());
             if((t.GetHour() == 14) && (t.GetMinute() ==0) && (t.GetSecond() == 0))
               {
    _outp(0x0378,0xAA);
    MessageBox("Yellow lights are ON");
    KillTimer(ID_CLK_TIMR);
    m_ic = 0;
    m_stime.Format("%d",m_ic);
   }
   else if((t.GetHour() == 16) && (t.GetMinute() ==0) && (t.GetSecond() == 0))
   {
    _outp(0x0378,0x00);
    MessageBox("Yellow lights are OFF");
    SetTimer(ID_CLK_TIMR,1000,NULL);
   }
   else if((t.GetHour() == 22) && (t.GetMinute() ==0) && (t.GetSecond() == 0))
   {
    _outp(0x0378,0xAA);
    MessageBox("Yellow lights are ON");
    KillTimer(ID_CLK_TIMR);
    m_ic = 0;
    m_stime.Format("%d",m_ic);
   }
   else if((t.GetHour() == 8) && (t.GetMinute() ==0) && (t.GetSecond() == 0))
   {
    _outp(0x0378,0x00);
    MessageBox("Yellow lights are OFF");
    SetTimer(ID_CLK_TIMR,1000,NULL);
   }
   break;
 case ID_CLK_TIMR:
  {
   if(m_ic != 120) m_ic++;
   else m_ic = 0;
   m_stime.Format("%d",m_ic);
   switch(m_ic)
   {
   case 30:
    _outp(0x0378,0x01);
    MessageBox("LAN 1 is open");
    break;
   case 60:
    _outp(0x0378,0x04);
    MessageBox("LAN 2 is open");
    break;
   case 90:
    _outp(0x0378,0x10);
    MessageBox("LAN 3 is open");    
    break;
   case 120:
    _outp(0x0378,0x40);
    MessageBox("LAN 4 is open");
    break;
   }
  }
 }
 
 UpdateData(FALSE);
 CDialog::OnTimer(nIDEvent);
}

void CTimersDlg::OnStrt()
{
 // TODO: Add your control notification handler code here
 SetTimer(ID_CLK_TIMR,1000,NULL);
}

void CTimersDlg::OnStop()
{
 // TODO: Add your control notification handler code here
 KillTimer(ID_CLK_TIMR);
 m_ic = 0;
 m_stime.Format("%d",m_ic);

}

//void CTimersDlg::OnRed1()
//{
 // TODO: Add your control notification handler code here
 //_outp(0x0378,0x01);
//}

void CTimersDlg::OnGreen1()
{
 // TODO: Add your control notification handler code here
  _outp(0x0378,0x01);
  MessageBox("LAN 1 is open");
}

void CTimersDlg::OnGreen2()
{
 // TODO: Add your control notification handler code here
  _outp(0x0378,0x04);
  MessageBox("LAN 2 is open");
}

void CTimersDlg::OnGreen3()
{
 // TODO: Add your control notification handler code here
  _outp(0x0378,0x10);
  MessageBox("LAN 3 is open");
}

void CTimersDlg::OnGreen4()
{
 // TODO: Add your control notification handler code here
  _outp(0x0378,0x40);
  MessageBox("LAN 4 is open");
}

void CTimersDlg::OnEnbl1()
{
 // TODO: Add your control notification handler code here
 UpdateData(TRUE);
 m_enb2 = FALSE;
 GetDlgItem(IDC_GREEN1)->EnableWindow(FALSE);
 GetDlgItem(IDC_GREEN2)->EnableWindow(FALSE);
 GetDlgItem(IDC_GREEN3)->EnableWindow(FALSE);
 GetDlgItem(IDC_GREEN4)->EnableWindow(FALSE);
 GetDlgItem(IDC_YELLOW1)->EnableWindow(FALSE);
 GetDlgItem(IDC_YELLOW2)->EnableWindow(FALSE);
 GetDlgItem(IDC_YELLOW3)->EnableWindow(FALSE);
 GetDlgItem(IDC_YELLOW4)->EnableWindow(FALSE);
 GetDlgItem(IDC_Manual)->EnableWindow(FALSE); 
 GetDlgItem(IDC_LAN1)->EnableWindow(FALSE);
 GetDlgItem(IDC_LAN2)->EnableWindow(FALSE);
 GetDlgItem(IDC_LAN3)->EnableWindow(FALSE);
 GetDlgItem(IDC_LAN4)->EnableWindow(FALSE);
 GetDlgItem(IDC_Automatic)->EnableWindow(TRUE);
 GetDlgItem(IDC_COUNT)->EnableWindow(TRUE);
 GetDlgItem(IDC_Time)->EnableWindow(TRUE);
 GetDlgItem(IDC_STRT)->EnableWindow(TRUE);
 GetDlgItem(IDC_STOP)->EnableWindow(TRUE);
 SetTimer(ID_CLOCK_TIME, 1000, NULL);
 SetTimer(ID_CLK_TIMR,1000,NULL);
 UpdateData(FALSE);
}

void CTimersDlg::OnEnbl2()
{
 // TODO: Add your control notification handler code here
 UpdateData(TRUE);
 m_enb1 = FALSE;
 GetDlgItem(IDC_GREEN1)->EnableWindow(TRUE);
 GetDlgItem(IDC_GREEN2)->EnableWindow(TRUE);
 GetDlgItem(IDC_GREEN3)->EnableWindow(TRUE);
 GetDlgItem(IDC_GREEN4)->EnableWindow(TRUE);
 GetDlgItem(IDC_YELLOW1)->EnableWindow(TRUE);
 GetDlgItem(IDC_YELLOW2)->EnableWindow(TRUE);
 GetDlgItem(IDC_YELLOW3)->EnableWindow(TRUE);
 GetDlgItem(IDC_YELLOW4)->EnableWindow(TRUE);
 GetDlgItem(IDC_Manual)->EnableWindow(TRUE);
 GetDlgItem(IDC_LAN1)->EnableWindow(TRUE);
 GetDlgItem(IDC_LAN2)->EnableWindow(TRUE);
 GetDlgItem(IDC_LAN3)->EnableWindow(TRUE);
 GetDlgItem(IDC_LAN4)->EnableWindow(TRUE);
 GetDlgItem(IDC_Automatic)->EnableWindow(FALSE);
 GetDlgItem(IDC_COUNT)->EnableWindow(FALSE);
 GetDlgItem(IDC_Time)->EnableWindow(FALSE);
 GetDlgItem(IDC_STRT)->EnableWindow(FALSE);
 GetDlgItem(IDC_STOP)->EnableWindow(FALSE);
 UpdateData(FALSE);
 KillTimer(ID_CLK_TIMR);
 m_ic = 0;
 m_stime.Format("%d",m_ic);
}

void CTimersDlg::OnXit()
{
 // TODO: Add your control notification handler code here
 OnOK();
}

void CTimersDlg::OnStopclk()
{
 // TODO: Add your control notification handler code here
 KillTimer(ID_CLOCK_TIME);
}

void CTimersDlg::OnStrtclk()
{
 // TODO: Add your control notification handler code here
 SetTimer(ID_CLOCK_TIME, 1000, NULL);
}

void CTimersDlg::OnYellow1()
{
 // TODO: Add your control notification handler code here
 _outp(0x0378,0xAA);
 MessageBox("Yellow lights are ON");
}

void CTimersDlg::OnYellow2()
{
 // TODO: Add your control notification handler code here
 _outp(0x0378,0xAA);
 MessageBox("Yellow lights are ON");
}

void CTimersDlg::OnYellow3()
{
 // TODO: Add your control notification handler code here
 _outp(0x0378,0xAA);
 MessageBox("Yellow lights are ON");
}

void CTimersDlg::OnYellow4()
{
 // TODO: Add your control notification handler code here
 _outp(0x0378,0xAA);
 MessageBox("Yellow lights are ON");
}

All the projects are designed and developed by sight owner and they are thoroughly tested by him. ©Copyrights Ashutosh Bhatt 2010. All rights reserved.