*민*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 2
검색어 입력폼
  • [전자과]라인트레이서
    ..FILE:BASE51.Htypedef unsigned char byte;typedef unsigned int word;typedef void (*function_pointer)(void);#define ERROR (-1)#define ON 1#define SET 1#define OK 1#define YES 1#define TRUE 1#define OUT 1#define UP_LOAD 1#define OFF 0#define RESET 0#define NO 0#define NOT 0#define FALSE 0#define NONE 0#define IN 0#define DOWN_LOAD 0#define SPETIAL 2#define SMALL '_'#define BIG '#define RIGHT 1#define LEFT 2#define BOTH 3#define FRONT 11#define BACK 12#define CLEAR_SCREEN 12#define LF 10#define CR 13#define BS 8#define BEEP 7#define COM1 0X03F8#define COM2 0X02F8#define COM3 0X03E8#define COM4 0X02E8#define EVEN 2#define ODD 3#define LEFT_SW 1#define RIGHT_SW 2..FILE:CL8051T.R03..FILE:LINE.JPG..FILE:SCAN.PCX..FILE:SPEED0.H#define BIT_TIME_9600 64#define BIT_TIME_19200 32#define BIT_TIME_38400 16#define JUMP_DELAY 40/*#define START_BIT_TIME_9600 77 : 52 - 103#define START_BIT_TIME_19200 33 : 24 - 43#define START_BIT_TIME_38400 10 : 8 - 11*/#define START_BIT_TIME_9600 (96-JUMP_DELAY)#define START_BIT_TIME_19200 (48-JUMP_DELAY)#define START_BIT_TIME_38400 (4)#define _115200BPS 1#define _38400BPS 1#define _19200BPS 2#define _14400BPS 3#define _9600BPS 4#define PAUSE_TIME 0x2c /*0x2c 0x0e*/#define CARD0_9600_NONE 0x40#define CARD0_19200_NONE 0x20#define CARD0_38400_NONE 0x10#define CARD0_9600_EVEN 0x42#define CARD0_19200_EVEN 0x22#define CARD0_38400_EVEN 0x12#define CARD0_9600_ODD 0x43#define CARD0_19200_ODD 0x23#define CARD0_38400_ODD 0x13#define WAIT_TIME_OUT0 0x300#define WAIT_TIME_OUT 0x60..FILE:TR.BATif exist tr1.a03 del tr1.a03if exist tr1.HEX del tr1.HEXecho offclsif exist tr1.c goto compilegoto nook:compileecho *** Compile...c-51 tr1 -mt -e -g -L -q -s -K -P -t4 -a tr1if exist tr1.r03 goto linkgoto nook:linkecho *** Link...xlink tr1 -f tr1goto out:nookecho *** Error !:out..FILE:TR.C#include #include #include void delay1(word delay_time) /* 딜레이를 길게할때 */{word loop0,loop1;for(loop0 = 0; loop0 < delay_time; loop0++){for(loop1 = 0; loop1 < PAUSE_TIME; loop1++);}}void delay0(char delay_time) /* 딜레이를 작게할때 */{char loop0;for(loop0 = 0; loop0 < delay_time; loop0++){}}#define LED0 P3.0 /* LED 0번 PORT 설정 */#define LED1 P3.1 /* LED 1번 PORT 설정 */#define LED2 P3.2 /* LED 2번 PORT 설정 */#define FIRE0 P1.2 /* 발광센서 0번 PORT 설정 */#define FIRE1 P1.3 /* 발광센서 1번 PORT 설정 */#define FIRE2 P1.4 /* 발광센서 2번 PORT 설정 */#define IN0 P1.5 /* 수광센서 0번 PORT 설정 */#define IN1 P1.6 /* 수광센서 1번 PORT 설정 */#define IN2 P1.7 /* 수광센서 2번 PORT 설정 */#define IN_BYTE P1 /* 입력값의 PROT 설정 */#define FIRE_ON 1 /* 센서의 변수설정 */#define FIRE_OFF 0 /* 센서의 변수설정 */#define LED_ON 0 /* LED의 변수설정 */#define LED_OFF 1 /* LED의 변수설정 */#define LMOTOR P3.4 /* 좌측모터 PORT 설정 */#define RMOTOR P3.5 /* 우측모터 PORT 설정 */#define S000 0x00 /* 수광부의 센서의 입력값에 따른 변수설정 */#define S001 0x01#define S010 0x02#define S011 0x03#define S100 0x04#define S101 0x05#define S110 0x06#define S111 0x07#define TURBO P1.0 /* 터보의 PORT 설정 */void main(void){char count0; /* 변수설정 */char sensor; /* 변수설정 */char prev_data; /* 변수설정 */char left,right; /* 변수설정 */char max_count; /* 변수설정 */LMOTOR = RMOTOR = 0;FIRE0 = FIRE1 = FIRE2 = FIRE_OFF; /* 센서를 전부 OFF */LED0 = LED1 = LED2 = LED_OFF; /* LED를 전부 OFF */for(count0 = 0; count0 < 3; count0++) /* 처음에 스위치를 ON 하면 */{ /* 전방 적색LED 3번 깜박임 */LED0 = LED_ON;LED2 = LED_OFF;delay1(200);LED0 = LED_OFF;LED2 = LED_ON;delay1(200);}LED0 = LED1 = LED2 = LED_OFF; /* LED를 전부 OFF */prev_data = 0;while(1){FIRE0 = FIRE1 = FIRE2 = 1; /* 센서를 모두 ON */delay0(20);sensor = IN_BYTE; /* 센서의 값을 읽음 */FIRE0 = FIRE1 = FIRE2 = 0; /* 센서를 모두 OFF */sensor >>= 5; /* 센서의 값을 5bit 쉬프트 */sensor = ~sensor; /* 센서의 값을 보수를 취함 */LED0 = LED1 = LED2 = LED_OFF; /* LED를 전부 OFF */if(sensor & 0x01) LED0 = LED_ON; /* 센서의값에 따라 LED를 ON */if(sensor & 0x02) LED1 = LED_ON;if(sensor & 0x04) LED2 = LED_ON;sensor &= 0x07; /* 상위bit 0으로 만듬 */if(sensor == S000) sensor = prev_data;/*센서가 어떠한 값도 들어오지 */switch(sensor) /* 않으면 먼저의 값을 기억 */{case S000: /* 센서가아무것도 감지하지 않는 경우 *//* 왼쪽로 회전 */left = 2;right = 0;break;case S001: /* Q1이 감지되면 왼쪽으로 회전 */left = 3;right = 0;prev_data = sensor;break;case S010: /* Q2가 감지되면 왼쪽,오른쪽이 함께 회전 */left = 3;right = 3;prev_data = sensor;break;case S011: /* Q1,Q2가 감지되면 왼쪽:2,오른쪽:1이 회전 */left = 2;right = 1;prev_data = sensor;break;case S100: /* Q3가 감지되면 오른쪽으로 회전 */left = 0;right = 3;prev_data = sensor;break;case S101: /* Q1,Q3이 감지되면 오른족으로 회전 */left = 2;right = 0;break;case S110: /*Q2,Q3가 감지되면 왼쪽:1,오른쪽:2이 회전 */left = 1;right = 2;prev_data = sensor;break;case S111: /* Q1,Q2,Q3가 감지되면 왼쪽으로 회전 */left = 2;right = 0;break;default: /* case이외의 값을 취할 때 */for(count0 = 0; count0 < 5; count0++){LED0 = LED1 = LED2 = LED_ON;delay1(100);LED0 = LED1 = LED2 = LED_OFF;delay1(100);}break;}if(TURBO) /* 터보의 값을 확인(터보인 경우) */{left
    프로그램소스| 2004.01.04| 15페이지| 1,000원| 조회(500)
    미리보기
  • [전자과] 마이크로 마우스 주행 알고리즘 평가A+최고예요
    마이크로 마우스 주행 알고리즘(Algorithm)도착점●?출발기본 4X4 미로마우스는 기본적으로 한 블록씩 주행한다. 『주행알고리즘』이란 마우스가 미로에서 주행할 때, 다음에 갈 방향을 판단해 주는 방법을 말하며,빨리 목표 지점을 찾아가거나 빠른 길을 찾기 위해서 현재 블록에서 다음에 어느 블록으로 갈지 판단하는 방법을말한다. 현재까지 탐색을 통해 알아낸 여러 자료(벽의 유무)를 종합해서 다음에 갈 방향을 결정하고, 2차 주행을 위해 다시 출발점으로 되돌아오는 등의 방법이 모두 주행 알고리즘에 포함된다.기본적으로 마우스의 주행은 현재 블록에서 앞?뒤 블록, 좌?우 블록으로 움직인다.현재 위치에서 다음에 가야할 블록을 판별해서 가야할 블록으로 움직이고, 다시 같은 일을 반복하는 것이 마우스가 움직이는 방법이다.즉, 주행 알고리즘에서는 현재 위치와 현재 마우스가 가고있는 방향, 미로에서의 벽 정보(알고있는 벽과 모르는 벽) 등으로 다음에 갈 방향을 판별만 해 주면 된다.주행 알고리즘에는 크게 목표지점을 빨리 찾아가기 위한 알고리즘과 2차주행을 위한 최단경로를 찾는 알고리즘이 있다.목표 지점을 찾아가기 위한 알고리즘은 좌?우수법, 확장 좌?우수법, 구심법등이 있고, 루프테스트, 등고선 법, 최단거리 탐색 알고리즘 등은 목표와 최단거리의 탐색에 모두 쓰일수 있다.보통 마우스의 주행 알고리즘은 위의 여러 알고리즘을 조합하여 사용한다.완주를 위해서는 다음의 3 과정이 필요하다.1.미로 탐색 → 2.최단경로 계산 → 3.최단경로 주행좌수법과 우수법좌수법이란 미로의 왼쪽 벽에 왼손을 접촉하면서 미로를 진행하는 방법이고우수법이란 미로의 오른쪽 벽에 오른손을 접촉하면서 미로를 진행하는 방법이다.예를 들어 좌수법을 이용한다면시 작NO목표지점?주행 끝.NO왼쪽 벽 유무왼쪽 블록으로 간다.NO앞쪽 벽 유무앞쪽으로 간다.NO오른쪽 벽 유무오른쪽 블록으로 간다.NOU-턴(180도 회전)NO이 방법으로 미로를 주행하면 다음과 같은 경로를 얻게 된다.도착점●?출발확장 좌수법아일랜드형 미로(섬모양)에서는 좌수법으로는 절대 통과 할 수가 없다. 이러한문제점을 개선하여 루프를 반복해서 주행하지 않도록 한 것이 확장 좌수법이다.도착점●?출발확장 좌수법의 기본적인 우선 순위는 좌수법의 경우와 같다.일반적인 좌수법의 우선 순서대로 벽의 유무를 체크하다가 벽이 없다면 그 블록을 전에 방문했던 곳인지 검사한다. 주행한 적이 없다면 그쪽으로 진행한다. 만약 주행했었다면 한가지 조건을 더 검사하는데 전에 지나갔던 방향과 지금 진입하려는 방향이 서로 반대인 경우에만 그쪽으로 진행한다. 과거에 진행했던 방향과 반대가 되지 않는다면 루프에 빠진다는 것을 의미하기 때문이다.도착점●?출발이를 구현하기 위해서는 블록인지의 여부와 주행 방향을 기억하는 배열이 필요하다visit_block[4][4]이것을 0으로 초기화 하고 해당블록을 빠져나갈 때의 방향을 저장해 놓는다.그 블록의 주행 여부는 이 값이 0인가 아닌가로 판별할 수 있다. 만일 (1,2)를 동쪽으로 지나갔다면 아래와 같이 해당 좌표에 방향을 써 놓으면 된다.visit_block[1][2]=EAST (EAST는 0이 아닌 값이다.)주행 경로를 보게 되면 NNNEEESSWSEWWNSENNW가 되게 된다.일반적으로 확장좌수법으로 골에는 도달할 수 있지만 최단 경로를 찾지는 못한다.우수법, 확장 우수법우수법 및 확장 우수법은 위의 방법과 동일하다.다만 우선 순위가 오른쪽 → 가운데 → 왼쪽의 순이다.구심법구심법은 좌수법에 비해 효율적인 알고리즘으로 가운데 중심을 향하여 주행하는 것을 말한다. 주행 우선 순위를 결정하기 위해서는 각 블록에서 중심까지의 거리를 의미하는 구심 테이블이 필요하다.****************************************************1110987655*************098765445**************************98*************98*************78*************567*************5678*************7898*************91098***************************************0987655****************************************************11121314여기에는 목표지점인 4개 블록 (7,7),(7,8),(8,7),(8,8)의 값은 0으로 되어 있고 각 블록마다 골까지의 거리를 나타내는 값이 저장되어 있다. 이 값들을 본통 무게값(Weight)라고 하는데 값이 적을수록 중심과의 거리가 가까우므로 우선 순위가 높다고 할 수 있다. 구심법의 경우에는 테이블에 따라 그 우선순위가 정해지게 된다. 구심테이블은 임의로 만들어 줄 수 있는데 이것에 따라 탐색 우선 순위가 바뀌게 된다.765876987다음과 같은 경우 마우스는 무게값이 적은쪽으로 진행하게 된다. 그러나 N쪽(위쪽)과 E쪽(오른쪽)의 무게값이 6으로 같다. 이런 경우 직진하는 것이 오른쪽으로 회전하는 것보다 유리하므로 직진을 선택하는 편이 좋다.구심법 루틴은 다음과 같이 표현될 수 있다.byte weight[256]; //무게값(weight)을 저장하는 변수byte min=255; //초기 무게값은 255byte temp_w,temp_dir; //임시 무게값과 방향을 저장하는 변수for(i=0;i
    공학/기술| 2004.01.04| 18페이지| 1,000원| 조회(1,943)
    미리보기
전체보기
받은후기 2
2개 리뷰 평점
  • A+최고예요
    1
  • A좋아요
    1
  • B괜찮아요
    0
  • C아쉬워요
    0
  • D별로예요
    0
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 17일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
11:16 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감