소개글
제어과 학생입니다졸작용으로 이번에 만든 졸작 작품입니다
사용환경은 비쥬얼 c++6.0입니다
무선통신 암로봇에 모니터 프로그램입니다
스크롤바를 움직일때마다 opengl써서 그림이 따라 움직이게 만들었습니다
그리고 무선통신이 되게 데이터도 날려줍니다.
물론 하드없이도 이모니터 프로그램 자체로만으로도
괜찮은 작품입니다
이번에 과에서 졸작 1등한 작품입니다
많이 유용하게 쓰세요
주석도 달아났습니다 전체 프로그램 10000라인정도됩니다.
컴파일 실행환경
비쥬얼 c++6.0실행방법
압축을 풀고 Robot.dsw 를 실행시켜주세요
사용방법
모니터 프로그램 화면에 통신시작 버튼을 먼저 눌러주십시요(실제 통신은 안해도 눌러주어야함 안눌러주면 에러 남)
그다음 자동 모드와 수동모드로 크게 나눌수있는데
수동모드 조작방법
1. 통신초기화.
2. 각 관절 수동 조작.
3. 출발위치 저장&전송.
4. 각 관절 수동 조작.
5. 도착위치 저장&전송.
6. 횟수입력&전송.
7. 실행.
자동모드 조작방법
1. 통신초기화.
2. 출발 각도, 거리, 높이 입력.
3. 관절 이동각도 계산&전송.
4. 도착 각도, 거리, 높이 입력
5. 관절 이동각도 계산&전송.
6. 횟수입력&전송.
7. 실행.
본문내용
void CRobotFormView::OnInitialUpdate(){
CFormView::OnInitialUpdate();
CRobotDoc* pDoc = GetDocument();
m_Num = 0;
m_first1 = m_first1;
m_first2 = m_first2;
m_first3 = m_first3;
m_first4 = m_first4;
m_first5 = m_first5;
m_last1 = 0;
m_last2 = 0;
m_last3 = 0;
m_last4 = 0;
m_last5 = 0;
// TODO: Add your specialized code here and/or call the base class
// 스크롤바들의 한계치를 결정한다.
m_srlRotateX.SetScrollRange(VIEW_MIN, VIEW_MAX);
m_srlRotateY.SetScrollRange(VIEW_MIN, VIEW_MAX);
m_srlRotateZ.SetScrollRange(VIEW_MIN, VIEW_MAX);
m_srlAngle1.SetScrollRange(0, 180);
m_srlAngle2.SetScrollRange(5, 140);
m_srlAngle3.SetScrollRange(-150, -30);
m_srlAngle4.SetScrollRange(-60, 60);
m_srlAngle7.SetScrollRange(0, 22);
// 스크롤의 초기 위치를 결정한다.
m_srlRotateX.SetScrollPos((int)pDoc->m_fRotX);
m_srlRotateY.SetScrollPos((int)pDoc->m_fRotY);
m_srlRotateZ.SetScrollPos((int)pDoc->m_fRotZ);
m_srlAngle1.SetScrollPos((int)pDoc->m_linkFactor[0].fAngle);
m_srlAngle2.SetScrollPos((int)pDoc->m_linkFactor[1].fAngle);
m_srlAngle3.SetScrollPos((int)pDoc->m_linkFactor[2].fAngle);
m_srlAngle4.SetScrollPos((int)pDoc->m_linkFactor[3].fAngle);
m_srlAngle7.SetScrollPos((int)pDoc->m_linkFactor[4].fAngle);
// 데이터를 갱신한다.
OnUpdate(NULL, NULL, NULL);
}
void CRobotFormView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
// TODO: Add your specialized code here and/or call the base class
CRobotDoc* pDoc = GetDocument();
// 초기값을 출력한다.
m_strAngle1.Format("%4.0f",pDoc->m_linkFactor[0].fAngle);
m_strAngle2.Format("%4.0f",pDoc->m_linkFactor[1].fAngle);
m_strAngle3.Format("%4.0f",pDoc->m_linkFactor[2].fAngle+90);
m_strAngle4.Format("%4.0f",pDoc->m_linkFactor[3].fAngle);
m_strAngle7.Format("%4.0f",pDoc->m_linkFactor[4].fAngle);
m_strRotateX.Format("%4.0f",pDoc->m_fRotX);
m_strRotateY.Format("%4.0f",pDoc->m_fRotY);
m_strRotateZ.Format("%4.0f",pDoc->m_fRotZ);
double sub_j1 = atoi(m_strAngle1);
double sub_j2 = atoi(m_strAngle2);
double sub_j3 = atoi(m_strAngle3);
double sub_j4 = atoi(m_strAngle4);
int height11= get_height(sub_j2,sub_j3,sub_j4);
int length11= get_length(sub_j2,sub_j3,sub_j4);
int angle11=sub_j1;
m_calAngle.Format("%d", angle11);
m_calLength.Format("%d", length11); // INT를 CSTRING으로 변환
m_calHeight.Format("%d", height11);
SetDlgItemText(IDC_CALANGLE, m_calAngle);
SetD<font color=aaaaff>..</font>
압축파일 내 파일목록
Comm.cpp
Comm.h
gitae.h
HelpMe.txt
MainFrm.cpp
MainFrm.h
MATH.H
ReadMe.txt
resource.h
Robot.aps
Robot.clw
Robot.cpp
Robot.dsp
Robot.dsw
Robot.exe
Robot.h
Robot.ncb
Robot.opt
Robot.plg
Robot.rc
Robot.reg
RobotDoc.cpp
RobotDoc.h
RobotFormView.cpp
RobotFormView.dsp
RobotFormView.dsw
RobotFormView.h
RobotFormView.ncb
RobotFormView.opt
RobotFormView.plg
RobotView.cpp
RobotView.h
StdAfx.cpp
StdAfx.h
SubClassing.cpp
WINDOWS.H
Debug/RobotFormView.obj
Debug/RobotFormView.pch
Debug/RobotFormView.pdb
Debug/vc60.idb
Debug/vc60.pdb
res/Robot.ico
res/Robot.rc2
res/RobotDoc.ico
res/Thumbs.db
res/Toolbar.bmp
Comm.h
gitae.h
HelpMe.txt
MainFrm.cpp
MainFrm.h
MATH.H
ReadMe.txt
resource.h
Robot.aps
Robot.clw
Robot.cpp
Robot.dsp
Robot.dsw
Robot.exe
Robot.h
Robot.ncb
Robot.opt
Robot.plg
Robot.rc
Robot.reg
RobotDoc.cpp
RobotDoc.h
RobotFormView.cpp
RobotFormView.dsp
RobotFormView.dsw
RobotFormView.h
RobotFormView.ncb
RobotFormView.opt
RobotFormView.plg
RobotView.cpp
RobotView.h
StdAfx.cpp
StdAfx.h
SubClassing.cpp
WINDOWS.H
Debug/RobotFormView.obj
Debug/RobotFormView.pch
Debug/RobotFormView.pdb
Debug/vc60.idb
Debug/vc60.pdb
res/Robot.ico
res/Robot.rc2
res/RobotDoc.ico
res/Thumbs.db
res/Toolbar.bmp