로그인 | 회원가입 | 주문 조회
총 10,743개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
2463 답변완료3축 가속도 센서 플러스 모듈 질문 진승훈 2009-03-14 1,449
3축 가속도 센서 플러스 모듈를 이용하여 http://blog.naver.com/ascbbs/40023024959 위의 동영상과 같이 숫자 인식을 만들려고 합니다. 최종 목표는 모션인식하여 리모콘을 만드는 것입니다. 3축 가속도 센서 + atmega128를 활용할려고 합니다. 인식하는게 가능한가요
관리자 답변 N.T.C · 2009-03-14
안녕하세요? 네, 가능합니다. 우선, 3축 가속도 센서 예제인 자료실의 윈도우 예제에서 AVRside라는 부분을 가지고, X, Y, Z 값을 각각 받아서, 윈도에서 모션별로 저장해 보세요. 어떤, 숫자마다 특징이 있을 겁니다. 그 특징을 가지고 인식하면 됩니다. 물론, 하는 동안에 얼마나 잘 그 특징을 파악하고, 공식화 하는 가가 이슈겠습니다. 그걸 잘하면, 빨리 완성하게 될겁니다. 다른 방법은, 그 데이터를 패턴도로 저장하고, 패턴 유사성을 따지는 겁니다. 일단 생각에는 서로 다른 속도로 그리는 것도 감안할 수도 있겠습니다. 그런 것까지 감안하려면, 움직임부터 멈춤까지의 동작을 대략 10등분 정도로 하고, 그 값들을 평균을 내서, 10가지의 값이 일치하는 정도의 %를 따져서만 해도 될 것 같네요. 수고하세요. >3축 가속도 센서 플러스 모듈를 이용하여 >http://blog.naver.com/ascbbs/40023024959 >위의 동영상과 같이 숫자 인식을 만들려고 합니다. >최종 목표는 모션인식하여 리모콘을 만드는 것입니다. >3축 가속도 센서 + atmega128를 활용할려고 합니다. >인식하는게 가능한가요 >
2462 답변완료엔코더 신호를 받고 싶어요... 전은철 2009-03-13 1,367
DC 모터 엔코더 부분에서 신호가 올 때 마다 인터럽트를 걸고 printf 등으로 모터 회전 수 등을 찍어주고 싶은데 그것과 관련된 예제파일 같은것 없을까요??? 감사합니다.
관리자 답변 N.T.C · 2009-03-13
안녕하세요....고객님... 저희 회사에서는 아직 엔코더가 달린 DC모터는 판매하고 있지 않습니다. 구입하신 모터 회사에서 문의하세요. 감사합니다. >DC 모터 엔코더 부분에서 신호가 올 때 마다 >인터럽트를 걸고 printf 등으로 모터 회전 수 등을 찍어주고 싶은데 >그것과 관련된 예제파일 같은것 없을까요??? > >감사합니다.
2461 답변완료AM-IRS4D에서 수광부 반응속도 정경석 2009-03-13 1,305
AM-IRS4D에서 수광부의 반응속도를 알고싶습니다.
관리자 답변 N.T.C · 2009-03-13
안녕하세요...고객님... 최대 500 [us]까지는 가능합니다. 감사합니다. >AM-IRS4D에서 수광부의 반응속도를 알고싶습니다.
2460 답변완료회로도를 구하고 싶습니다. 박평주 2009-03-13 1,382
현재 NTC에서 판매되고 있는 보드와 모듈 등을 사용하여 제작하고자 하는 프로그램을 구현하고 있습니다. 지금까지는 테스트로서 모듈을 연결하여 사용하였지만 이제 하나의 보드에 모듈의 필요한 부분만을 사용하려고 합니다. 자료실이나 강좌에 없는 모듈에 대해 회로도를 구하고 싶은데 메일로 보내주실 수 있으신지요. 그리고 한가지 더, 12V 스테핑 모터를 12V 제어 모듈에 연결하면 구동이 안되나요? 강좌에서는 4V를 권장하고 있네요. 필요한 회로도의 모듈 모델은 다음과 같습니다. 스테핑 모터 구동모듈 AM-CS2P Relay 전원공급 보드 AM-RB04-B 스위치 보드 AM-TS8 LT 적외선 센서 모듈(디지털 4Ch) AM-IRS4D 3축 가속도 센서 플러스 모듈 AM-3AXIS-P 그럼 답신 기다리겠습니다. 안녕히계세요.
관리자 답변 N.T.C · 2009-03-13
안녕하세요...고객님... 저희 회사에서는 공개해도 된다고 판단된 회로도는 모두 공개하고 있으며 공개되지 않은 회로도는 공개할 수 없다고 판단된 회로도입니다. 공개된 모든 회로도는 자료실 =>> 기존자료실에서 '회로도'로 검색하시면 찾을 수 있습니다. 12V 스테핑 모터면 드라이브 전원부에 12V 공급해 주시면 됩니다. 감사합니다. >현재 NTC에서 판매되고 있는 보드와 모듈 등을 사용하여 >제작하고자 하는 프로그램을 구현하고 있습니다. > >지금까지는 테스트로서 모듈을 연결하여 사용하였지만 >이제 하나의 보드에 모듈의 필요한 부분만을 사용하려고 합니다. > >자료실이나 강좌에 없는 모듈에 대해 회로도를 구하고 싶은데 >메일로 보내주실 수 있으신지요. > > >그리고 한가지 더, 12V 스테핑 모터를 12V 제어 모듈에 연결하면 구동이 > >안되나요? 강좌에서는 4V를 권장하고 있네요. > > >필요한 회로도의 모듈 모델은 다음과 같습니다. > >스테핑 모터 구동모듈 AM-CS2P > >Relay 전원공급 보드 AM-RB04-B > >스위치 보드 AM-TS8 > >LT 적외선 센서 모듈(디지털 4Ch) AM-IRS4D > >3축 가속도 센서 플러스 모듈 AM-3AXIS-P > > >그럼 답신 기다리겠습니다. > >안녕히계세요.
2459 답변완료ATMega128트레이닝 풀키트 CD 배준성 2009-03-13 1,427
직접구입하진 않았지만 풀키트를 (케이스포함) 가지고있는데요 구매기록 말고 딴방법으로 CD 자료를 구할수는 없는건가요?
관리자 답변 N.T.C · 2009-03-13
안녕하세요...고객님... 어떤 자료가 필요하신가요? 대부분의 자료는 자료실에서 검색하시면 가능합니다. 또한 ATMega128트레이닝 풀키트는 구버젼이랑 신버젼에 차이가 있기에 소스또한 다릅니다. 직접 찾아오시면 CD를 드릴께요. 감사합니다. >직접구입하진 않았지만 > >풀키트를 (케이스포함) 가지고있는데요 > >구매기록 말고 딴방법으로 CD 자료를 구할수는 없는건가요? > > > > >
2458 답변완료그래픽 lcd 출력 관련 문의요... 탁탁이 2009-03-12 1,437
Serial LCD 모듈 (2*16)(AM-SLCD216) 이거 쓰는데요.. 제가 쓸주 아는게 avr studio 밖에 없어서 이걸로 쏘스를 짜고 있는데요. 온도값 : xxx 조도값 : xxx 이렇게 계속 변환 값을 표현하고 싶은데.. 어떻게 해야할까요.. 일딴 xxx/xx 로 온도값과 조도값을 표시하고 있는데 이러면 보기가싫으니......... 지금은 1초에 한번 값을 표시하기 때문에 xxx/xx/xxx/xx/xxx/xx 이렇게 계속 뒤에 줄줄줄 뜨거든요.. 화면을 지우고 xxx/xx 이값만 표시 하거나 아니면 처음 질문처럼 온도값: xx 조도값: xxx 이렇게 표현하려면 어떻게 해야하나요? 제가 짠 쏘스입니다... #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> volatile int count=0, s=0,mode=0; volatile int i=0,choice=0, a, b, c, d, e; unsigned char jodo,ondo; void timer0_init(); void adc_init(); //void adc_init(); void init_PORT(); void usart_init(); void interrupt_init(); void sencor_init(); int hex2asc(int m); void main(void) { timer0_init(); init_PORT(); adc_init(); usart_init(); interrupt_init(); sei(); while(1) { } } void timer0_init(void) { TIMSK=0x01; TCCR0=0x07; } void interrupt_init(void) { EIMSK=0xE0; EICRB=0xA8; } void adc_init(void) { //PORTF=0xfa; // ADMUX=0x20; //aref단자로 입력된전압 5v 좌측정렬 ADCSRA=0xfb; //enable, free,128분주 ADCSRA|=0x40; //or 시작 } /*void adc2_init(void) { DDRF=0xFB; ADMUX=0x22; ADCSRA=0xF3; ADCSRA|=0x40; }*/ void init_PORT(void) { // DDRB=0xFF; DDRC=0xFF; DDRA=0xFF; DDRD=0xFE; //usart1 // PORTD=0xFE; DDRE=0xED; //usart0 } void usart_init(void) { UCSR1A=0x00; UCSR1B=0x18; UCSR1C=0x06; UBRR1H=0x00; UBRR1L=0x67; } //////////// 아스키값으로 변환 함수//////////// int hex2asc(int m) { return m+0x30; } void sencor_init(void) { //////////////////조도값 출력//////////// //UDR1=hex; while(!(UCSR1A&0x20)); UDR1=hex2asc(a); while(!(UCSR1A&0x20)); UDR1=hex2asc(b); while(!(UCSR1A&0x20)); UDR1=hex2asc(c); while(!(UCSR1A&0x20)); UDR1='/'; UCSR1A |=0x20; //i=0; //////////////////온도값 출력////////////////// //UDR1=hex; while(!(UCSR1A&0x20)); UDR1=hex2asc(d); while(!(UCSR1A&0x20)); UDR1=hex2asc(e); while(!(UCSR1A&0x20)); UDR1='/'; UCSR1A |=0x20; //i=0; } ///////////타이머 카운터///////////// ISR(TIMER0_OVF_vect) { TCNT0=0xFF-0x83; //0x7c count++; if(count==0x7d) { ////////조도 온도 출력제어///// if(mode==0){ ADMUX=0x20; mode=1;} else if(mode==1){ ADMUX=0x22; mode=0;} count=0; s++; } if(s==1) { sencor_init(); s=0; } } ISR(ADC_vect) { ////////////조도센서 adc0사용/////////// if(ADMUX==0x20) { DDRF=0xFE; jodo=ADCH; a=jodo/100; b=(jodo%100)/10; c=jodo%10; if(jodo>=210) PORTC=0x01; else if(190<=jodo) PORTC=0x00; } /////////////온도센서 adc2사용////////////// if(ADMUX==0x22) { DDRF=0xFB; ondo=ADCH; ondo/=5.1; //온도를 50도까지만 표현 d=ondo/10; e=ondo%10; if(ondo>28) PORTA=0x02; else if(ondo<24) PORTA=0x00; } }
관리자 답변 N.T.C · 2009-03-13
안녕하세요...고객님... 저희가 소스까진 봐드리지 않습니다. 컴퓨터로 uart통신 해보셨나요? printf()문을 사용하면 쉽게 구현 가능합니다. 조도값과 온도값을 저장하는 전역변수를 하나씩 선언해서 printf()문으로 포멧을 맞춰주면 됩니다. printf("\\r\\n 조도값 : %d, 조도값변수); printf("\\r\\n 온도값 : %d, 온도값변수); 이렇게 하시면 좀 더 보기쉽게 가능할것 같습니다. 해보시고 또 질문주세요. 그리고, 앞으로 본명으로 질문 부탁드립니다. 감사합니다. >Serial LCD 모듈 (2*16)(AM-SLCD216) 이거 쓰는데요.. >제가 쓸주 아는게 avr studio 밖에 없어서 이걸로 쏘스를 짜고 있는데요. >온도값 : xxx >조도값 : xxx >이렇게 계속 변환 값을 표현하고 싶은데.. 어떻게 해야할까요.. >일딴 xxx/xx 로 온도값과 조도값을 표시하고 있는데 >이러면 보기가싫으니......... >지금은 1초에 한번 값을 표시하기 때문에 >xxx/xx/xxx/xx/xxx/xx 이렇게 계속 뒤에 줄줄줄 뜨거든요.. >화면을 지우고 xxx/xx 이값만 표시 하거나 >아니면 처음 질문처럼 온도값: xx > 조도값: xxx 이렇게 표현하려면 어떻게 해야하나요? >제가 짠 쏘스입니다... > >#include <avr/io.h> >#include <util/delay.h> >#include <avr/interrupt.h> >volatile int count=0, s=0,mode=0; >volatile int i=0,choice=0, a, b, c, d, e; > >unsigned char jodo,ondo; >void timer0_init(); >void adc_init(); >//void adc_init(); >void init_PORT(); >void usart_init(); >void interrupt_init(); >void sencor_init(); >int hex2asc(int m); >void main(void) >{ > timer0_init(); > init_PORT(); > adc_init(); > usart_init(); > interrupt_init(); > sei(); > while(1) > { > > } >} > >void timer0_init(void) >{ > TIMSK=0x01; > TCCR0=0x07; >} > >void interrupt_init(void) >{ > EIMSK=0xE0; > EICRB=0xA8; >} > >void adc_init(void) >{ > //PORTF=0xfa; >// ADMUX=0x20; //aref단자로 입력된전압 5v 좌측정렬 > ADCSRA=0xfb; //enable, free,128분주 > ADCSRA|=0x40; //or 시작 >} > >/*void adc2_init(void) >{ > DDRF=0xFB; > ADMUX=0x22; > ADCSRA=0xF3; > ADCSRA|=0x40; >}*/ > >void init_PORT(void) >{ >// DDRB=0xFF; > DDRC=0xFF; > DDRA=0xFF; > DDRD=0xFE; //usart1 >// PORTD=0xFE; > DDRE=0xED; //usart0 >} > >void usart_init(void) >{ > UCSR1A=0x00; > UCSR1B=0x18; > UCSR1C=0x06; > UBRR1H=0x00; > UBRR1L=0x67; >} >//////////// 아스키값으로 변환 함수//////////// >int hex2asc(int m) >{ > return m+0x30; >} > >void sencor_init(void) >{ > //////////////////조도값 출력//////////// > //UDR1=hex; > while(!(UCSR1A&0x20)); > UDR1=hex2asc(a); > while(!(UCSR1A&0x20)); > UDR1=hex2asc(b); > while(!(UCSR1A&0x20)); > UDR1=hex2asc(c); > while(!(UCSR1A&0x20)); > UDR1='/'; > UCSR1A |=0x20; > //i=0; > //////////////////온도값 출력////////////////// > //UDR1=hex; > while(!(UCSR1A&0x20)); > UDR1=hex2asc(d); > while(!(UCSR1A&0x20)); > UDR1=hex2asc(e); > while(!(UCSR1A&0x20)); > UDR1='/'; > UCSR1A |=0x20; > //i=0; > >} >///////////타이머 카운터///////////// >ISR(TIMER0_OVF_vect) >{ > > TCNT0=0xFF-0x83; //0x7c > count++; > if(count==0x7d) > { > ////////조도 온도 출력제어///// > if(mode==0){ > ADMUX=0x20; > mode=1;} > else if(mode==1){ > ADMUX=0x22; > mode=0;} > count=0; > s++; > } > if(s==1) > { > sencor_init(); > s=0; > } > >} >ISR(ADC_vect) >{ >////////////조도센서 adc0사용/////////// > if(ADMUX==0x20) > { DDRF=0xFE; > jodo=ADCH; > a=jodo/100; > b=(jodo%100)/10; > c=jodo%10; > if(jodo>=210) > PORTC=0x01; > else if(190<=jodo) > PORTC=0x00; > } >/////////////온도센서 adc2사용////////////// > if(ADMUX==0x22) > { DDRF=0xFB; > ondo=ADCH; > ondo/=5.1; //온도를 50도까지만 표현 > d=ondo/10; > e=ondo%10; > if(ondo>28) > PORTA=0x02; > else if(ondo<24) > PORTA=0x00; > } >} >
2457 답변완료SE-3T9 전은철 2009-03-12 1,463
SE-3T9 으로 시리얼 통신 하려는데 휴우.. 계속 죄송합니다;;; 그림과 같이 연결했고 SE-3T9 시리얼 케이블 (길이 2미터) 오류 정정 방법 이라는 글에서 나와있는대로 선도 다시 이었습니다;;; 그런데도 안되네요.. ㅠ_ㅠ 여전히 Unable to detect STK500 device 라고 뜹니다;;; ㅎㅎ 좋은하루 되세요
관리자 답변 N.T.C · 2009-03-13
안녕하세요..고객님.. STK500은 프로그램을 Write할 때 쓰는 프로토콜이구요. SE-3T9 시리얼 케이블은 시리얼 통신용이지 stk500과는 무관합니다. ad-usbisp 는 연결하셨나요? 기타 설정(타겟 MCU및 ISP설정) 다시 한번 확인하시기 바랍니다. 수고하세요 >SE-3T9 으로 시리얼 통신 하려는데 >휴우.. 계속 죄송합니다;;; > >그림과 같이 연결했고 > >SE-3T9 시리얼 케이블 (길이 2미터) 오류 정정 방법 >이라는 글에서 나와있는대로 선도 다시 이었습니다;;; > >그런데도 안되네요.. ㅠ_ㅠ > >여전히 >Unable to detect STK500 device >라고 뜹니다;;; ㅎㅎ > >좋은하루 되세요
2456 답변완료USB-ISP 로 printf 실행 관련된 문제입니다. 전은철 2009-03-12 1,446
ㅎㅎ 계속 답변 감사합니다. stdio.h include 시켜줬고 다른 거를 할 때는 잘 되는데 printf 만 하려고 하면 에러가 나네요 아마 int putchar(char c) { if (_textmode && c == '\\n') putchar('\\r'); /* Wait for empty transmit buffer */ while ( !(UCSR0A & (1<<UDRE0)) ) ; /* Putting data into buffer , sends the data */ UDR0 = c; return c; } 여기에서 잘못 된것 같은데. 밑에 전체 소스 첨부합니다. 감사합니다. /// // ICC-AVR application builder // Target : M128 // Crystal: 16Mhz #include <iom128v.h> #include <macros.h> #include <stdio.h> extern int _textmode; int putchar(char c) { if (_textmode && c == '\\n') putchar('\\r'); /* Wait for empty transmit buffer */ while ( !(UCSR0A & (1<<UDRE0)) ) ; /* Putting data into buffer , sends the data */ UDR0 = c; return c; } void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x03; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x00; PORTG = 0x00; DDRG = 0x03; } //call this routine to initialize all peripherals void init_devices(void) { //stop errant interrupts until set up CLI(); //disable all interrupts XDIV = 0x00; //xtal divider XMCRA = 0x00; //external memory port_init(); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x00; //timer interrupt sources ETIMSK = 0x00; //extended timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } void delay(int dd) { int i, j; for(i=0; i<dd; i++){ for(j=0; j<500; j++){ } } } #define MOTOR_PORT PORTC #define MOTOR_DDR DDRC #define PWM1_ON (MOTOR_PORT|=0x01) #define PWM1_OFF (MOTOR_PORT&=0xFE) #define DIR1_ON (MOTOR_PORT|=0x02) #define DIR1_OFF (MOTOR_PORT&=0xFD) #define ENABLE1_OFF (MOTOR_PORT|=0x04) #define ENABLE1_ON (MOTOR_PORT&=0xFB) #define BREAK1_ON (MOTOR_PORT|=0x08) #define BREAK1_OFF (MOTOR_PORT&=0xF7) #define LED_PORT PORTG // ATMega16 보드의 PORTB의 포트에 연결된 LED가 깜빡거립니다. void main(void){ int i,d, count = 1; init_devices(); printf("test\\n"); MOTOR_DDR = 0xff; ENABLE1_ON; while(1) { LED_PORT = 0x01; DIR1_ON; for(d=0;d<10;d++) { for(i=0;i<1000;i++){ PWM1_ON; delay(10-d); PWM1_OFF; delay(d); } if(d==2) BREAK1_ON; } BREAK1_OFF; LED_PORT = 0x02; DIR1_OFF; for(d=0;d<10;d++) { for(i=0;i<1000;i++){ PWM1_ON; delay(10-d); PWM1_OFF; delay(d); } } } }
관리자 답변 N.T.C · 2009-03-12
안녕하세요....고객님.. 아래 문장을 추가하라고 했는 데요. 내용이 변경되었네요. 어떤 용도로 if (_textmode && c == '\\n') putchar('\\r'); 문을 추가했는지 이해 하기가 어렵네요. putchar();문안에 자기 자신을 포함시킨다면 무한 루프에 빠지기때문에 AVR에서는 함수안에 자기자신을 포함시키는 재귀함수는 허용하지 않습니다. 또한 putchar()함수는 한번에 한 바이트만 처리합니다. 어떤 용도로 추가했는지 알려주시면 새로운 방법을 제시해 드리겠습니다. 감사합니다. // printf 함수 사용시 추가할 것. int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = c; return c; } >ㅎㅎ 계속 답변 감사합니다. >stdio.h include 시켜줬고 다른 거를 할 때는 잘 되는데 >printf 만 하려고 하면 에러가 나네요 > >아마 > >int putchar(char c) > { > if (_textmode && c == '\\n') > putchar('\\r'); > /* Wait for empty transmit buffer */ > while ( !(UCSR0A & (1<<UDRE0)) ) > ; > /* Putting data into buffer , sends the data */ > UDR0 = c; > return c; > } > >여기에서 잘못 된것 같은데. >밑에 전체 소스 첨부합니다. 감사합니다. > >/// > > >// ICC-AVR application builder >// Target : M128 >// Crystal: 16Mhz > >#include <iom128v.h> >#include <macros.h> >#include <stdio.h> > >extern int _textmode; > >int putchar(char c) > { > if (_textmode && c == '\\n') > putchar('\\r'); > /* Wait for empty transmit buffer */ > while ( !(UCSR0A & (1<<UDRE0)) ) > ; > /* Putting data into buffer , sends the data */ > UDR0 = c; > return c; > } > >void port_init(void) >{ > PORTA = 0x00; > DDRA = 0x00; > PORTB = 0x00; > DDRB = 0x00; > PORTC = 0x00; //m103 output only > DDRC = 0x03; > PORTD = 0x00; > DDRD = 0x00; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x00; > PORTG = 0x00; > DDRG = 0x03; >} > >//call this routine to initialize all peripherals >void init_devices(void) >{ > //stop errant interrupts until set up > CLI(); //disable all interrupts > XDIV = 0x00; //xtal divider > XMCRA = 0x00; //external memory > port_init(); > > MCUCR = 0x00; > EICRA = 0x00; //extended ext ints > EICRB = 0x00; //extended ext ints > EIMSK = 0x00; > TIMSK = 0x00; //timer interrupt sources > ETIMSK = 0x00; //extended timer interrupt sources > SEI(); //re-enable interrupts > //all peripherals are now initialized >} > >void delay(int dd) >{ > int i, j; > for(i=0; i<dd; i++){ > for(j=0; j<500; j++){ > } > } >} > >#define MOTOR_PORT PORTC >#define MOTOR_DDR DDRC >#define PWM1_ON (MOTOR_PORT|=0x01) >#define PWM1_OFF (MOTOR_PORT&=0xFE) >#define DIR1_ON (MOTOR_PORT|=0x02) >#define DIR1_OFF (MOTOR_PORT&=0xFD) >#define ENABLE1_OFF (MOTOR_PORT|=0x04) >#define ENABLE1_ON (MOTOR_PORT&=0xFB) >#define BREAK1_ON (MOTOR_PORT|=0x08) >#define BREAK1_OFF (MOTOR_PORT&=0xF7) >#define LED_PORT PORTG > >// ATMega16 보드의 PORTB의 포트에 연결된 LED가 깜빡거립니다. >void main(void){ > int i,d, count = 1; > init_devices(); > > printf("test\\n"); > > MOTOR_DDR = 0xff; > ENABLE1_ON; > > while(1) > { > LED_PORT = 0x01; > DIR1_ON; > for(d=0;d<10;d++) > { > for(i=0;i<1000;i++){ > PWM1_ON; > delay(10-d); > PWM1_OFF; > delay(d); > } > if(d==2) BREAK1_ON; > } > BREAK1_OFF; > LED_PORT = 0x02; > DIR1_OFF; > > for(d=0;d<10;d++) > { > for(i=0;i<1000;i++){ > PWM1_ON; > delay(10-d); > PWM1_OFF; > delay(d); > } > } > > > } >}
2455 답변완료모터 구동관련 다시 질문 전은철 2009-03-11 1,370
ㅎㅎ 밑에 알려주신대로 모터를 구동해봤는데 모터가 그냥 베터리에 연결했을 때 보다 느리게 돌아가네요 ㅎㅎ 아마도 보드에 베터리를 연결해야 하는 것 같은데 <img src ="http://jsharp.cafe24.com/aa.jpg"> 그림에서 1번으로 되어있는 부분에 베터리를 연결하고 2번이라고 되어있는 부분에 모터를 연결하는게 맞나요??
관리자 답변 N.T.C · 2009-03-12
안녕하세요? 잘 사용하신 것 같네요. 하지만, 모터 구동부를 쓰게 되면, 전압 강하가 0.3V 정도 되기 때문에, 아무래도 약간 느리게 돌아갈겁니다. 모터 스펙에 따라 차이가 많이 날 수도 있겠지만, 매우 큰 차이는 나지 않을 것으로 생각합니다. 직접 연결하게 되면, 아무래도 역기전력이 넘어 올 수도 있고, 전류 증폭 면에서도 문제가 생기게 되지요. 1번 부분에 베터리 연결하는 게 아니구요. 베터리 연결은 빨간색, 검정색 연결하신 2핀 커넥터 쪽에 전원을 주는 게 맞습니다. 2번 이라고 하신 약간 노란 커넥터와 1번이라고 하신 초록 커넥터 옆에 있는 초록 커넥터는 같은 핀이구요. 즉, 오른쪽 두개는 같은 커넥터인데 모양만 다른 두가지 타입을 연결할 수 있도록 해 둔 것이구요. 왼쪽 두개도 마찬가지 입니다. 즉, 모터 두개를 연결할 수 있도록 만든거지요. 수고하세요. >ㅎㅎ 밑에 알려주신대로 >모터를 구동해봤는데 모터가 그냥 베터리에 연결했을 때 보다 >느리게 돌아가네요 ㅎㅎ >아마도 보드에 베터리를 연결해야 하는 것 같은데 > ><img src ="http://jsharp.cafe24.com/aa.jpg"> > >그림에서 1번으로 되어있는 부분에 베터리를 연결하고 >2번이라고 되어있는 부분에 모터를 연결하는게 맞나요??
2454 답변완료AVR Studio 4.13 번역 메뉴얼 있는지요? 임동빈 2009-03-11 1,446
안녕하세요.. AVR Studio 4.13 사용자를 위한 번역 메뉴얼을 어디서 볼 수 있는지요? 프로그램 내용을 이해하기가 어려워 응용할 수가 없어서 그렇습니다. 만약, 번역된 것이 없고 영문으로 읽어야 한다면, AT89S51 에 hex file 을 write 하기 위해서 어디서 어떤 chapter 을 읽으면 되는지 알려 주시면 감사드리겠습니다.
관리자 답변 N.T.C · 2009-03-12
안녕하세요? NewTC를 이용하여 주셔서 감사합니다. AVR Studio 메뉴얼은 없지만, 아래를 참고하면 89S51에 write 할 수 있을 겁니다. Q&A에서 89S 라고 검색하면 다른 참고들도 많이 나옵니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=qna&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=89S&select_arrange=headnum&desc=asc&no=6533 수고하세요. >안녕하세요.. >AVR Studio 4.13 사용자를 위한 번역 메뉴얼을 어디서 볼 수 있는지요? >프로그램 내용을 이해하기가 어려워 응용할 수가 없어서 그렇습니다. >만약, 번역된 것이 없고 영문으로 읽어야 한다면, AT89S51 에 hex file 을 >write 하기 위해서 어디서 어떤 chapter 을 읽으면 되는지 알려 주시면 >감사드리겠습니다.
2453 답변완료시리얼포트를 이용 디버깅하기 오류 이상호 2009-03-11 1,392
강좌에 제공된 소스를 사용하여 AM-M128-B에 적용하였는데 아래와 같은 오류가 발생하였습니다. 어떻게 해야 하나요? 다른 소스는 퓨징이 되는데 왜 이것안되는지? ------------------------------------------------------------------------ C:\\iccv7avr\\bin\\imakew -f EX_PRINTF.mak iccavr -o EX_PRINTF -g -e:0x20000 -ucrtatmega.o -bfunc_lit:0x8c.0x20000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:30 -beeprom:0.4096 -fihx_coff -S2 @EX_PRINTF.lk -lcatm128 !ERROR Function 'putchar' not defined. This is a hardware dependent function, and it is not included in the ICCAVR default library. Please implement this function to match your target requirements. You can find examples of this function under the <install root>\\examples.AVR directory. Make a copy of a suitable example, add it to your project and modify it if needed. The source code must #include the appropriate C header file (e.g. stdio.h) as it contains the special compiler pragma for 'putchar'. C:\\iccv7avr\\bin\\imakew.exe: Error code 1 Done: there are error(s). Exit code: 1. Wed Mar 11 18:43:22 2009 ------------------------------------------------------------------------
관리자 답변 N.T.C · 2009-03-12
안녕하세요? 저희 NewTC를 이용하여 주셔서 감사합니다. ICCAVR이 6.xx 일 때는 그냥 printf만 쓰면 되었는 데, 7.xx 이상에서는 아래와 같이 putchar나 getchar를 재정의해주어야 합니다. 물론, stdio.h도 인클루드 해야 하구요. 아래 내용을 소스에 갖다 붙이면 될겁니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=faq&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=21 수고하세요. >강좌에 제공된 소스를 사용하여 AM-M128-B에 적용하였는데 >아래와 같은 오류가 발생하였습니다. >어떻게 해야 하나요? >다른 소스는 퓨징이 되는데 왜 이것안되는지? > >------------------------------------------------------------------------ >C:\\iccv7avr\\bin\\imakew -f EX_PRINTF.mak > iccavr -o EX_PRINTF -g -e:0x20000 -ucrtatmega.o -bfunc_lit:0x8c.0x20000 -dram_end:0x10ff -bdata:0x100.0x10ff -dhwstk_size:30 -beeprom:0.4096 -fihx_coff -S2 @EX_PRINTF.lk -lcatm128 >!ERROR Function 'putchar' not defined. This is a hardware dependent function, > and it is not included in the ICCAVR default library. Please implement > this function to match your target requirements. You can find examples > of this function under the <install root>\\examples.AVR directory. Make > a copy of a suitable example, add it to your project and modify it if > needed. The source code must #include the appropriate C header file > (e.g. stdio.h) as it contains the special compiler pragma for 'putchar'. > >C:\\iccv7avr\\bin\\imakew.exe: Error code 1 >Done: there are error(s). Exit code: 1. Wed Mar 11 18:43:22 2009 >------------------------------------------------------------------------ >
2452 답변완료AVR용 USB-ISP 라이트 V02 관련 정원홍 2009-03-11 1,406
AVR용 USB-ISP 라이트 V02 관련해서 저희가 AVR Studio V1.15를 사용하는데. 혹시 호환되는지 해서요.
관리자 답변 N.T.C · 2009-03-11
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 혹시, AVR Studio V4.15 아닌가요? 4.15에서도 물론 사용 가능합니다. 감사합니다. >AVR용 USB-ISP 라이트 V02 관련해서 저희가 AVR Studio V1.15를 사용하는데. >혹시 호환되는지 해서요.
2451 답변완료ATMega128 Pro 개발키트(완제품) KD-128PRO-C 사용시 문제에 관해 문의 드립니다.. 최영태 2009-03-11 1,428
수고 많으십니다~~ 저희가 작년 부터 엘레파츠에서 ATMega128 Pro 개발키트(완제품) KD-128PRO-C 키트를 사서 사용하고 있는데요.. 않습니다..모든 설정은 맞는거 같은데.. 아래 그림 파일을 첨부하였는데.. 키드내의 칩에 에러가 떠서 다운로딩이 되지 않습니다..그리고 키트 내에 D101, D02에 노란불이 두개 뜨네요;; 지금 칩만 6~7개째 바꿔서 사용하는데.. 이번에 사용하니 또 그래서..원인을 알고자 문의 드립니다.. 문제점과 해결 방법을 가르쳐주셨으면 합니다
관리자 답변 N.T.C · 2009-03-11
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 어떤 ISP를 사용하시는 지, 사용하는 코드 비전의 버전은 어떻게 되는 지 궁금합니다. 일단, 아래에 자주 일어나는 조치 사항이 있으니, 참고 바라구요. 좀 더 자세한 정보를 알려 주시면, 대답해 드리겠습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=faq&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=23 수고하세요. >수고 많으십니다~~ > >저희가 작년 부터 엘레파츠에서 ATMega128 Pro 개발키트(완제품) KD-128PRO-C 키트를 사서 사용하고 있는데요.. >않습니다..모든 설정은 맞는거 같은데.. >아래 그림 파일을 첨부하였는데.. 키드내의 칩에 에러가 떠서 다운로딩이 되지 않습니다..그리고 키트 내에 D101, D02에 노란불이 두개 뜨네요;; >지금 칩만 6~7개째 바꿔서 사용하는데.. > >이번에 사용하니 또 그래서..원인을 알고자 문의 드립니다.. >문제점과 해결 방법을 가르쳐주셨으면 합니다
2450 답변완료 DIP SW 1, 2용도 김종석 2009-03-11 1,395
안녕하십니까 귀사의 무궁한 번영과 임직원 모두의 건강을 기원합니다. USB-ISP 라이트(AD-USBISP-L V02)를 구입했는데 DIP SW 1 과 2의 용도를 알려주세요 09.03.12
관리자 답변 N.T.C · 2009-03-11
안녕하세요...고객님.. 저희 NewTC 제품을 이용해 주셔서 감사합니다. DIP SW 1번은 펌웨어 업그레이드 용으로 고객님께서는 항상 OFF상태로 두시면 됩니다. 그리고 DIP SW 2번은 USB전원을 타겟보드에 인가할때 사용하는 것으로 타겟보드에 다른 확장 보드가 연결되어 있지 않다면 , 또는 단순히 프로그램만 다운로드 한다면 타겟보드에 따로 전원을 인가하는 번거로움 없이 바로 USB전원으로 사용할 수 있습니다. 언제라도 궁금한 점 있으면 바로 질문 주세요. 감사합니다. > 안녕하십니까 > > 귀사의 무궁한 번영과 임직원 모두의 건강을 기원합니다. > > USB-ISP 라이트(AD-USBISP-L V02)를 구입했는데 > > DIP SW 1 과 2의 용도를 알려주세요 > > 09.03.12
2449 답변완료모터 구동관련 질문 드립니다. 전은철 2009-03-11 1,451
모터는 D&J IG42GM w/EC 모터입니다. http://dnj.co.kr/_data/2_dcgm/ecig_spec_ig42e2c0102.htm 첨부한 사진에서와 같이 AM-DC2-2D를 가지고 모터를 제어하려고 하는데 어떻게 모터를 연결해야 할지 모르겠네요;;; 답변주세요. 감사합니다.
관리자 답변 N.T.C · 2009-03-11
안녕하세요? 고객님, 저희 NewTC 제품을 이용하여 주셔서 감사합니다. 이용하시려는 모터는 들어가서 스펙을 보니, J1의 1번 2번이 각각 -, + 이구요. 이 선들을 각각 모터 구동부의 모터 연결 커넥터에 연결하시면 되구요. J2는 홀센서 인데요. 몇바퀴 돌았나 등을 알아볼 수 있도록 엔코더 비슷하게 붙여 놓은 것입니다. J2는 AVR에 직접 붙이면 될 것 같은데, 메인보드의 다른 10핀 포트에 아래와 같이 연결하시고 프로그램 짜세요. J2의 1번은 VCC인 박스헤더9번핀에 J2의 2번은 박스헤더10번핀에 각각 연결하고, J2의 3번, 4번은 각각 박스헤더1번,2번에 연결하고, 프로그램 짜시면 될 것 같습니다. 수고하세요. >모터는 D&J IG42GM w/EC 모터입니다. >http://dnj.co.kr/_data/2_dcgm/ecig_spec_ig42e2c0102.htm > >첨부한 사진에서와 같이 AM-DC2-2D를 가지고 >모터를 제어하려고 하는데 >어떻게 모터를 연결해야 할지 모르겠네요;;; >답변주세요. 감사합니다.