로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
7358 답변완료자이로센서&가속도 센서 배치 김준 2012-05-16 1,290
AM-GYRO-XZ V02 와 AM-3AXIS VER.2 센서의 기판에서의 배치에 대한 질문입니다 저는 자이로 센서를 기판의 위에, 가속도 센서를 기판의 아래에 배치했습니다. 즉 가속도센서는 거꾸로 배치가 된 것이죠. 그 이유는 z축의 방향 때문입니다. 프로그램 내에서 -값을 주면야 되겠지만, 막상 처음에 배치할 때에는 생각이 없었나 봅니다. 어쨌든, 배치를 이렇게 해놓아도 가속도 센서가 제대로 작동할까요? 센서가 뒤집혀서 배치가 되면 중력의 영향때문에 잘못된 데이터 값이 나올까 걱정되서 문의해 봅니다. 또다른 질문이 하나 더 있습니다. 자이로 센서의 한쪽 축 값이 DAQ를 통해서 얻어보려할 때, 제대로 된 값이 나오질 않고 0의 값에 가깝게 나왔습니다. DMM으로 자이로모듈을 찍어본 결과 출력되는 값은 1.35v정도의 값을 나오던데, 그러면 센서자체는 문제가 없다는 뜻인가요?
관리자 답변 관리자 · 2012-05-16
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 답변하여 드릴꼐요. > AM-GYRO-XZ V02 와 AM-3AXIS VER.2 센서의 기판에서의 배치에 대한 질문입니다 > 저는 자이로 센서를 기판의 위에, 가속도 센서를 기판의 아래에 배치했습니다. > 즉 가속도센서는 거꾸로 배치가 된 것이죠. 그 이유는 z축의 방향 때문입니다. > 프로그램 내에서 -값을 주면야 되겠지만, 막상 처음에 배치할 때에는 생각이 없었나 봅니다. > 어쨌든, 배치를 이렇게 해놓아도 가속도 센서가 제대로 작동할까요? ==> 네 이상 없습니다. 값만, - 값이 나오는 거죠. > 센서가 뒤집혀서 배치가 되면 중력의 영향때문에 잘못된 데이터 값이 나올까 걱정되서 문의해 봅니다. > > 또다른 질문이 하나 더 있습니다. > > 자이로 센서의 한쪽 축 값이 DAQ를 통해서 얻어보려할 때, 제대로 된 값이 나오질 않고 0의 값에 가깝게 나왔습니다. > DMM으로 자이로모듈을 찍어본 결과 출력되는 값은 1.35v정도의 값을 나오던데, 그러면 센서자체는 문제가 없다는 뜻인가요? ==> 네 문제 없는 겁니다. 회전 시켜 보면, 값이 좀 더 높은 값이 나오다가 정지하면 다시 그 값으로 돌아갈 겁니다. 자이로는 말하자면 각속도 센서니까요. > 수고하세요.
7357 답변완료atmega8 질문입니다 이진우 2012-05-16 1,355
안녕하세요.. 저번에도 질문을 드렸었는데.. AM_128PRO 와 AD_USBISP_V3.0을 구매하여 사용하고 있습니다 위의 두개로 제가 하고자 하는 회로와 프로그램이 잘동작하여 ATMEGA128A CPU만 구매하여 적용을 했을때 프로그램은 CPU에 심어지는데 전혀 동작하지 않았습니다.. 한참을 고생하다가 결국 해결을 하지 못하고 어짜피 ATMEGA8 을 사용을 할것이므로 ATMEGA8로 다시 회로를 만들어서 새롭게 해보자 하고 다시 해보았는데 위의 증상과 똑같습니다.. 128모듈과 CPU만을 구매해서 한것의 차이는 아무리 생각 해도 부트로더가 있고 없고 의 차이밖에 없는데 아무리 해도 동작을 하지 않습니다 도와주십시요.... ATMEGA8A, 16M를 사용하여 다운로드한 사진을 첨부 합니다
관리자 답변 관리자 · 2012-05-16
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 저희 제품에 부트로더가 올라가 있거나 그렇지 않습니다. 고객님이 실수한 부분은 딱 한군데입니다. 퓨즈비트 설정을 하지 않은 겁니다. 퓨즈비트를 설정하지 않으면, 최초 땜한 후 바로 프로그램만 넣으면 매우 느린 내부 클럭(1MHz)으로 동작합니다. 온라인강좌->AVR 강좌에서 퓨즈 라고 치면 퓨즈비트가 뭔지 각 비트의 의미가 뭔지 등이 나오구요. 자료실에서 퓨즈라고 치면 AVR Studio 등에서 퓨즈비트 변경 방법이 나올 겁니다. FAQ에서도 퓨즈 라고 치면 각 컴파일러별로 퓨즈비트 변경 방법이 나옵니다. 참고로 외부 클럭 크리스탈로 16MHz 같은 거 붙였다면, ATMEGA128의 경우 0xFFD9EF로 하는 것이 좋고, ATMEGA8의 경우 0xD9EF로 하는 것이 좋습니다. 참고하시기 바랍니다. 수고하세요. > > > 안녕하세요.. > 저번에도 질문을 드렸었는데.. AM_128PRO 와 AD_USBISP_V3.0을 구매하여 사용하고 있습니다 > 위의 두개로 제가 하고자 하는 회로와 프로그램이 잘동작하여 ATMEGA128A CPU만 구매하여 적용을 > 했을때 프로그램은 CPU에 심어지는데 전혀 동작하지 않았습니다.. > 한참을 고생하다가 결국 해결을 하지 못하고 어짜피 ATMEGA8 을 사용을 할것이므로 ATMEGA8로 > 다시 회로를 만들어서 새롭게 해보자 하고 다시 해보았는데 위의 증상과 똑같습니다.. > 128모듈과 CPU만을 구매해서 한것의 차이는 아무리 생각 해도 부트로더가 있고 없고 의 차이밖에 없는데 > 아무리 해도 동작을 하지 않습니다 도와주십시요.... > ATMEGA8A, 16M를 사용하여 다운로드한 사진을 첨부 합니다 >
7356 답변완료7 Segment..! 이상대 2012-05-15 1,323
ISP구매를 하였습니다^^ 내일 입금 완료하겠습니다. 7 Segment같이 동봉 확인 바랍니다^^!
관리자 답변 관리자 · 2012-05-15
네, 고객님, 담당자에게 전달하였습니다. 내일 발송을 원하시면 내일 오후 3시전에 입금해 주셔야 발송 가능합니다. 참고하세요. 수고하세요. > > > ISP구매를 하였습니다^^ 내일 입금 완료하겠습니다. > 7 Segment같이 동봉 확인 바랍니다^^! >
7355 답변완료KR-DL16 라인트레이서 완제품을 수정하여 사용하려고 하는데 파워에 빨간 불이 들어오면서 동작을 하지 않습니다. 이종임 2012-05-15 1,408
안녕하세요. 귀사의 KR-DL16 라인트레이서 완제품을 구매해서 사용하고 있습니다. 그런데 제가 좀 전에 코드를 수정해서 다운로드를 하려고 하는데 programming mode에 들어가는 것이 실패하고 전원을 켜보자 기존에는 원래 코딩되어 있던 대로 작동하던것이 D706 power에 빨간 불이 들어오면서 작동을 하지 않아서요. 제가 만들려던게 기존 라인트레이서의 포트A에 atmega128에서 받은 신호를 받아서 동작하도록 만들려고 했는데 센서가 많아서 그런건가 싶어서 센서를 빼 봐도 동작하질 않네요. D706에 빨간불이 들어오는 걸 보니 power 쪽 문제 같은데 이 경우 왜 그런지 알려주셨으면 합니다. 그럼 수고하시고 빠른 답변 부탁드립니다.
관리자 답변 관리자 · 2012-05-15
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. D706은 전원 LED입니다. 전원이 제대로 들어오면 불이 들어옵니다. 보드 전원은 이상 없다는 말이죠. 다른 LED 들은 포트에 물려 있는 것이라 프로그램이 지워지거나 다른 프로그램이 써 졌다면, 켜지지 않을 수도 있지요. 일단, ISP를 물리고, AVR Studio로 원래 드렸던 CD 안에 있는 hex 파일을 write 해 보세요. 그래도 잘 안된다면, 본사로 방문하시거나 택배로 A/S 점검 받으시기 바랍니다. 점검 시 보드 이상이 아니라 단순히 프로그램이 지워진 거라면 비용을 받지 않습니다. 수고하세요. > > > 안녕하세요. > 귀사의 KR-DL16 라인트레이서 완제품을 구매해서 사용하고 있습니다. > 그런데 제가 좀 전에 코드를 수정해서 다운로드를 하려고 하는데 programming mode에 들어가는 것이 실패하고 전원을 켜보자 기존에는 원래 코딩되어 있던 대로 작동하던것이 D706 power에 빨간 불이 들어오면서 작동을 하지 않아서요. > 제가 만들려던게 기존 라인트레이서의 포트A에 atmega128에서 받은 신호를 받아서 동작하도록 만들려고 했는데 센서가 많아서 그런건가 싶어서 센서를 빼 봐도 동작하질 않네요. > D706에 빨간불이 들어오는 걸 보니 power 쪽 문제 같은데 이 경우 왜 그런지 알려주셨으면 합니다. > 그럼 수고하시고 빠른 답변 부탁드립니다. >
7354 답변완료AVR Studio 관련 이창호 2012-05-14 1,175
혹시나 해서 6.0 버젼 지우고 다시 시도해봐도 마찬가지로 이 파일의 버젼이 실행 중인 Windows 버젼과 호환되지 않습니다. 컴퓨터의 시스템 정보를 확인하여 프로그램의 x86(32비트) 또는 x64(64비트) 버전이 필요한지 확인한 다음 소프트웨어 게시자에게 문의하십시오. 라고 나옵니다. 관리자 권한으로 실행하였을 경우, 아예 파일을 찾을수 없다고 나오구여
관리자 답변 관리자 · 2012-05-15
안녕하세요? 고객님, 인터넷으로 해외쪽도 유저들 뉴스그룹들을 뒤져봐도 WIN7 64비트에서 이상없이 잘 되는 것으로 나오기 때문에, 아무래도 고객님이 받으신 게 폴더가 저희한테 받은게 맞는 지 다시 확인하시고 해 주시구요. 그래도 안되면, 그파일을 오른쪽 클릭 호환성 탭으로 가셔서 다음에 대해 호환성 모드로 이 프로그램 실행 클릭하시고 확인 누르시고 실행시켜 보세요. 수고하세요. > > > 혹시나 해서 6.0 버젼 지우고 다시 시도해봐도 > > 마찬가지로 > > 이 파일의 버젼이 실행 중인 Windows 버젼과 호환되지 않습니다. 컴퓨터의 시스템 정보를 확인하여 프로그램의 x86(32비트) 또는 x64(64비트) 버전이 필요한지 확인한 다음 소프트웨어 게시자에게 문의하십시오. > > 라고 나옵니다. > > 관리자 권한으로 실행하였을 경우, > > 아예 파일을 찾을수 없다고 나오구여 >
7353 답변완료AVR Studio 관련 이창호 2012-05-14 1,420
링크 걸어주신 곳에서 다운받은 AVR Studio4 가 윈도우7 64bit 에서는 설치가 되질 않네요.. atmel 홈페이지에서 6 버젼 다운받아 사용해도 문제가 없나요?
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. 제공해 드린 버전은 WINDOWS 7 64비트에서도 잘 설치되고 사용된다고 ATMEL에서 말하고 있습니다. 제가 현재 OS 64비트를 깐곳은 가지고 있지 않아서 테스트 할수는 없습니다만, ATMEL사에서 잘 되는 것이라고 하니, 잘 될 것입니다. 뭔가 잘못된 것 같은데요. 확인하시기 바랍니다. 잘 안되시면 바탕화면에 아이콘 만드신 후 서 아이콘을 오른쪽 클릭하셔서,관리자 모드로 실행해 보세요. 참고로 엔지니어가 쓰기에 가장 편한 OS는 역시 아직도 XP입니다. AVR Studio 6 버전은 현재 베타 버전으로 STK500으로 ATMEGA128에 다운로드는 되지 않기 때문에, 4.19버전을 사용하셔야 합니다. 수고하세요. > > > 링크 걸어주신 곳에서 다운받은 AVR Studio4 가 > > 윈도우7 64bit 에서는 설치가 되질 않네요.. > > atmel 홈페이지에서 6 버젼 다운받아 사용해도 문제가 없나요? >
7352 답변완료질문이요~~^^ 황태연 2012-05-14 1,395
그럼 혹시 그거에 대한 예제는 없나요?
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 온라인강좌->AVR 강좌에서 UART라고 치시면 UART 관련 AVR 강좌가 나옵니다. 특히 UART강좌(컴파일러별 강좌)가 있는 데, 그것을 클릭하면 안에 예제소스도 들어 있습니다. printf를 통해서 AVR --> PC로 할 때 AVR 쪽의 소스 scanf를 통해서 PC --> AVR 할 때 AVR 쪽의 소스 가 들어 있습니다. 참고하세요. > > > 그럼 혹시 그거에 대한 예제는 없나요? >
7351 답변완료ab-m128-b 김원범 2012-05-14 1,341
avr에 보면 전원출력으로 5v, 12v 가있는데 어떤 연결 케이블로 연결이 가능한가요? 연결가능한 컨넥터 명칭을 알려주시면 감사하겠습니다.
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. CHW0640-02P(HOUSING() + CT0640(Terminal)을 사용한 케이블로 연결하는 것이 정석입니다. 본사에서는 2핀 to 2핀 전원 케이블이라고 부릅니다만, 가격이 너무 낮아서, 현재 판매는 하지 않고 있습니다. 또한, 파츠랜드의 se-min2 케이블로도 연결이 가능합니다.\ http://www.partsland.co.kr/shop/shopdetail.html?branduid=86893&search=min&sort= 수고하세요. > > > avr에 보면 전원출력으로 5v, 12v 가있는데 > 어떤 연결 케이블로 연결이 가능한가요? > 연결가능한 컨넥터 명칭을 알려주시면 감사하겠습니다. >
7350 답변완료AVR Studio4 다운로드 사이트가 열리지 않네요 이창호 2012-05-14 1,372
직접 파일을 업로드하여 다운로드 받을수 있게끔 만들어주시거나, 메일로 보내주세요
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 어제 밤에 다운로드 받을 수 있도록 링크 수정해 두었습니다. 다시 해 보세요. 자료실에서 4.19 다운로드를 받으시면 됩니다. 수고하세요. > > > 직접 파일을 업로드하여 다운로드 받을수 있게끔 만들어주시거나, > > 메일로 보내주세요 >
7349 답변완료질문이요! 황태연 2012-05-14 1,219
USBISP를 구입했는데 혹시 제가 이클립스에서 자바언어로 코딩을해서 숫자를 보내면 MCU에도 숫자를 받는 코딩을 해서 다운로드시키면 PC와 atmega128 사이에서 USB연결로 데이터를 주고 받을수잇는건가요?
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 그렇게 하면, UART를 통해서 PC에서 AVR로 데이터 보내는 것은 되시는 거죠. AVR에서 PC로 데이터 보내시는 것도 하셔야 합니다. 그래야 양방향으로 됩니다. 수고하세요. > > > USBISP를 구입했는데 > 혹시 > 제가 이클립스에서 자바언어로 코딩을해서 > 숫자를 보내면 > MCU에도 숫자를 받는 코딩을 해서 다운로드시키면 > > PC와 atmega128 사이에서 USB연결로 데이터를 주고 받을수잇는건가요? >
7348 답변완료7segment가.. 이상대 2012-05-13 1,383
배송을 받고 7segment가 처음부터 없었는지 확인은 못했습니다만 ㅠ 결과적으로 현재 7segment가 사라졌습니다. 안그래도 이제 128 pro를 가동하려고 isp 라이트(AD-USBISP-L)를 구매하력 하는데 7segment도 같이 구매 가능한가요?ㅜㅜ..
관리자 답변 관리자 · 2012-05-14
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 본사에서 구매하실 때, 같이 좀 보내달라고 하시면, 하나 보내드릴께요.^^ 계속 본사 제품을 써 주시니, 보답입니다. 수고하세요. > > > 배송을 받고 7segment가 처음부터 없었는지 확인은 못했습니다만 ㅠ > 결과적으로 현재 7segment가 사라졌습니다. 안그래도 이제 128 pro를 가동하려고 isp 라이트(AD-USBISP-L)를 구매하력 하는데 7segment도 같이 구매 가능한가요?ㅜㅜ.. >
7347 답변완료몇일전 공덕역 사무실에서 엔코더모터 드라이버를 사갔는데요 황용호 2012-05-13 1,302
이 제품 데이터시트 좀 보려고 찾았는데 없네요... 자료 좀 부탁드리겠습니다 제품 이름이 AD-ENCODER V1.0 Encoder module 이라고 써있는데 이게 맞는지 모르겠네요
관리자 답변 관리자 · 2012-05-13
안녕하세요 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 온라인 강좌에서 AVR 강좌를 보면, 거기에 엔코더 관련된 강좌가 있습니다. 거기 보면, 회로도도 나와 있고, 대강 설명되어 있습니다. 예제도 함께 있으니, 참고 바랍니다. 수고하세요. > > > 이 제품 데이터시트 좀 보려고 찾았는데 없네요... > > 자료 좀 부탁드리겠습니다 > > 제품 이름이 AD-ENCODER V1.0 Encoder module 이라고 써있는데 이게 맞는지 모르겠네요 >
7346 답변완료AM-128RAM모듈을 사용해서 ADC사용하려는데 질문좀...;; 신성우 2012-05-13 1,375
ISR(TIMER0_COMP_vect) { CNT++; if(CNT == 500) // 1ms * 250 = 250ms; //250m마다 AD변환(측정) { ADC_DATA = 0; for(i=0; i<20; i++) //정확성높이려면 더 많이 측정하면 됨(but 시간많이걸림) 반복횟수를 바꾸면 밑에 ADC_DATA를 나누는 값도 같이 바꿔줘야함 // read ADC by 5times { ADCSRA = 0xC7; //1100 0111 // ADC ,Enable,Start,Single Mode,분주비 : 128 //ADSC=1; 변환시작 //첫번째는 enable 두번재는 시작비트 4번째비트는 끝낫는지 확인비트(플래그비트 ADIF= 변환중이면 0 끝나면1) while((ADCSRA & 0x10) != 0x10); // Wait Conversion //ADIF가 1이될때까지 반복하다가 변환이 끝나면 탈출 //ADC_DATA += ADCL + (ADCH << 8); // add A/D result 5 times, ADCH<<8 = ADCH*256 ADC_DATA +=ADC; //바로 위와 같은식 위의 식은 상위,하위 나누어서 표현한것 //while에 속한문장이 아님!( ; 을 잘보자) Delay_ms(1); } ADC_DATA = ADC_DATA/20; // divide sum by 5 //5번 누적한값의 평균값을 구한것 DEC_OUT = (ADC_DATA / 204.6) * 100; // if 2.5 = 250 //0~1023를 0~5 사이값으로 변환(실제론 0~500 ->100을 곱햇기때문) //204.6= 1023/5 //소수점 2번째 자리까지 확보하기위해 100을 곱함 CNT = 0; } } int main(void) { MCU_initialize(); // Initialize MCU Delay_ms(50); // Wait for system stabilization TIMER_initialize(); //주기적으로 AD컨버터하기위해 타이머사용 ADC_initialize(); sei(); while(1) { if(DEC_OUT >10) { PORTD=0x01; } else { PORTD=0x00; } } } void MCU_initialize(void) /* initialize ATmege128 MCU */ { MCUCR = 0x80; // Enable the external memory and I/O XMCRA = 0x00; // 0x1100-0xFFFF = 0 wait XMCRB = 0x86; // Enable the bus keeper, use PC2-PC7 is Port, PC0-PC1 is address //PORTA is Bus DDRA=0xFF; PORTA=0x00; DDRB = 0xFF; // PORTB = Output (LED1-8) PORTB = 0xFF; // PORTB is High (LED ALL OFF) DDRC = 0xFC; // PORTC : 0~1 is Address bus, 2~7 is I/O PORTC = 0x00; // PORTC is Low DDRD = 0xFF; // PORTD PIN7 is Buzzer, PIN0~6 is S/W, UART, Counter PORTD = 0x00; // PORTD PIN7 is High : Buzzer Off DDRE = 0xFC; // PORTE PIN2~7 is Output, PIN0~1 is UART PORTE = 0x00; // PORTE is Low DDRF = 0x00; // PORTF : 0,1 is ADC Input PORTF = 0x00; // PORTF is Low // LCD_FND_CONTROL = 0xF0; // FND & LCD Disable } void TIMER_initialize() { // CTC Mode, prescaler clk/256 , Disable Output OC0 TCCR0 = (1<<WGM01) | (0<<WGM00) | (0<<COM01) | (0<<COM00) | (1<<CS02) | (1<<CS01) | (0<<CS00);// = 0x0E ASSR = 0x00; // use internal clock OCR0 = (unsigned char)(1000/16) - 1 ; // 1000us interrupt TCNT0 = 0x00; // Count Value clear TIMSK = (1<<OCIE0); //=0x02; // Enable timer0 Compare Irq TIFR = 0x00; // Timer0~2 Irq flag clear } void ADC_initialize(void) { // select ADC0 with external AREF ADMUX = (0<<REFS1) | (0<<REFS0) //기준전압 | (0<<ADLAR) | (0<<MUX4) | (0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (0<<MUX0); // =0x00 //먹스 선택 // REFS = 00 : AREF를 사용 // ADLAR = 0 : 우측정렬 A/D변환결과를 저장 // MUX = 00000 :단극성 ADC0을 입력 ADCSRA = (1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // =0x87 // ADC enable // 128 분주비 } 일단 소스는 이렇게 짯구요, 컴파일이랑 다운로딩은 제대로 진행되는데 실제 작동이 안되네요;; PORTF0에 적외선센서 출력(0~5v)을 받아서 AD컨버팅한 값에 따라 PORTD에 연결한 LED를 on/off시키는 소스인데요 회로도를 보니 AREF, AVCC둘다 VCC에 같이 연결되어 잇는데, 기준전압을 무엇으로 해도 상관이 없는것 아닌가요?? 그리고 센서출력을 그냥 바로 PF0에 바로 연결하기만 하면 되는지 아니면 기준전압설정을 위해서 따로 회로를 구성해줘야 되는지 잘 모르겟네요;; 질문이 두서가 없지만;; 혹시 제가 잘못 알고 있는게 있는지 한번 봐주시길 바랍니다 ㅎ;;
관리자 답변 관리자 · 2012-05-13
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. 답변 드릴께요. 일단, ISR 루틴에 delay 문과 같은 길게 실행되는 문장을 넣으면 안됩니다. 또한, for문을 20번이나 반복하는 등의 for 문도 넣으면 안됩니다. 인터럽트 문에서는 상태만 읽어와서 변수에 저장하거나 변수만 값을 바꾸고, 메인에서 그 상태값을 읽고서 그 상태값에 따른 행위를 하는 겁니다. 인터럽트 서비스 루틴이 너무 길어지면, 끝난 후에 돌아갈 곳이 없어집니다.또한, 이미 다시 들어와 있는 상황 등이 되어서, 무슨 일이 일어날지 모르게 됩니다. 자료실에서 AD 로 검색해서 본사의 예제를 참고하세요. 그리고, AREF랑 AVCC 등이 VCC에 다 연결되어 있다면, AREF만 사용이 가능합니다. 다른 옵션을 주게 되면 외부 전압에 쇼트될 것이기 때문입니다. 또한, AVCC 또는 내부 2.56V를 레퍼런스로 쓰고 싶다면, AREF에 가한 전압을 떼어 주세요. 또한, 센서 출력값이 범위가 어떻게 되는 지 보고, AVR의 현재 설정 모드상 입력 범위를 보고, 결정해야 합니다. 서로 맞지 않는다면, 맞도록 조정해 준 이후에 입력해야 합니다. 수고하세요. > > > ISR(TIMER0_COMP_vect) > { CNT++; > if(CNT == 500) // 1ms * 250 = 250ms; //250m마다 AD변환(측정) > { > ADC_DATA = 0; > for(i=0; i<20; i++) //정확성높이려면 더 많이 측정하면 됨(but 시간많이걸림) 반복횟수를 바꾸면 밑에 ADC_DATA를 나누는 값도 같이 바꿔줘야함 // read ADC by 5times > { ADCSRA = 0xC7; //1100 0111 // ADC ,Enable,Start,Single Mode,분주비 : 128 > //ADSC=1; 변환시작 > //첫번째는 enable 두번재는 시작비트 4번째비트는 끝낫는지 확인비트(플래그비트 ADIF= 변환중이면 0 끝나면1) > while((ADCSRA & 0x10) != 0x10); // Wait Conversion //ADIF가 1이될때까지 반복하다가 변환이 끝나면 탈출 > //ADC_DATA += ADCL + (ADCH << 8); // add A/D result 5 times, ADCH<<8 = ADCH*256 > ADC_DATA +=ADC; //바로 위와 같은식 위의 식은 상위,하위 나누어서 표현한것 //while에 속한문장이 아님!( ; 을 잘보자) > Delay_ms(1); > } > ADC_DATA = ADC_DATA/20; // divide sum by 5 //5번 누적한값의 평균값을 구한것 > DEC_OUT = (ADC_DATA / 204.6) * 100; // if 2.5 = 250 > //0~1023를 0~5 사이값으로 변환(실제론 0~500 ->100을 곱햇기때문) > //204.6= 1023/5 > //소수점 2번째 자리까지 확보하기위해 100을 곱함 > > > > CNT = 0; > } > } > > int main(void) > { MCU_initialize(); // Initialize MCU > Delay_ms(50); // Wait for system stabilization > TIMER_initialize(); //주기적으로 AD컨버터하기위해 타이머사용 > ADC_initialize(); > sei(); > > while(1) > { > > if(DEC_OUT >10) > { > PORTD=0x01; > } > > else > { > PORTD=0x00; > } > > > } > } > > void MCU_initialize(void) /* initialize ATmege128 MCU */ > { MCUCR = 0x80; // Enable the external memory and I/O > XMCRA = 0x00; // 0x1100-0xFFFF = 0 wait > XMCRB = 0x86; // Enable the bus keeper, use PC2-PC7 is Port, PC0-PC1 is address > > //PORTA is Bus > DDRA=0xFF; > PORTA=0x00; > > > DDRB = 0xFF; // PORTB = Output (LED1-8) > PORTB = 0xFF; // PORTB is High (LED ALL OFF) > > DDRC = 0xFC; // PORTC : 0~1 is Address bus, 2~7 is I/O > PORTC = 0x00; // PORTC is Low > > DDRD = 0xFF; // PORTD PIN7 is Buzzer, PIN0~6 is S/W, UART, Counter > PORTD = 0x00; // PORTD PIN7 is High : Buzzer Off > > DDRE = 0xFC; // PORTE PIN2~7 is Output, PIN0~1 is UART > PORTE = 0x00; // PORTE is Low > > DDRF = 0x00; // PORTF : 0,1 is ADC Input > PORTF = 0x00; // PORTF is Low > > // LCD_FND_CONTROL = 0xF0; // FND & LCD Disable > } > > void TIMER_initialize() > { // CTC Mode, prescaler clk/256 , Disable Output OC0 > TCCR0 = (1<<WGM01) | (0<<WGM00) > | (0<<COM01) | (0<<COM00) > | (1<<CS02) | (1<<CS01) | (0<<CS00);// = 0x0E > ASSR = 0x00; // use internal clock > OCR0 = (unsigned char)(1000/16) - 1 ; // 1000us interrupt > TCNT0 = 0x00; // Count Value clear > TIMSK = (1<<OCIE0); //=0x02; // Enable timer0 Compare Irq > TIFR = 0x00; // Timer0~2 Irq flag clear > } > > void ADC_initialize(void) > { // select ADC0 with external AREF > ADMUX = (0<<REFS1) | (0<<REFS0) //기준전압 > | (0<<ADLAR) > | (0<<MUX4) | (0<<MUX3) | (0<<MUX2) | (0<<MUX1) | (0<<MUX0); // =0x00 //먹스 선택 > // REFS = 00 : AREF를 사용 > // ADLAR = 0 : 우측정렬 A/D변환결과를 저장 > // MUX = 00000 :단극성 ADC0을 입력 > > ADCSRA = (1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) > | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // =0x87 > // ADC enable > // 128 분주비 > } > > 일단 소스는 이렇게 짯구요, 컴파일이랑 다운로딩은 제대로 진행되는데 실제 작동이 안되네요;; > > PORTF0에 적외선센서 출력(0~5v)을 받아서 > > AD컨버팅한 값에 따라 PORTD에 연결한 LED를 on/off시키는 소스인데요 > > 회로도를 보니 AREF, AVCC둘다 VCC에 같이 연결되어 잇는데, 기준전압을 무엇으로 해도 상관이 없는것 아닌가요?? > > 그리고 센서출력을 그냥 바로 PF0에 바로 연결하기만 하면 되는지 아니면 기준전압설정을 위해서 따로 회로를 구성해줘야 되는지 잘 모르겟네요;; > > 질문이 두서가 없지만;; 혹시 제가 잘못 알고 있는게 있는지 한번 봐주시길 바랍니다 ㅎ;; >
7345 답변완료DC라인 트레이서용 바퀴를 구입하려 하는데요... 윤영우 2012-05-11 1,307
http://www.newtc.co.kr/dpshop/shop/item.php?it_id=1314663982 위의 제품에 관한 문의 입니다. 제품 상세 설명에 수량에 관한 명확한 기제가 보이지 않아 문의 드립니다. 1개씩만 판매하는 가격인가요? 아니면 2개 1조가 되어 한쌍이 포함된 가격인가요? 또 2x5 박스 케이블 구입시 2ea라고 표기되었는데 한번 구매하면 기본 수량이 2개로 배송되는것인지 궁금합니다.
관리자 답변 관리자 · 2012-05-12
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사합니다. 답변 드릴께요. > > > http://www.newtc.co.kr/dpshop/shop/item.php?it_id=1314663982 > 위의 제품에 관한 문의 입니다. > 제품 상세 설명에 수량에 관한 명확한 기제가 보이지 않아 문의 드립니다. > 1개씩만 판매하는 가격인가요? > 아니면 2개 1조가 되어 한쌍이 포함된 가격인가요? ==> 1개당 가격입니다. > > 또 2x5 박스 케이블 구입시 2ea라고 표기되었는데 한번 구매하면 기본 수량이 2개로 배송되는것인지 궁금합니다. ==> 기본 수량이 2개 포장입니다. > 감사합니다.
7344 답변완료AB-M128Pro-A 관련 질문입니다. 최영석 2012-05-11 1,256
AB-M128Pro-A 그림을 보면 MCU에 UART가 달려있고.. 보드 위에도 UART2개가 달려있는데.. 두 개 차이가 뭔지 궁금합니다.. MCU쪽은 UART 핀이 3개고 보드쪽은 UART 핀이 4개 인데.. 차이점 부탁드립니다.. MCU UART 사용법도 답변 부탁드립니다.
관리자 답변 관리자 · 2012-05-13
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. MCU의 UART 3핀은 RS-232C 레벨입니다. 즉, +-12V 레벨입니다.(실제로는 +9V, -5V 정도 됩니다만) 즉, AVR에서 RS-232C를 통과한 후의 레벨이죠. 보드의 UART 4핀은 TTL Level입니다. 즉, 5V or 0V 레벨입니다. 즉, 바로 AVR에서 나오는 레벨입니다. MCU UART 사용법은 온라인 강좌에서 AVR 강좌에서 UART로 검색해 보면, UART 강좌(컴파일러별..강좌)가 있을 겁니다. 그걸 참고하세요. 예제도 함께 있습니다. 수고하세요. > > > AB-M128Pro-A 그림을 보면 MCU에 UART가 달려있고.. > > 보드 위에도 UART2개가 달려있는데.. > > 두 개 차이가 뭔지 궁금합니다.. > > MCU쪽은 UART 핀이 3개고 > > 보드쪽은 UART 핀이 4개 인데.. > > 차이점 부탁드립니다.. MCU UART 사용법도 답변 부탁드립니다. >