로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
9173 답변완료제품 구입신청 전에 개인적인 질문입니다. 오세진 2015-05-15 1,408
ATmega128 학습용 USB V2.0 보드 Serial LCD 420 모듈 (4 * 20) AM-TS8 이렇게 뉴티씨 제품을 구입할 예정인데요. 혹시 저 3 제품을 만능기판이나 빵판에 납땜까지 해주시나요 ? 아니면 따로 주문제작을 신청해야하나요. 개인적으로 구매해서 저 3부품으로 보드를 제작해서 실험해볼려고 합니다만 납땜을 해본적이 없어서 납땜도 해주시는지 안해주지만 추가비용 드리면 해주시는지 궁금합니다. 즉 저 3부품을 한보드에 장착시켜서 전원 공급 하면 작동시키게 할려는 생각입니다. 답변해주시길 바랍니다.
관리자 답변 관리자 · 2015-05-16
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 질문에 답변 드리겠습니다. 저희가 땜을 해드리거나 하지는 않습니다. 저희 제품은 완성된 제품으로 땜을 하지 않아도 동작합니다. 즉, 서로 케이블로만 연결하면 동작합니다. SLCD는 메인보드와 4핀-4핀 Direct 케이블로 동작하구요. TS8과 메인보드는 2x5 박스케이블로 동작합니다. SLCD를 구매하면 4핀-4핀 다이렉트 케이블은 들어 있구요. SE-2X520 박스케이블도 함께 구매하시면 보다 편리하게 동작시킬 수 있습니다. 감사합니다. > > > ATmega128 학습용 USB V2.0 보드 > > Serial LCD 420 모듈 > (4 * 20) > > AM-TS8 > > 이렇게 뉴티씨 제품을 구입할 예정인데요. > > 혹시 저 3 제품을 만능기판이나 빵판에 납땜까지 해주시나요 ? > > 아니면 따로 주문제작을 신청해야하나요. > > 개인적으로 구매해서 저 3부품으로 보드를 제작해서 실험해볼려고 합니다만 > > 납땜을 해본적이 없어서 납땜도 해주시는지 안해주지만 추가비용 드리면 해주시는지 궁금합니다. > > 즉 저 3부품을 한보드에 장착시켜서 전원 공급 하면 작동시키게 할려는 생각입니다. > > 답변해주시길 바랍니다. >
9172 답변완료AM-3AXIS-P V03를 샀고 예제 소스를 이용해 코딩을 했습니다. 최정민 2015-05-14 1,416
밑에 함수가 받은 소스를 이용해 포트 A에 연결된 LED로 출력을 하는 함수로 했고 가속도 센서는 포트 F로 꽂았습니다. 포트에 10개 다 연결하는 걸로 연결해 5v가 들어갔습니다. 헌데 final 0, 2, 4 포트에서 나오는 값이 310, 310, 4번은 깨져서 나오고 3.3v로 연결해야하나 해서 3.3v로 연결했을때는 206,206,깨져서 나옵니다. 160정도가 나와야되는데 문제가 있나요/?? /************************************************************************************************ Compiler : Codevision : 2013-04-02 오후 5:03:53 Target : M128 Crystal: 16.000MHz AM-3AXIS (Accellation sensor) Control Application Made by NEWTC Co., Ltd. in Korea. DAEWOO RYU Email : [email protected] 82-2-704-4774(TEL), 82-2-704-4733(FAX) http://www.newtc.co.kr ************************************************************************************************/ #include <mega128.h> #include <stdio.h> #include <delay.h> #include <string.h> #include <math.h> #asm .equ __lcd_port = 0x1B; #endasm #include <lcd.h> /************************************************************************************************ * 함수 선언 * ************************************************************************************************/ void Swap(volatile unsigned int *a, volatile unsigned int *b); void Sort0(void); void Sort2(void); void Sort4(void); void port_init(void); void sys_init(void); void init_devices(void); void delay(int n); void get_adc_data(void); char sbuf[20]; /************************************************************************************************ * 변수 선언 * ************************************************************************************************/ volatile static unsigned char buf[10]; volatile unsigned int ch0, ch2, ch4; volatile unsigned int data0[10], data2[10], data4[10]; volatile unsigned int sum0, sum2, sum4; volatile unsigned int Final0, Final2, Final4; /************************************************************************************************ * Sorting 및 swap 함수 선언 * ************************************************************************************************/ void Sort0(void) { int i, j; for (i=0; i<10; i++) { for (j=i+1; j<11; j++) { if (data0[i] > data0[j]) Swap(&data0[i], &data0[j]); } } } void Sort2(void) { int i, j; for (i=0; i<10; i++) { for (j=i+1; j<11; j++) { if (data2[i] > data2[j]) Swap(&data2[i], &data2[j]); } } } void Sort4(void) { int i, j; for (i=0; i<10; i++) { for (j=i+1; j<11; j++) { if (data4[i] > data4[j]) Swap(&data4[i], &data4[j]); } } } void Swap(volatile unsigned int *a, volatile unsigned int *b) { volatile unsigned int tmp=*a; *a=*b; *b=tmp; } /************************************************************************************************ * 변수 초기화 함수 * ************************************************************************************************/ void sys_init(void){ int i; ch0 = 0; ch2 = 0; ch4 = 0; for(i=0;i<10;i++){ buf[i] = 0; data0[i] = 0; data2[i] = 0; data4[i] = 0; } } /************************************************************************************************ * UART 관련 함수 * ************************************************************************************************/ /************************************************************************************************ * 시스템 초기화 관련 함수 * ************************************************************************************************/ void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0x00; PORTD = 0x00; DDRD = 0xff; 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 sys_init(); //all peripherals are now initialized } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<600;j++); } } /*********************************************************************************************** * ADC 관련 함수 * ***********************************************************************************************/ void get_adc_data(void) { unsigned int i; ch0 = ch2 = ch4 = 0; for(i=0;i<16;i++){ //X ADCSRA &= 0x7f; ADMUX = 0x40; ADCSRA |= 0xC0; while((ADCSRA & 0x10) != 0x10); buf[3] = ADCL; buf[2] = ADCH & 0x3f; ch0 = buf[3]+buf[2]*256; //Y ADCSRA &= 0x7f; ADMUX = 0x42; ADCSRA |= 0xC0; while((ADCSRA & 0x10) != 0x10); buf[5] = ADCL; buf[4] = ADCH & 0x3f; ch2 = buf[5]+buf[4]*256; //Z ADCSRA &= 0x7f; ADMUX = 0x44; ADCSRA |= 0xC0; while((ADCSRA & 0x10) != 0x10); buf[7] = ADCL; buf[6] = ADCH & 0x3f; ch4 = buf[7]+buf[6]*256; } } void main(void){ int i; ADMUX = 0x00; // single-ended ADC3 ADCSRA = 0x86; // ADC enable, 125kHz while(1){ for(i=0;i<10;i++){ get_adc_data(); data0[i] = ch0; data2[i] = ch2; data4[i] = ch4; } // Sort Sort0(); Sort2(); Sort4(); sum0 = sum2 = sum4 = 0; for(i=2;i<9;i++){ sum0 = sum0 + data0[i]; sum2 = sum2 + data2[i]; sum4 = sum4 + data4[i]; } Final0 = floor(sum0 / 8); Final2 = floor(sum2 / 8); Final4 = floor(sum4 / 8); lcd_init(16); lcd_gotoxy(0,0); sprintf(sbuf,"%d, %d %d\r\n", Final0, Final2, Final4); lcd_puts(sbuf); PORTG ++;
관리자 답변 관리자 · 2015-05-15
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 답변 드릴께요. > > 밑에 함수가 받은 소스를 이용해 포트 A에 연결된 LED로 출력을 하는 함수로 했고 > 가속도 센서는 포트 F로 꽂았습니다. 포트에 10개 다 연결하는 걸로 연결해 5v가 들어갔습니다. > 헌데 final 0, 2, 4 포트에서 나오는 값이 310, 310, 4번은 깨져서 나오고 > > 3.3v로 연결해야하나 해서 3.3v로 연결했을때는 206,206,깨져서 나옵니다. > > 160정도가 나와야되는데 문제가 있나요/?? ==> AREF를 3.3V를 넣어서 하시는 것을 권장해드립니다.. AM-3AXIS-P를 쓰셨으므로 가속도 센서에는 3.3V가 들어갑니다. 10핀커넥터의 VCC에는 5V를 넣어주어야 합니다. 그래야, 내부적으로 3.3V를 만들어서 가속도 센서에 3.3V를 넣어주므로, 가속도 센서가 정상동작하게 됩니다. 몇g 모드로 놓느냐에 따라서, 출력되는 값이 달라지게 되며, 제로g인 경우 1.65V가 출력되며, x와 y축은지면에 평행하게 놓을 경우 0g가 됩니다. 즉, 대략 값이 512 정도 되겠지요. 또한, Z축은 +1g가 됩니다. +-2g 모드의 경우, 2.31V가 되므로, ADC 값이 713 정도 되겠네요. 혹시 이상하다면, 본사로 방문하시거나 A/S 등으로 테스트를 무상으로 해보시는 것이 좋겠습니다. 내일 정상적인 제품으로 좀 더 실제로 테스트 해서 실제 데이터를 올려드리겠습니다. 일단은 이론적인 것이므로 참고하시기 바랍니다. 감사합니다. 감사합니다.
9171 답변완료제품 견적서 요청 정인양 2015-05-14 1,467
안녕하세요? 당사는 전동휠체어용 제어시스템을 연구개발하고 있습니다. 현재 일명 스마트제어기라 명명된 연구제품에 귀사의 제품을 탑재하여 개발중에 있으며, 경사로 에서의 좌석 수평제어 기능을 구현하여 노약자나 장애인의 안전을 도모하고자 합니다 귀사의 제품중 AM-3AXIS V03 (판매가 22,000원) 1,000개를 일괄 구매시의 견적서를 받고 싶습니다. 번거로우시더라도 견적서 송부를 요청 드립니다.
관리자 답변 관리자 · 2015-05-15
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 또한, 견적서를 이메일로 5월 15일에 발송하여 드리겠습니다. 앞으로 잘 부탁드립니다. 감사합니다. > > > 안녕하세요? > > 당사는 전동휠체어용 제어시스템을 연구개발하고 있습니다. > > 현재 일명 스마트제어기라 명명된 연구제품에 귀사의 제품을 탑재하여 > > 개발중에 있으며, 경사로 에서의 좌석 수평제어 기능을 구현하여 노약자나 > > 장애인의 안전을 도모하고자 합니다 > > 귀사의 제품중 AM-3AXIS V03 (판매가 22,000원) 1,000개를 일괄 구매시의 견적서를 받고 싶습니다. > > 번거로우시더라도 견적서 송부를 요청 드립니다. >
9170 답변완료스위치를 통한 FND제어 질문입니다..ㅜㅜ 성재홍 2015-05-14 1,414
총 3개의 스위치를 5V에 연결하여서 Atmega128의 포트에 각각 입력을 받아가지고 어떤 스위치이던간에 1개를 입력받으면 FND에서 '1'이 출력되고 어떤 스위치이던간에 2개를 입력받으면 FND에서 '2'가 출력되고 어떤 스위치이던간에 3개를 입력받으면 FND에서 '3'이 출력되는 소스를 짜고 싶습니다. 어떤식으로 해야할지 감이 안잡히네요 ㅜㅜ 간단한거지만 제겐 너무 어려워서 제발 답변 부탁드립니다 감사합니다
관리자 답변 관리자 · 2015-05-14
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 일단, 프로그램 순서는 다음과 같이 하세요. 1. 스위치 입력 테스트 소스를 짜거나, 자료실의 소스를 참고하여, 원하는 형태로 변경한 후, 잘 되는 지 테스트합니다. 2. 자료실의 FND 소스를 참고하여, 임의의 변수에 숫자 1을 넣으면 FND에서 1을 출력하고, 그 변수의 값을 바꾸어 넣으면, 변경된 숫자가 나오도록 소스를 짭니다. 3. 둘을 합칩니다. 이렇게 하면 됩니다. 1번의 경우는 자료실의 TS8 예제 소스의 main문 부분을 참고하면 되겠구요. 2번의 경우는 자료실의 FND 예제소스를 참고하면 됩니다. 3번은 1번의 소스에 2번의 소스를 합치면 됩니다. 감사합니다. > > > 총 3개의 스위치를 5V에 연결하여서 Atmega128의 포트에 각각 입력을 받아가지고 > > 어떤 스위치이던간에 1개를 입력받으면 FND에서 '1'이 출력되고 > 어떤 스위치이던간에 2개를 입력받으면 FND에서 '2'가 출력되고 > 어떤 스위치이던간에 3개를 입력받으면 FND에서 '3'이 출력되는 소스를 짜고 싶습니다. > > 어떤식으로 해야할지 감이 안잡히네요 ㅜㅜ > 간단한거지만 제겐 너무 어려워서 제발 답변 부탁드립니다 > 감사합니다 >
9169 답변완료지출증빙용 현금영수증 문의입니다. 이원호 2015-05-13 1,428
주문번호1504300005 지출증빙용 현금영수증이 발급되었다는 메일이 안오는데 처리가 된게 맞나요?
관리자 답변 관리자 · 2015-05-14
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다. 주문하신 분과 받으신 분이 달라서, 그랬었네요. 담당직원이 스캔하여 다시 보내드렸으니, 참고하시고, 앞으로도 잘 부탁드립니다. 감사합니다. > > > 주문번호1504300005 > 지출증빙용 현금영수증이 발급되었다는 메일이 안오는데 > 처리가 된게 맞나요? >
9168 답변완료AB-M128-B 모듈에 관해 질문 드립니다. 송은비 2015-05-12 1,456
AVR MEGA 128 개발보드 (AB-M128-B)를 사용하고 있습니다. 전원을 배터리로 공급하려고 하는데 12V 배터리를 사용하는 것으로 알고 있습니다. 모듈에 모터와 여러가지 센서를 달아 사용하려고 합니다. 사용하려는 모터의 정격 전압과 전류는 12V 1000mA 입니다. 그래서 1Ah 이상의 배터리를 써야할 것 같은데 제가 가지고 있는 배터리는 12V 7Ah뿐이라서 혹시 이 배터리를 이용해도 문제가 없을지 아니면 더 작은 전류의 배터리를 이용하여야 하는 것인지 궁금합니다. 과전류 문제가 없다면 기존에 가지고 있는 12V 7Ah 배터리를 이용하고 싶은데 괜찮을까요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 내부적으로 7805회로가 정전류방식이 아니라, 정전압 방식으로 충전배터리를 용량이 높은 것을 써도 필요한 만큼만 당겨 쓰기 때문에, 문제가 없습니다. 감사합니다. > > > AVR MEGA 128 개발보드 (AB-M128-B)를 사용하고 있습니다. > 전원을 배터리로 공급하려고 하는데 12V 배터리를 사용하는 것으로 알고 있습니다. > 모듈에 모터와 여러가지 센서를 달아 사용하려고 합니다. > 사용하려는 모터의 정격 전압과 전류는 12V 1000mA 입니다. > 그래서 1Ah 이상의 배터리를 써야할 것 같은데 제가 가지고 있는 배터리는 12V 7Ah뿐이라서 혹시 이 배터리를 이용해도 문제가 없을지 아니면 더 작은 전류의 배터리를 이용하여야 하는 것인지 궁금합니다. > 과전류 문제가 없다면 기존에 가지고 있는 12V 7Ah 배터리를 이용하고 싶은데 괜찮을까요? >
9167 답변완료AM-DC1-3D 모델 질문 박종현 2015-05-12 1,400
이 모델로 DWP-385 6V 워터펌프 모터 작동 가능 한가요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. 네, 가능할 것으로 보입니다. PWM 사용하시면 물의 토출량도 조절 가능하실 거에요. 다만, 워터펌프는 저도 좀 써봤는 데, 사용하시는 것은 순환 펌프라서, 공기가 들어 있는 상태에서 물을 퍼올리는 것은 아닙니다. 따라서, 물을 펌프 안에 까지는 채워주셔야 합니다. 즉, 호수를 직접 입 등으로 빨아서, 물을 입출 및 토출 호수 등에 어느정도 들어있게 해줘야 가능합니다. 그렇지 않으면, 고장의 원인이 되니, 참고 바래요. 감사합니다. > > > 이 모델로 DWP-385 6V 워터펌프 > 모터 작동 가능 한가요? >
9166 답변완료서보모터 A410 질문드립니다 배도영 2015-05-12 1,474
현재 서보모터모듈 AM-CSV와 함께 사용중입니다. 예제에서는 타이머를 이용해서 계속 돌아가게만 하셨던데 예제를 거의 그대로 사용하되 저희에 맞게 수정해서 사용하려 합니다. 저희는 통신을 이용해서 키보드를 누를때 원하는 방향으로 돌게끔 조절하고 싶습니다. 모터를 돌리고 싶을때만 타이머를 켜게 하기 위해 키보드 특정키를 누르면 TIMSK 레지스터를 ENABLE 하고 미리 MIN, MAX에 값을 준것에 따라서 모터가 일정 각도 움직입니다. 문제는 이런식으로 하면 한쪽 방향으로는 움직이는데 반대쪽으로는 움직이지 않습니다. 그냥 모터가 서버립니다. 지금 KD128pro 를 쓰고있는데 서보모터모듈을 포트 c에 꽂고 세그먼트도 같이 돌리고 있으면 포트가 중복돼서 모터에 영향을 끼칠수도 있나요? 아예 코드를 만들어달라는건 아니고요,, 힌트를 좀 주시면 안될까요?
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 네, 분명히 영향을 끼칩니다. 그래서, 문제가 될 수 있겠습니다. KD-128PRO 킷트를 사용중이시라면, 세븐 세그먼트를 쓴다면 A,C 포트는 세그먼트용으로 쓰시구요. F포트를 출력으로 서보모터용 출력으로 CSV 꽂아서 사용하시면 됩니다. 서보는 원래 0~120도 정도만 움직이는 것이구요. 그 사이는 움직이지만, 0도 이하로 갈 수는 없어요. 그래서, 기본을 60도 잡으시고, 0도로 가거나 120도 방향으로 가게 하시는 게 좋습니다. 감사합니다. > > > 현재 서보모터모듈 AM-CSV와 함께 사용중입니다. > > 예제에서는 타이머를 이용해서 계속 돌아가게만 하셨던데 > > 예제를 거의 그대로 사용하되 저희에 맞게 수정해서 사용하려 합니다. > > 저희는 통신을 이용해서 키보드를 누를때 원하는 방향으로 돌게끔 조절하고 싶습니다. > > 모터를 돌리고 싶을때만 타이머를 켜게 하기 위해 키보드 특정키를 누르면 > > TIMSK 레지스터를 ENABLE 하고 미리 MIN, MAX에 값을 준것에 따라서 모터가 일정 각도 움직입니다. > > 문제는 이런식으로 하면 한쪽 방향으로는 움직이는데 반대쪽으로는 움직이지 않습니다. > > 그냥 모터가 서버립니다. > > 지금 KD128pro 를 쓰고있는데 > > 서보모터모듈을 포트 c에 꽂고 세그먼트도 같이 돌리고 있으면 > > 포트가 중복돼서 모터에 영향을 끼칠수도 있나요? > > 아예 코드를 만들어달라는건 아니고요,, 힌트를 좀 주시면 안될까요? >
9165 답변완료AM-MP533 질문입니다. 김준식 2015-05-11 1,427
AM-MP533 DC-DC 컨버터 궁금한게있습니다. 현재 배터리를 7.2V 써야하는데 최소입력전압이 9V 라고 되있습니다. 만약 7.2V를 넣으면 7805 출력에는 몇 V로 나오는지 알 수 있을까요? 보드에 들어가는 입력범위가 4.5~5.5 입니다. 3.3V로도 동작하구요.
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. AM-MP533은 6.5V이상이면 충분히 잘 동작하며 입력이 최고 28V까지입니다. 그렇게하면 5V와 3.3V가 잘 출력됩니다. 감사합니다. > > > AM-MP533 DC-DC 컨버터 궁금한게있습니다. > 현재 배터리를 7.2V 써야하는데 최소입력전압이 9V 라고 되있습니다. > 만약 7.2V를 넣으면 7805 출력에는 몇 V로 나오는지 알 수 있을까요? > 보드에 들어가는 입력범위가 4.5~5.5 입니다. 3.3V로도 동작하구요. >
9164 답변완료FM-USBBLASTER V01 다운로드 않됨. 박승민 2015-05-11 1,418
FM-USBBLASTER V01 이용 pof파일 불러오기에서 오류 발생입니다. 사용 CPLD는 알테라 EPM7032S-TC44 입니다. 사용설명서에 나와있는대로 설치하고 설정하고 POF파일 불러오기 하면 첨부사진과 같은 에러발생합니다. 같은 파일을 타사 장비 및 HILO사의 ALL11A 장비 이용 다운로드시 정상입니다. 박스핀 연결도 설명서대로 칩과 1:1로 연결하고 칩에 별도 전원 직류5볼트 공급했습니다. 당사에서는 오로지 다운로드에만 사용 합니다. 긴급을 요하오니 확인후 회신 부탁드립니다. 이멜: [email protected] vhs : 010-7339-4200
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 제품 불량이 의심됩니다. 본사로 A/S 의뢰하심이 좋겠습니다. 그 제품의 경우 특별히 에러가 본 제품 출시후 처음 발생한 제품입니다. 그만큼 에러가 잘 나지 않고, 고장도 잘 나지 않는 제품입니다. 보내주시면 저희가 면밀히 검사해 보겠습니다. 감사합니다. > > > FM-USBBLASTER V01 이용 pof파일 불러오기에서 오류 발생입니다. > > 사용 CPLD는 알테라 EPM7032S-TC44 입니다. > > 사용설명서에 나와있는대로 설치하고 설정하고 POF파일 불러오기 하면 첨부사진과 같은 에러발생합니다. > 같은 파일을 타사 장비 및 HILO사의 ALL11A 장비 이용 다운로드시 정상입니다. > > 박스핀 연결도 설명서대로 칩과 1:1로 연결하고 칩에 별도 전원 직류5볼트 공급했습니다. > > 당사에서는 오로지 다운로드에만 사용 합니다. > > 긴급을 요하오니 확인후 회신 부탁드립니다. > > 이멜: [email protected] > > vhs : 010-7339-4200 >
9163 답변완료AM-3AXIS에 대해 질문 드립니다. 최정민 2015-05-11 1,385
저는 현재 코드 비전을 사용중입니다. 학교에서 준 at mega 128을 사용중이구요. 3축 가속도 센서는 현재 PF0~7번까지 음.. 그러니깐 모듈선? 그걸로 연결했습니다. 3축 가속도센서 AM-3AXIS 예제 소스 라는 게시글을 통해 터미널로 수신한 값을 보고자 하는데 led에 그 값을 표현하고자 합니다. 질문 1 : at mega 128 사용 시 PF0~7번까지 꽂는게 맞나요? 질문 2 : 코딩에 보니 printf가 있던데 이것의 역할이 뭐죠? 또 LCD를 어디에 꽂아야하죠? (#include<lcd.h> 학교에서는 앞에와 같은 코딩과 포트를 지정해줘서 PA포트에 꽂습니다.) 질문 3 : Final0, Final2, Final4가 x,y,z축의 전압값이 되는건가요? ### 뉴티씨 물건 정말 자주 사용하게 되네요~ 좋은 물건 많이 만들어주셔서 감사합니다.
관리자 답변 관리자 · 2015-05-12
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 질문에 답변드릴께요. > 저는 현재 코드 비전을 사용중입니다. 학교에서 준 at mega 128을 사용중이구요. > 3축 가속도 센서는 현재 PF0~7번까지 음.. 그러니깐 모듈선? 그걸로 연결했습니다. > 3축 가속도센서 AM-3AXIS 예제 소스 라는 게시글을 통해 터미널로 수신한 값을 보고자 하는데 > > led에 그 값을 표현하고자 합니다. > > 질문 1 : at mega 128 사용 시 PF0~7번까지 꽂는게 맞나요? --> 네 ADC입력을 포트 F에 넣는게 맞구요. AM-3AXIS-P를 쓰실경우 10핀 헤더박스가 1~10번까지 있을겁니다. 1번: D0 2번:D1 . . . . .이런식으로 D7까지 연결하고 9번에 VCC(5V) 10번에 GND연결해주면 D0에 x축값 D2에 y축값 D4에 z축값이 연결되요. > 질문 2 : 코딩에 보니 printf가 있던데 이것의 역할이 뭐죠? --> uart0로 값을 출력해주고 있는거에요. 또 LCD를 어디에 꽂아야하죠? --> LCD는 본사의 SLCD사서 터미널모드로 점퍼 설정하고 uart0물리면 바로 나와요. > (#include<lcd.h> 학교에서는 앞에와 같은 코딩과 포트를 지정해줘서 PA포트에 꽂습니다.) --> slcd로하면 uart로 쓰면되요. > 질문 3 : Final0, Final2, Final4가 x,y,z축의 전압값이 되는건가요? -->네 맞아요. > ### 뉴티씨 물건 정말 자주 사용하게 되네요~ 좋은 물건 많이 만들어주셔서 감사합니다. --> 감사합니다. >
9162 답변완료질문할게요 김시현 2015-05-08 1,433
1. ----------ㅣ rs-232 l-----------l ㅣ------------ l l ----------ㅣ l---------- l 이거 저번에 질문드렸는데 이렇게하면 구성도 어떻게 짜야하나요 2.포트를 강제로 변경했는데도 at 입력후 아무것도 뜨지 않아요 3. 5월 11일 월요일 10시반에 뵙기로 하였는데 어느정도 시간 내주실수 있나요 그리고 제가 근처 가서 저번 그 번호로 전화 드리면 될까요?
관리자 답변 관리자 · 2015-05-08
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용해 주셔서 감사합니다. 답변드릴께요. > 1. > ----------ㅣ rs-232 l-----------l > ㅣ------------ l l > ----------ㅣ l---------- l > > 이거 저번에 질문드렸는데 이렇게하면 구성도 어떻게 짜야하나요? --> 이 그림이 아무리봐도 전혀 이해가 안가요. > 2.포트를 강제로 변경했는데도 at 입력후 아무것도 뜨지 않아요 --> 보드 고장이 의심되구요. 지금 제품페이지 변경해 뒀구요. 메뉴얼도 자료실에 있으니 참고바래요. > 3. 5월 11일 월요일 10시반에 뵙기로 하였는데 어느정도 시간 내주실수 있나요 그리고 제가 근처 가서 저번 그 번호로 전화 드리면 될까요? --> 회사로 2층에 와서 벨 눌러서 찾으시면되구요. 직원들에게 사정얘기하시면 제가 나갈께요. 감사합니다.
9161 답변완료스테핑모터의 구동 에이씨티 2015-05-08 1,519
그림과 같이 귀사 제품. AB-M128-B, AM-CS2P, AM-TS8, SE-SM-243을 구입하여 테스트 하고 있습니다. 귀사에서 제공된 소프트웨어 #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #define MOTOR_PORT PORTC #define MOTOR_PORT_DDR DDRC #define LEFT 0 #define RIGHT 1 #define SW_PORT PINA #define SW_PORT_DDR DDRA #define SPEED_H_LIMIT 800 #define SPEED_L_LIMIT 0 #define SPEEDUP 1 #define OK 1 #define NOOK 0 volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; volatile unsigned char stepleft=0, stepright=0; static int Putchar(char c, FILE *stream); void tx0Char(char message); void tx1Char(char message); void timer0_init(void); static int Putchar(char c, FILE *stream) { tx0Char(c); tx1Char(c); return 0; } // scanf 함수 사용시 추가할 것. int Getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } // UART0 을 이용한 출력 void tx0Char(char message) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty UDR0 = message; } // UART1 을 이용한 출력 void tx1Char(char message) { while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty UDR1 = message; } void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; //m103 output only DDRC = 0xFF; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x33; PORTG = 0x00; DDRG = 0x03; } //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9615 (0.2%) // char size: 8 bit // parity: Disabled void uart0_init(void) { UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0L = 0x67; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x18; } //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(); uart0_init(); timer0_init(); fdevopen(Putchar,0); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x01; //timer interrupt sources ETIMSK = 0x00; //extended timer interrupt sources sei(); //re-enable interrupts //all peripherals are now initialized } /* Stepping Motor derive---------------------------*/ unsigned char LEFTmotorOneClock(unsigned char step, char dir) { step = step & 0x0f; if(dir){ switch(step){ case 0x09: step=0x01; break; case 0x01: step=0x03; break; case 0x03: step=0x02; break; case 0x02: step=0x06; break; case 0x06: step=0x04; break; case 0x04: step=0x0c; break; case 0x0c: step=0x08; break; case 0x08: step=0x09; break; default: step=0x0c; break; } }else{ switch(step){ case 0x09: step=0x08; break; case 0x01: step=0x09; break; case 0x03: step=0x01; break; case 0x02: step=0x03; break; case 0x06: step=0x02; break; case 0x04: step=0x06; break; case 0x0c: step=0x04; break; case 0x08: step=0x0c; break; default: step=0x0c; break; } } return step; } /* Stepping Motor derive---------------------------*/ unsigned char RIGHTmotorOneClock(unsigned char step, char dir) { step = step & 0xf0; if(dir){ switch(step){ case 0x90: step=0x10; break; case 0x10: step=0x30; break; case 0x30: step=0x20; break; case 0x20: step=0x60; break; case 0x60: step=0x40; break; case 0x40: step=0xc0; break; case 0xc0: step=0x80; break; case 0x80: step=0x90; break; default: step=0xc0; break; } }else{ switch(step){ case 0x90: step=0x80; break; case 0x10: step=0x90; break; case 0x30: step=0x10; break; case 0x20: step=0x30; break; case 0x60: step=0x20; break; case 0x40: step=0x60; break; case 0xc0: step=0x40; break; case 0x80: step=0xc0; break; default: step=0xc0; break; } } return step; } void delay(int n) { volatile int i,j; for(i=1;i<n;i++) { for(j=1;j<300;j++); } } //TIMER0 initialize - prescale:8 // WGM: Normal // desired value: 200KHz // actual value: 200.000KHz (0.0%) void timer0_init(void) { TCCR0 = 0x00; //stop ASSR = 0x00; //set async mode TCNT0 = 0xF6; //set count OCR0 = 0x0A; TCCR0 = 0x02; //start timer } ISR(TIMER0_OVF_vect) { TCNT0 = 0xF6; //reload counter value if(counter < (SPEED_H_LIMIT - SPEED)){ counter++; } else{ timer0_expired = OK; } if(timer0_expired == OK){ stepright = RIGHTmotorOneClock(stepright, TURN); stepleft = LEFTmotorOneClock(stepleft, TURN); MOTOR_PORT = stepleft|stepright; timer0_expired = NOOK; counter = 0; } } // int main(void) { init_devices(); //insert your functional code here... printf(" \n\n\rStepping Motor test program...\n\r"); MOTOR_PORT_DDR = 0xff; SW_PORT_DDR = 0x00; SPEED = 600; TURN = RIGHT; while(1){ switch(SW_PORT){ case 0x01: TURN = RIGHT; printf("RIGHT!!\r\n"); break; case 0x02: TURN = LEFT; printf("LEFT!!\r\n"); break; case 0x04: SPEED += SPEEDUP; if(SPEED >=SPEED_H_LIMIT){ SPEED = SPEED_H_LIMIT; } delay(1); printf("SPEED UP\r\n"); break; case 0x08: SPEED -= SPEEDUP; if(SPEED <=SPEED_L_LIMIT){ SPEED = SPEED_L_LIMIT; } delay(1); printf("SPEED DOWN\r\n"); break; default : break; } } return 0; } 로 테스트한 결과 이상은 없습니다. 염치 없지만 1번 스위치 눌렀을때 2바퀴 정회전 후 스톱 다시 2번 스위치 눌렀을때 2바퀴 역회전 후 스톱해보고 싶습니다. 도움 주시면 감사 하겠고 상기 제품으로 제가 구동하고자 하는것이 어렵다면 다른 제품 추천해 주시면 감사하겠습니다. 부탁 드립니다.
관리자 답변 관리자 · 2015-05-08
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 저희 회사는 예제 소스 코드를 수정하여 드리거나 하지는 않습니다. 필요한 경우는 프로젝트로 수행합니다. 다만, 아래의 문장을 올려드리니, 참고 바랍니다. 일단, main 문 안에 아래와 같은 문장을 사용하여 하시면 될 것 같습니다. int NumberofTurn = 0, TurnStart=0; 을 main의 첫 부분에 추가하시고, while문을 아래 것으로 교체하세요. while(1){ switch(SW_PORT){ case 0x01 : TURN = RIGHT; NumberofTurn = 0; TurnStart = 1; printf("Turn RIGHT!"); case 0x02 : TURN = LEFT; NumberofTurn = 0; TurnStart = 1; printf("Turn LEFT!"); } if(TurnStart == 1){ stepright = RIGHTmotorOneClock(stepright, 1); stepleft = LEFTmotorOneClock(stepleft, 0); MOTOR_PORT = stepleft|stepright; delay(3); NumberofTurn++; if(NumberofTurn >= 400){ TurnStart = 0; } } } 감사합니다. > > > 그림과 같이 귀사 제품. > AB-M128-B, AM-CS2P, AM-TS8, SE-SM-243을 구입하여 테스트 하고 있습니다. > > 귀사에서 제공된 소프트웨어 > > #include <avr/io.h> > #include <avr/interrupt.h> > #include <stdio.h> > > > #define MOTOR_PORT PORTC > #define MOTOR_PORT_DDR DDRC > > #define LEFT 0 > #define RIGHT 1 > > #define SW_PORT PINA > #define SW_PORT_DDR DDRA > > #define SPEED_H_LIMIT 800 > #define SPEED_L_LIMIT 0 > #define SPEEDUP 1 > #define OK 1 > #define NOOK 0 > > volatile int TURN, SPEED, timer0_expired=NOOK, counter=0; > volatile unsigned char stepleft=0, stepright=0; > > static int Putchar(char c, FILE *stream); > void tx0Char(char message); > void tx1Char(char message); > void timer0_init(void); > > > static int Putchar(char c, FILE *stream) > { > tx0Char(c); > tx1Char(c); > return 0; > > } > > > // scanf 함수 사용시 추가할 것. > int Getchar(void) > { > while ((UCSR0A & 0x80) == 0); > return UDR0; > } > > > // UART0 을 이용한 출력 > void tx0Char(char message) > { > while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty > UDR0 = message; > } > > // UART1 을 이용한 출력 > void tx1Char(char message) > { > while (((UCSR1A>>UDRE1)&0x01) == 0) ; // UDRE, data register empty > UDR1 = message; > } > > > void port_init(void) > { > PORTA = 0x00; > DDRA = 0x00; > PORTB = 0x00; > DDRB = 0x00; > PORTC = 0x00; //m103 output only > DDRC = 0xFF; > PORTD = 0x00; > DDRD = 0x00; > PORTE = 0x00; > DDRE = 0x00; > PORTF = 0x00; > DDRF = 0x33; > PORTG = 0x00; > DDRG = 0x03; > } > > //UART0 initialize > // desired baud rate: 9600 > // actual: baud rate:9615 (0.2%) > // char size: 8 bit > // parity: Disabled > void uart0_init(void) > { > UCSR0B = 0x00; //disable while setting baud rate > UCSR0A = 0x00; > UCSR0C = 0x06; > UBRR0L = 0x67; //set baud rate lo > UBRR0H = 0x00; //set baud rate hi > UCSR0B = 0x18; > } > > //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(); > uart0_init(); > timer0_init(); > fdevopen(Putchar,0); > > MCUCR = 0x00; > EICRA = 0x00; //extended ext ints > EICRB = 0x00; //extended ext ints > EIMSK = 0x00; > TIMSK = 0x01; //timer interrupt sources > ETIMSK = 0x00; //extended timer interrupt sources > sei(); //re-enable interrupts > //all peripherals are now initialized > } > > > > > /* Stepping Motor derive---------------------------*/ > unsigned char LEFTmotorOneClock(unsigned char step, char dir) > { > step = step & 0x0f; > if(dir){ > switch(step){ > case 0x09: step=0x01; break; > case 0x01: step=0x03; break; > case 0x03: step=0x02; break; > case 0x02: step=0x06; break; > case 0x06: step=0x04; break; > case 0x04: step=0x0c; break; > case 0x0c: step=0x08; break; > case 0x08: step=0x09; break; > default: step=0x0c; break; > } > }else{ > switch(step){ > case 0x09: step=0x08; break; > case 0x01: step=0x09; break; > case 0x03: step=0x01; break; > case 0x02: step=0x03; break; > case 0x06: step=0x02; break; > case 0x04: step=0x06; break; > case 0x0c: step=0x04; break; > case 0x08: step=0x0c; break; > default: step=0x0c; break; > } > } > return step; > > } > > /* Stepping Motor derive---------------------------*/ > unsigned char RIGHTmotorOneClock(unsigned char step, char dir) > { > step = step & 0xf0; > if(dir){ > switch(step){ > case 0x90: step=0x10; break; > case 0x10: step=0x30; break; > case 0x30: step=0x20; break; > case 0x20: step=0x60; break; > case 0x60: step=0x40; break; > case 0x40: step=0xc0; break; > case 0xc0: step=0x80; break; > case 0x80: step=0x90; break; > default: step=0xc0; break; > } > }else{ > switch(step){ > case 0x90: step=0x80; break; > case 0x10: step=0x90; break; > case 0x30: step=0x10; break; > case 0x20: step=0x30; break; > case 0x60: step=0x20; break; > case 0x40: step=0x60; break; > case 0xc0: step=0x40; break; > case 0x80: step=0xc0; break; > default: step=0xc0; break; > } > } > return step; > } > > > void delay(int n) > { > volatile int i,j; > for(i=1;i<n;i++) > { > for(j=1;j<300;j++); > } > } > > > //TIMER0 initialize - prescale:8 > // WGM: Normal > // desired value: 200KHz > // actual value: 200.000KHz (0.0%) > void timer0_init(void) > { > TCCR0 = 0x00; //stop > ASSR = 0x00; //set async mode > TCNT0 = 0xF6; //set count > OCR0 = 0x0A; > TCCR0 = 0x02; //start timer > } > > ISR(TIMER0_OVF_vect) > { > TCNT0 = 0xF6; //reload counter value > if(counter < (SPEED_H_LIMIT - SPEED)){ > counter++; > } else{ > timer0_expired = OK; > } > > if(timer0_expired == OK){ > stepright = RIGHTmotorOneClock(stepright, TURN); > stepleft = LEFTmotorOneClock(stepleft, TURN); > MOTOR_PORT = stepleft|stepright; > timer0_expired = NOOK; > counter = 0; > } > } > > > // > int main(void) > { > init_devices(); > //insert your functional code here... > > printf(" \n\n\rStepping Motor test program...\n\r"); > > MOTOR_PORT_DDR = 0xff; > SW_PORT_DDR = 0x00; > SPEED = 600; > TURN = RIGHT; > > while(1){ > > switch(SW_PORT){ > case 0x01: TURN = RIGHT; > printf("RIGHT!!\r\n"); > break; > case 0x02: TURN = LEFT; > printf("LEFT!!\r\n"); > break; > case 0x04: SPEED += SPEEDUP; > if(SPEED >=SPEED_H_LIMIT){ > SPEED = SPEED_H_LIMIT; > } > delay(1); > printf("SPEED UP\r\n"); > break; > case 0x08: SPEED -= SPEEDUP; > if(SPEED <=SPEED_L_LIMIT){ > SPEED = SPEED_L_LIMIT; > } > delay(1); > printf("SPEED DOWN\r\n"); > break; > default : break; > } > } > return 0; > } > > 로 테스트한 결과 이상은 없습니다. > > 염치 없지만 1번 스위치 눌렀을때 2바퀴 정회전 후 스톱 > 다시 2번 스위치 눌렀을때 2바퀴 역회전 후 스톱해보고 싶습니다. > > 도움 주시면 감사 하겠고 상기 제품으로 제가 구동하고자 하는것이 어렵다면 > 다른 제품 추천해 주시면 감사하겠습니다. > > 부탁 드립니다. >
9160 답변완료AB-M128-B 모델 문의드립니다 김소정 2015-05-07 1,447
이곳에서 AB-M128-B 를 사서 연결을 했는데 failed가 뜨면서 동작이 되지 않습니다. 6개의 포트가 있는데, 사진처럼 연결하였습니다. ISP와 연결하는 포트가 따로있는 것인지 aTmega128에 문제가 있는 것인지 확인부탁드립니다. 또는 만약 고장이여서, A/S 받아야 된다면 토요일에 찾아갈수 있을까요?
관리자 답변 관리자 · 2015-05-07
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 사진처럼 연결해 주세요. 일반포트에다 연결하면 안됩니다. 망가질 수 있습니다. 참고로, ISP는 프로그램후 컴파일된 결과파일인 HEX 코드를 CPU에 다운로드 하는 장비입니다. ISP 포트에 꽂아야 하며, STK500 프로토콜을 사용합니다. 감사합니다. > > > 이곳에서 AB-M128-B 를 사서 연결을 했는데 failed가 뜨면서 동작이 되지 않습니다. 6개의 포트가 있는데, 사진처럼 연결하였습니다. ISP와 연결하는 포트가 따로있는 것인지 aTmega128에 문제가 있는 것인지 확인부탁드립니다. > > 또는 만약 고장이여서, A/S 받아야 된다면 토요일에 찾아갈수 있을까요? >
9159 답변완료질문 김시현 2015-05-06 1,401
1.포트를 6번에서 4번으로 바꾸고 at 입력후 ok가 떳습니다. 다음날에는 at입력후에는 ok가 뜨지않습니다.ㅠ.ㅠ 2.그리고 슬레이브에 전원을 주고 마스터를 pc에 연결하고 시간이 지나도 둘다 적색불이 계속 깜박입니다. 3.저희 과 교수님께서 제가 하는 것에서 (제가 하려는것은 8051로부터 정보값을 pc에 저장하고 pc에서 이정보를 프로그램을 이용하여 정보를 처리) 마스터가 꼭 필요하냐고 하시던데 제 생각엔 hc-06은 master/slave 변경이 불가하다고 알고 있는데요 필요하다면 그 이유좀 간단히 적어주세요(졸작을 하는데 교수님께서 그러면 제작단가가 높아지지 않냐고 태클하셔서요) 4.아래에 (기능)구성도를 첨부해놨는데 맞는건가요? ----------ㅣ rs-232 l-----------l ㅣ------------ l l ----------ㅣ l---------- l 교수님은 저렇게 해야하는게 아니냐고 하시네요 저희 학교가 교육수준이... 진짜 안가르치면서 자꾸 태클거네요 ㅠ
관리자 답변 관리자 · 2015-05-07
안녕하세요? 고객님, 질문에 답변 드릴께요. > 1.포트를 6번에서 4번으로 바꾸고 at 입력후 ok가 떳습니다. 다음날에는 at입력후에는 ok가 뜨지않습니다.ㅠ.ㅠ ==> 컴퓨터 드라이버가....약간 얽힌듯하네요.. 다른 포트로 다시 강제로 바꿔보세요. > > 2.그리고 슬레이브에 전원을 주고 마스터를 pc에 연결하고 시간이 지나도 둘다 적색불이 계속 깜박입니다. ==> 정상이면 수 초 이내에 서로 인식하여 정지하는 게 일반적잉에요. > > 3.저희 과 교수님께서 제가 하는 것에서 (제가 하려는것은 8051로부터 정보값을 pc에 저장하고 pc에서 이정보를 프로그램을 이용하여 정보를 처리) > > 마스터가 꼭 필요하냐고 하시던데 제 생각엔 hc-06은 master/slave 변경이 불가하다고 알고 있는데요 > 필요하다면 그 이유좀 간단히 적어주세요(졸작을 하는데 교수님께서 그러면 제작단가가 높아지지 않냐고 태클하셔서요) ==> PC 쪽과 89S52 쪽..... 서로 주거니 받거나 하려면, 양쪽에 블루투스가 있어야 합니다. 한쪽에서 무선으로 보내면, 다른 쪽에서는 무선으로 수신하는 모듈이 있어야 하니까요. > 4.아래에 (기능)구성도를 첨부해놨는데 맞는건가요? ==> 밑의 그림이 이해가 잘 안되지만.....블루투스 모듈끼리 유선으로 연결해 놓은건가요? 블루투스가 필요한 이유는 무선으로 서로 통신하기 위함이니...그런 거라면 아래는 안되겠구요. 첨부한 아래한글 파일이 맞습니다. > ----------ㅣ rs-232 l-----------l > ㅣ------------ l l > ----------ㅣ l---------- l > > 교수님은 저렇게 해야하는게 아니냐고 하시네요 > 저희 학교가 교육수준이... 진짜 안가르치면서 자꾸 태클거네요 ㅠ ==> 교수님도 도움을 주시기 위하여 그러실 겁니다. 다만, 분야가 좀 다르면 그러실 수도 있으니, 이해해 주세요. 다른 부분에서 도움을 또 주실 겁니다. ^---^ 감사합니다.