로그인 | 회원가입 | 주문 조회
총 10,748개의 질문이 있습니다.
번호 제목 작성자 등록일 조회
4973 답변완료SLCD 문의 윤원호 2010-04-26 1,300
안녕하십니까? AM-SLCD를 구입해서 사용해보고 있습니다. 우리가 쓰는 CPU가 규블럭입니다. 큐블럭에서 제어하려면 어떻게 해야 하는지요? 부탁합니다. 수고하십시오. 감사합니다.
관리자 답변 NEWTC · 2010-04-26
안녕하세요 AM-SLCD 는 테스트하는 방법은 컴퓨터의 rs232 와 연결하여 하이퍼 터미널로 연결하여 사용하시면 테스트가 가능합니다. 큐블럭 보드는 저희가 잘모르는 부분이라 ... 큐블럭에서 uart 신호나 rs232 신호가 지원가능여부를 문의 하시길 바랍니다. 수고하세요 >안녕하십니까? >AM-SLCD를 구입해서 사용해보고 있습니다. >우리가 쓰는 CPU가 규블럭입니다. >큐블럭에서 제어하려면 어떻게 해야 하는지요? >부탁합니다. >수고하십시오. >감사합니다.
4972 답변완료안녕하세요 이근호 2010-04-26 1,277
먼저번에 질문드렸었는데요 as받으셔야 한다구 하셨는데 칩이 나갔다는 건가요? 그리고 이제는 이런 에러메세지가 떠요 그리고 처음에 기본 세팅으로 되어서 출하된다구 하셨는데 그림 올려주신데로 세팅이 안되어있었는데요 ㅠ 자세한 답변 부탁드립니다 ㅠ
관리자 답변 NEWTC · 2010-04-26
안녕하세요 초보자일경우 퓨즈 셋팅 관련하여 변경을 권장하지 않습니다. 퓨즈를 실수로 잘못 입력 하면 칩을 사용 할수가 없습니다. 전에 답변해 드릴 것처럼 퓨즈셋팅 관련 체크 박스를 해체하고 사용 하시면 됩니다. 코드비젼에서는 퓨즈설정하는 부분에서 같은 창으로 리드가 되지않습니다. 그부분은 라이트하는 창만 존재합니다. 퓨즈리드를 하면 조금만한 다른창으로 리드된값을 보여줍니다. 그림에 이미지의 체크된 부분은 초기셋팅을 본사에서 이값으로 설정한 것입니다. 수고하세요 >먼저번에 질문드렸었는데요 > >as받으셔야 한다구 하셨는데 칩이 나갔다는 건가요? > >그리고 이제는 이런 에러메세지가 떠요 > >그리고 처음에 기본 세팅으로 되어서 출하된다구 하셨는데 > >그림 올려주신데로 세팅이 안되어있었는데요 ㅠ > >자세한 답변 부탁드립니다 ㅠ
4971 답변완료코드 비젼 사용중입니다 정기영 2010-04-25 1,257
우선 AVR MEGA128 개발보드 AB-M128pro-A 를 사용하고있습니다 그리고 왕초보 입니다.. 세븐세그먼트 동작을 시키고 싶은데요 여기 나와있는 ICC컴파일러를 사용하면 예제파일을 바로 돌릴수있겠지만 다 설치를 하고 동영상과 설명등을 보았는데요 설정하는 법은 나와있는것같은데 어떻게 컴파일을 하는지 그리고 ATmega128에 어떻게 입력을 시키는지 그런 동영상이나 설명은 없어보이더라구요 초보인데다가 물어볼사람이없어서 atmega128에 넣어보려고 노력했지만 잘안되더라구요 그래서 코드비젼을 깔아보고 설명되어있는 것들을 뒤져보니까 ATmega128에 입력이 되더라구요 그래서 질문이 있는데요 이싸이트에서 세븐세그먼트 예제를 받았습니다. 그리고 헤더 파일은 인터넷에 있는 코드비젼 헤더파일로 바꾸어봤는데요 입력을 해보면 동작을 하지 않더라구요 여기서 또 뭘 바꿔주어야 코드비젼에서사용할수있는것인지 c좀 봐주셨으면 하구요 두번째로 기본적으로 이싸이트에있는 예제를 사용하고 싶어서 iccavr을 사용하고 싶은데 컴파일 하는법같은것을 알수있는 방법이 있나합니다. 알려주시면 감사합니다
관리자 답변 NEWTC · 2010-04-26
안녕하세요 아래는 컴파일 프로젝트 설정 부터 다운로드 하는 방법이 있습니다. http://www.newtc.co.kr/board/data/mega128_lecture/프로젝트_생성_및_다운로드_방법.pdf 컴파일러 버젼이 변경되어 device configuration 에서 atmega128/can128 이 아니고 atmega128(please see notes) 로 변경하여 사용 하시길 바랍니다. 코드 수정에 대해서는 써포트를 해드릴지 않고 있습니다. ^^;; 수고하세요 >우선 AVR MEGA128 개발보드 AB-M128pro-A 를 사용하고있습니다 > >그리고 왕초보 입니다.. >세븐세그먼트 동작을 시키고 싶은데요 >여기 나와있는 ICC컴파일러를 사용하면 예제파일을 바로 돌릴수있겠지만 >다 설치를 하고 동영상과 설명등을 보았는데요 >설정하는 법은 나와있는것같은데 > 어떻게 컴파일을 하는지 그리고 ATmega128에 어떻게 입력을 시키는지 >그런 동영상이나 설명은 없어보이더라구요 > >초보인데다가 물어볼사람이없어서 atmega128에 넣어보려고 노력했지만 잘안되더라구요 > >그래서 코드비젼을 깔아보고 설명되어있는 것들을 뒤져보니까 >ATmega128에 입력이 되더라구요 > >그래서 질문이 있는데요 > >이싸이트에서 세븐세그먼트 예제를 받았습니다. >그리고 헤더 파일은 인터넷에 있는 코드비젼 헤더파일로 바꾸어봤는데요 >입력을 해보면 동작을 하지 않더라구요 >여기서 또 뭘 바꿔주어야 코드비젼에서사용할수있는것인지 c좀 봐주셨으면 하구요 > >두번째로 기본적으로 이싸이트에있는 예제를 사용하고 싶어서 >iccavr을 사용하고 싶은데 컴파일 하는법같은것을 알수있는 방법이 있나합니다. > >알려주시면 감사합니다
4970 답변완료KR-SL16 라인트레이서(스테핑모터) 이모승 2010-04-25 1,306
1주전에 구매하였습니다. 완제품을 구매하였는데 시작동결과 센서부가 잘 작동하지않아 수정하였는데요 저희가 라인트레이서 맵을 만들려고 하는데 검은선의 두께는 어느정도가 가장 잘 인식되는지 알고싶습니다. 시행용 맵을 사서 작동시켜봤는데 잘 작동이안되더라구요 몇cm두께에서 잘 작동하는지 알고싶습니다. 그리고 원래 기계가 덜덜거리나요? 앞으로가다가 커브를 돌때에 라인트레이서가 멈춰서 제자리에서 버벅거리네요 그래서 손으로 다시 원위치 시켜줘야 작동하고 기계가 잘 작동하는지 아니면 원래이런건지 의심스럽습니다.
관리자 답변 NEWTC · 2010-04-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 검은선은 본사에서 테스트 시에 검정색 고무 테이프를 이용하여 테스트 하기 때문에 대략 1.2cm 정도 되는 것 같습니다. 선 굵기를 5mm 이하로 하니까 좀 인식률이 떨어지는 것 같았습니다. 하지만, 프로그램 자체가 기본적인 프로그램으로 되어 있어서, 좀 응용하셔서 사용하시는 것이 좋겠습니다. 커브 길도 각도가 너무 심하다면, 현재의 테스트 프로그램으로는 정상동작하기가 어려울 겁니다. 따라서, 프로그램을 수정하여 사용하는 것이 필요합니다. 라인트레이서가 덜덜거렸다면, 그것은 전류 공급등에서 밧데리가 문제가 있지 않을까 싶은데요. 혹시 전압, 전류를 얼마나 공급하셨는 지요? 1.2V 1,000mA 짜리 AAA싸이즈 리튬이온이나 수소망간 밧데리 12개를 직렬로 2x6 형태로 붙여서 사용하는 것을 추천하고 있습니다. 충분한 전류, 전압을 공급하여 주길 바랍니다. 또한, 그렇다고 하더라도 CS2P나 MS2의 가변 저항을 돌려서 토크에 맞게 바이어스를 잘 맞추는 것도 필요하겠습니다. 스테핑 모터 구동부 관련되어서는 아래 링크를 참고하세요. - 아래 - 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=40 수고하세요. >1주전에 구매하였습니다. >완제품을 구매하였는데 시작동결과 센서부가 잘 작동하지않아 수정하였는데요 >저희가 라인트레이서 맵을 만들려고 하는데 검은선의 두께는 어느정도가 가장 잘 인식되는지 알고싶습니다. >시행용 맵을 사서 작동시켜봤는데 잘 작동이안되더라구요 >몇cm두께에서 잘 작동하는지 알고싶습니다. > >그리고 원래 기계가 덜덜거리나요? >앞으로가다가 커브를 돌때에 라인트레이서가 멈춰서 제자리에서 버벅거리네요 >그래서 손으로 다시 원위치 시켜줘야 작동하고 > >기계가 잘 작동하는지 아니면 원래이런건지 의심스럽습니다. > >
4969 답변완료USBISP의 win7 64bit 드라이버 관련 질문입니다 . 이종훈 2010-04-25 1,419
이곳 게시판에서 자료를 보고 an144sw 프로그램을 이용해 pid 를 변경했습니다만 드라이버가 잡히지 않고 있습니다. PID 변경 전에 몇번이고 확인했는데 0XEA60 이 아닌 0XEA만 입력되고 스크린샷에도 0XEA로 나와있어 그렇게 변경했고 다른 부분은 건드리지 않았습니다. 제가 변경한 것이 잘못된 것인지, 다시 복구해서 64bit에서 돌리는 것이 가능한지 알고 싶습니다.
관리자 답변 NEWTC · 2010-04-26
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사합니다. 우선, 윈도우즈 7 64비트에서 잘 동작하는 것은 일전에 확인되었습니다. 하는 방법이 약간 복잡하며, 아래 몇가지 사항을 하게 되면, 드라이버는 설치를 할 수 있습니다. 첨부해 드리는 WIN7용 드라이버를 쓰려면 PID를 0xEA60으로 변경하여야 합니다. 이 때, 주의하실 사항은 이 작업은 Windows 7 컴퓨터에서 하시면 안되구요. 안잡히니까요. XP 있는 PC에서 한 번만 하시면 됩니다. 변경할 때 첨부해 드린 an144sw.zip을 쓰셔서, USB에 USBISP를 꽂은 상태에서 변경하시려는 PID 쪽에만 0xEA60으로 변경하여 프로그램 하시면 됩니다. 그리고 나서, 드라이버 깔면 됩니다. 윈도우즈 7 64비트에서는 현재 WHQL Qualified driver를 사용해야 해서, USB 칩 제조사인 silabs 사의 정식 드라이버를 사용하면 사용이 가능합니다. 따라서, PID를 원래 칩 제조시에 되어 있는 0xEA60으로 변경해야 silabs 원래 드라이버를 잡기 때문에 그렇게 해야 합니다. 아래에 WINDOWS 7 64비트 Ult. 에서의 성공 사례가 있습니다. - 아래 - http://www.newtc.co.kr/board/view.php?id=qna&page=1&sn1=&divpage=2&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=11431 그런 이후에, AVR Studio 깔고, ICCAVR 깔고 하시면 됩니다. 나머지는 FAQ의 USBISP 사용법 메뉴얼과 사용법은 같습니다. AVR Studio 설치시에 V4.17 이상을 추천합니다. 수고하세요. >이곳 게시판에서 자료를 보고 an144sw 프로그램을 이용해 pid 를 변경했습니다만 > >드라이버가 잡히지 않고 있습니다. > >PID 변경 전에 몇번이고 확인했는데 0XEA60 이 아닌 0XEA만 입력되고 > >스크린샷에도 0XEA로 나와있어 그렇게 변경했고 다른 부분은 건드리지 않았습니다. > > >제가 변경한 것이 잘못된 것인지, 다시 복구해서 64bit에서 돌리는 것이 가능한지 알고 싶습니다.
4968 답변완료하이퍼 터미널 질문입니다.. 노영래 2010-04-24 1,381
Pro 77000원자리 키트인데요.. 제기억상으로는 예전에. ex_printf 소스를 돌렸을때, 하이퍼터미널에서.. 테스트 프로그램 : 1부터 쭉 늘어나면서 나왔었는데요.. 아마;; 여하튼.. ..지금은.. 프로그램이 들어가서 LED는 깜빡이는데. 하이퍼 터미널에서 응답이 없거나, 메세지가 간혹나오기도 하고. 글자가 깨지기도하고. 이상하게 나옵니다. 그럼 어디가 고장났을 확률이 높나요? UART포트문제인가요?
관리자 답변 NEWTC · 2010-04-24
안녕하세요? 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다. 아마도 리셋 부에서 문제가 생기지 않았나 생각됩니다. 또한, 클럭관련 퓨즈 변경시에도 그럴 수 있습니다. 퓨즈비트가 0xffd9ef 인지 확인하여 보시구요. 아니라면 맞게 변경하여 주세요. 퓨즈비트 변경 관련해서는 위의 FAQ의 2페이지에 보면 USBISP 사용법 메뉴얼이 있습니다. 참고하시기 바랍니다. 그렇게 했는 데도 문제라면, 본사로 보내서 점검 받으시는 것이 좋겠습니다. 수고하세요. >Pro 77000원자리 키트인데요.. > >제기억상으로는 예전에. >ex_printf 소스를 돌렸을때, >하이퍼터미널에서.. >테스트 프로그램 : 1부터 쭉 늘어나면서 >나왔었는데요.. 아마;; 여하튼.. > >..지금은.. 프로그램이 들어가서 LED는 깜빡이는데. >하이퍼 터미널에서 응답이 없거나, >메세지가 간혹나오기도 하고. >글자가 깨지기도하고. 이상하게 나옵니다. > >그럼 어디가 고장났을 확률이 높나요? >UART포트문제인가요?
4967 답변완료iar컴파일러에서 AT91SAM7S256에 대해 레지스터 문의합니다. 정의종 2010-04-23 1,343
포인터 관련 질문입니다. 1) unsigned char buff[512]; unsigned int *p; p = (unsigned int*)&buff[454]; 2) unsigned char buff[512]; unsigned int *p; p = (unsigned int*)&buff[0]; 2)번의 경우 문제 없이 포인터를 인식하는데..1)번의 경우는 왜 안될까요?? 어셈블리 lst파일도 문제없는듯하고,,컴파일러 옵션을 arm과 tumb모드 문제도 아닌듯하고, 스택 오버도 아니고..도대체 모르겠네요.. 다른 iar마이컴 종류 컴파일러는 다 먹었는데.. 혹시 제가 모르는 특이한 문제라고 있나요??????
관리자 답변 NEWTC · 2010-04-23
안녕하세요 1.2. 번 문법상 이상은 없습니다. 컴파일 에러가 생기지 않습니다. 질문의 제목은 레지스터 문의이시고 내용 씨언어 문법상 질문이라.. 질문을 내용으로 자세히 설명이 불가능합니다. 1번으로 컴파일하면 경고가 생기다는 말인가요 ? 아니면 에러 인가요 ? 메인루틴을안에 실행문구를 주석 처리하시고 저 두개만 문법만 테스트 해보시길 바랍니다. 수고하세요 >포인터 관련 질문입니다. >1) >unsigned char buff[512]; >unsigned int *p; > >p = (unsigned int*)&buff[454]; > >2) >unsigned char buff[512]; >unsigned int *p; > >p = (unsigned int*)&buff[0]; > > >2)번의 경우 문제 없이 포인터를 인식하는데..1)번의 경우는 왜 안될까요?? > >어셈블리 lst파일도 문제없는듯하고,,컴파일러 옵션을 arm과 tumb모드 문제도 아닌듯하고, > >스택 오버도 아니고..도대체 모르겠네요.. 다른 iar마이컴 종류 컴파일러는 다 먹었는데.. > >혹시 제가 모르는 특이한 문제라고 있나요?????? > >
4966 답변완료ad-usbisp-l 문의 이근호 2010-04-23 1,348
안녕하세요 ad-usbisp-l 를 atmega 128과 연결하고 소스를 올리려고 하는데 이러한 에러가 뜨네요 프로그램은 코드비전을 사용했구요 어떻게 해야 할까요?ㅠㅠ
관리자 답변 NEWTC · 2010-04-23
안녕하세요 첨부하신 그림을 보니 퓨즈비트 관련된 항목에 실수를 하시듯 합니다.. 퓨즈셋팅관련 이미지를 참고하시길 바랍니다. program fuse bit 체크는 보통 지우고 하시길 바랍니다. 퓨즈 셋팅은 제품출하시 맞추어 나갑니다. 퓨즈 변경하실때만 체크하고 세부항목을 잘 선택해서 하시길 바랍니다. 퓨즈 셋팅을 실수하시면 칩을 사용할수가 없습니다. a/s를 받아보시길 바랍니다. http://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=5 수고하세요 >안녕하세요 > >ad-usbisp-l 를 atmega 128과 연결하고 소스를 올리려고 하는데 > >이러한 에러가 뜨네요 > >프로그램은 코드비전을 사용했구요 > >어떻게 해야 할까요?ㅠㅠ
4965 답변완료안녕하세요. 백철웅 2010-04-23 1,367
atmega128 pro 킷트 완제품을 구입했는데요 동봉된 예제 소스가 들어있다는 씨디를 열어보니 공시디네요.. 안에 아무것도 없다고 나오는데.. 예제 소스 다시 받을수 없을까요?
관리자 답변 NEWTC · 2010-04-23
안녕하세요? 고객님, 저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다. 아마도 CDROM에 따라서, CD 내용이 인식이 안되는 경우가 있는 것 같습니다. 아직, 그런 보고는 받은 적이 없지만, 간혹 그럴 수 있다고 생각됩니다. CD 자체는 내용이 안에 있을 겁니다. CD 뒷면을 보시면 반짝이는 면을 빛에 비춰보면, 약간 빛이 달라지는 부분이 있을 텐데, 거기까지 구워진 거거든요. 확인해 보시구요. 일단, 예제는 이멜로 보내드렸습니다. 감사합니다. >atmega128 pro 킷트 완제품을 구입했는데요 > >동봉된 예제 소스가 들어있다는 씨디를 열어보니 > >공시디네요.. > >안에 아무것도 없다고 나오는데.. > >예제 소스 다시 받을수 없을까요?
4964 답변완료AM-RFMOD와 PC간의 연결문의합니다 황성운 2010-04-23 1,251
AM-RFMOD 2개와 개발보드 AM-128PRO를 쓰고 있습니다 현재 128에서 pc로 하이퍼터미널을 통해 아스키코드 값을 전송하려고 합니다 AM-RFMOD(pc)을 USB변환잭에 바로 꽂아서 (5V RX TX GND) 컴퓨터랑 연결중이구요 AM-RFMOD(128)는 개발보드 UART0(5V RX TX GND)와 연결을 했는데 (두 모듈다 UART data communication mode로 했고 CR1(OP)부분의 빨간등이 깜빡거리고 있네요) 하이퍼 터미널에서는 아무 값도 안나오더라구요. 제가 한것 처럼 연결하면 되는 건지 모르겠네요 그리고 자료실에서 구한 RFMod.exe 프로그램으로 설정값을 조정하는게 있던데 메뉴얼데로 해도 "AM-RFMOD와 시리얼 통신포트 설정이 틀리면 통신이 불가능하거나 AM-RFMOD의 설정이 안됩니다." 라고 뜨는데요 뭐가 잘못된건가요?
관리자 답변 NEWTC · 2010-04-23
안녕하세요? 고객님, RFMOD에 전원을 끄시고 Factory Mode로 딥스위치를 변경하시구요. 전원을 넣으신 후에, 3초 쯤 계시다가 다시 전원을 끄시고, 다시 Communication Mode로 변경하시고, 다시 RFMOD 프로그램으로 기본 셋팅으로 연결하여 해보세요. 속도가 달라져서 그럴 수도 있습니다. 해보시고, 잘 안되시면, 본사로 택배로 보내시거나 방문하셔서 A/S 받으시는 것이 좋겠습니다. 수고하세요. >AM-RFMOD 2개와 개발보드 AM-128PRO를 쓰고 있습니다 >현재 128에서 pc로 하이퍼터미널을 통해 아스키코드 값을 전송하려고 합니다 > >AM-RFMOD(pc)을 USB변환잭에 바로 꽂아서 (5V RX TX GND) 컴퓨터랑 연결중이구요 > >AM-RFMOD(128)는 개발보드 UART0(5V RX TX GND)와 연결을 했는데 > >(두 모듈다 UART data communication mode로 했고 > CR1(OP)부분의 빨간등이 깜빡거리고 있네요) > >하이퍼 터미널에서는 아무 값도 안나오더라구요. 제가 한것 처럼 연결하면 되는 건지 모르겠네요 > >그리고 자료실에서 구한 RFMod.exe 프로그램으로 설정값을 조정하는게 있던데 메뉴얼데로 해도 > >"AM-RFMOD와 시리얼 통신포트 설정이 틀리면 통신이 불가능하거나 > AM-RFMOD의 설정이 안됩니다." > >라고 뜨는데요 뭐가 잘못된건가요?
4963 답변완료AM-SLCD216 이 LCD를 사용하는데요 정혜현 2010-04-22 1,809
안녕하세요 습도센서를 이용해서 습도를 측정하고자 합니다. 근데 왜 LCD에 값을 출력하려고 하는데 왜 이상한 기호같은것만나오는건가요? 일어같은거던데.. float형은 표현이 안되는건가요? #include <iom128v.h> #include <macros.h> #include <stdio.h> #include <math.h> #define noACK 0 #define ACK 1 //SHT71 주소,명령어 미리 지정 #define STATUS_REG_W 0x06 #define STATUS_REG_R 0x07 #define MEASURE_TEMP 0x03 #define MEASURE_HUMI 0x05 #define RESET 0x1e typedef union { unsigned int i; float f; }value; value temp_val, humi_val; enum{TEMP,HUMI}; unsigned int us =0; const float C1= -4.0; //for 12 Bit const float C2= +0.0405; //for 12 Bit const float C3= -0.0000028; //for 12 Bit const float T1= +0.01; //for 14 Bit @ 5V const float T2= +0.00008; //for 14 Bit @ 5V void delay_us(unsigned int); int putchar(char c); int getchar(void); char GET_SDA(void); void SDA(char); void SCK(char); char s_write_byte(unsigned char); char s_read_byte(unsigned char); void s_transstart(void); void s_connectionreset(void); char s_measure(char *p_value, char *p_checksum, char mode); void calc_sth75(float *p_humidity ,float *p_temperature); float calc_dewpoint(float h, float t); void port_init(void)//포트 미리 지정 { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x03; PORTC = 0x00; DDRC = 0x00; PORTD = 0x00; DDRD = 0x00; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x03; PORTG = 0x00; DDRG = 0x00; } 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 = 0x08; } 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(); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints // 00:low level, 01: 논리변화 ,10:falling, 11:rising EIMSK = 0x00; TIMSK = 0x01; //timer interrupt sources : timer0 ETIMSK = 0x00; //extended timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized } int putchar(char c) { while (((UCSR0A>>UDRE0)&0x01) == 0) ; UDR0 = c; return c; } int getchar(void) { while ((UCSR0A & 0x80) == 0); return UDR0; } char GET_SDA(void) //ACK 값 변경확인 부분 { DDRB &= 0xFE; if(PINB&0X01) return 1; else return 0; } void SDA(char data) //DATA 펄스 설정부분 { DDRB |=0X01; PORTB = (PINB&0XFE)|data; } void SCK(char data) //SCK 펄스 설정 부분 { PORTB =((PINB&0XFD)|(data<<1)); } void s_transstart() //TANSMISSON 펄스 주는 부분 { SDA(1); SCK(0); delay_us(1); SCK(1); delay_us(1); SDA(0); delay_us(1); SCK(0); delay_us(5); SCK(1); delay_us(1); SDA(1); delay_us(1); SCK(0); } char s_write_byte(unsigned char value) { unsigned char i, error=0; for(i=0x80; i>0; i/=2) { //shift bit for masking if(i & value) SDA(1); //masking value with i, write to SENSI-BUS else SDA(0); SCK(1); //clk for SENSI-BUS delay_us(5); //pulswith approx. 5 us SCK(0); } SDA(1); //release DATA-line SCK(1); //clk #9 for ack error=GET_SDA(); //check ack (DATA will be pulled down by SHT11) SCK(0); return error; //error=1 in case of no acknowledge } char s_read_byte(unsigned char ack) // ack값 변경 후 data 받는 부분 { // 그림처럼 데이터를 입력 받는다. unsigned char i, val=0; SDA(1); //release DATA-line for(i=0x80; i>0; i/=2) { //shift bit for masking SCK(1); //clk for SENSI-BUS if(GET_SDA()) val=(val | i); //read bit SCK(0); } SDA(!ack); //in case of "ack==1" pull down DATA-Line SCK(1); //clk #9 for ack delay_us(5); //pulswith approx. 5 us SCK(0); SDA(1); //release DATA-line return val; } void s_connectionreset() //처음-->start { char i; SDA(1); SCK(0); for(i=0; i<9; i++) { //9 SCK cycles SCK(1); SCK(0); } s_transstart(); } char s_measure(char *p_value, char *p_checksum, char mode) { unsigned error=0; unsigned int i; s_transstart(); switch(mode) { case TEMP : error+=s_write_byte(MEASURE_TEMP); break; //MEASURE_TEMP = 0X03; case HUMI : error+=s_write_byte(MEASURE_HUMI); break; //MEASURE_HUMI = 0X05; default : break; } delay_us(50000); delay_us(50000); while(GET_SDA()); //wait until sensor has finished the measurement if(GET_SDA()) error+=1; *(p_value+1) = s_read_byte(ACK); //read the first byte (MSB) *(p_value) = s_read_byte(ACK); //read the second byte (LSB) *p_checksum = s_read_byte(noACK); //read checksum return error; } ////////////////////////////////////////////////////////////////////////////////// void main(void) { float dew_point; char error=0,checksum; unsigned int i; DDRB=0x03; init_devices(); s_connectionreset(); // 시작 시그널을 보낸다. while (1) { error += s_measure((char*) &temp_val.i,&checksum,TEMP); //measure temperature(온도) 측정 error += s_measure((char*) &humi_val.i,&checksum,HUMI); //measure humidity(습도) 측정 if(error != 0) { s_connectionreset(),printf("error =%d \\n\\r",error); //오류가 있을시 오류문구 출력 } //in case of an error: connection reset else { //측정에 오류가 없을 경우 측정값을 계산하여 출력 humi_val.f=(float)humi_val.i; //converts integer to float temp_val.f=(float)temp_val.i; //converts integer to float calc_sth75(&humi_val.f, &temp_val.f); //calculate humidity, temperature dew_point=calc_dewpoint(humi_val.f, temp_val.f); //calculate dew point printf("temp:%.1f C humi:%.1f ",temp_val.f,humi_val.f); } delay_us(1000); } } ///////////////////////////////////////////////////////////////////////////////////////// void calc_sth75(float *p_humidity ,float *p_temperature) //입력값을 계산하는 부분 예제프로그램 참조 { //const float C1= -4.0; //for 12 Bit //const float C2= +0.0405; //for 12 Bit //const float C3= -0.0000028; //for 12 Bit //const float T1= +0.01; //for 14 Bit @ 5V //const float T2= +0.00008; //for 14 Bit @ 5V float rh; //rh: Humidity [Ticks] 12 Bit float t; //t: Temperature [Ticks] 14 Bit float rh_lin; //rh_lin: Humidity linear float rh_true; //rh_true: Temperature compensated humidity float t_C; //t_C : Temperature [.C] rh= *p_humidity; //rh: Humidity [Ticks] 12 Bit t = *p_temperature; //t: Temperature [Ticks] 14 Bit t_C= t*0.01 - 40-1.2; //calc. Temperature from ticks to [.C] rh_lin= C3*rh*rh + C2*rh + C1 ; //calc. Humidity from ticks to [%RH] rh_true= (t_C-25)*(T1+T2*rh)+rh_lin; //calc. Temperature compensated humidity [%RH] if(rh_true > 100) rh_true=100; //cut if the value is outside of if(rh_true < 0.1) rh_true=0.1; //the physical possible range *p_temperature= t_C; //return temperature [.C] *p_humidity= rh_true; //return humidity[%RH] } float calc_dewpoint(float h, float t) { float logEx, dew_point; logEx=0.66077+7.5*t / (237.3+t)+(log10(h)-2) ; dew_point = (logEx-0.66077)*237.3 / (0.66077+7.5-logEx) ; return dew_point; } void delay_us(unsigned int t) //딜레이함수 { us =0; while(us<t); }
관리자 답변 Helleojagasip · 2010-06-18
Hi VEry nice posts i'sure i'sts nice
4962 답변완료릴레이보드사용에관해서 정혜현 2010-04-22 1,268
안녕하세요 저희가 팬구동을 하려고하는데 저번에 문의드리니까 릴레이보드를 사용하셔야 한다고 하셨는데 그럼 12V on off를 저희가 제어할수있는거죠? 예를들어 a=1일때는 12v공급 a=0 일때는 0 v공급 이런식으로... 꼭 12v만 가능한가요? 4개정도 연결할수있는게 있던것같은데 그 4개의 전압이 다 다른가요? 아님 저희가 그 릴레이보드에 있는 전압도 제가 설정할수있나요??
관리자 답변 NEWTC · 2010-04-22
안녕하세요? 고객님, 저희 뉴티씨를 이용하여 주셔서 감사드립니다. 답변하여 드릴꼐요. >안녕하세요 >저희가 팬구동을 하려고하는데 >저번에 문의드리니까 릴레이보드를 사용하셔야 한다고 하셨는데 >그럼 12V on off를 저희가 제어할수있는거죠? > >예를들어 a=1일때는 12v공급 > a=0 일때는 0 v공급 > >이런식으로... ==> 네 맞습니다. > >꼭 12v만 가능한가요? 4개정도 연결할수있는게 있던것같은데 ==> 원하시는 전압을 접점전원 입력 쪽으로 넣으시면 원하는 전압으로 사용할 수 있구요. 이 경우는 AC220V부터 DC 5~30V까지 사용이 가능합니다. 이 경우 반드시 점퍼 셋팅 관련을 메뉴얼에서 확인하여 잘 보셔야 합니다. 또한, 전원 입력 쪽으로 넣으면 아답타 전압으로 제어할 수 있습니다. 또한, 내부 5V로 제어할 수도 있구요. 이 경우도 점퍼 셋팅 관련을 메뉴얼에서 잘 확인하여 사용하세요. >그 4개의 전압이 다 다른가요? > >아님 저희가 그 릴레이보드에 있는 전압도 제가 설정할수있나요?? ==> 위에서 설명드린 것처럼, 물론 가능합니다. 다만, 메뉴얼을 숙지하시고 사용하세요. 릴레이 보드라서, 감전의 위험이 있으니, 반드시 주의하여 사용하시기 바랍니다. 수고하세요.
4961 답변완료M16 보드와 RS485통신을 하려면 어떻게 해야하나요? 이병훈 2010-04-22 1,277
m16 보드에는 RS232 Port만 나와있어서 문의드립니다. 외부 Controller에서 M16 보드와 RS485통신을 하려면 어떻게 해야하나요?
관리자 답변 NEWTC · 2010-04-22
안녕하세요 1. 맥심사의 max485 라는 칩을 추가하여 구성해서 사용하시거나 2. rs232 to rs485 라는 컨버터가 시중에 많은 종류들이 판매되고 있습니다. 구입하여 rs232 포트에 연결해서 사용하시면 됩니다. 또한, 외부 컨트롤러가 TTL Level이면 본사의 4핀 UART 커넥터와 연결하시구요, +-12V Level의 RS-232C Level이면 3핀 시리얼 커넥터와 연결하세요~ 수고하세요 >m16 보드에는 RS232 Port만 나와있어서 문의드립니다. >외부 Controller에서 >M16 보드와 RS485통신을 하려면 어떻게 해야하나요? >
4960 답변완료안녕하세요~ 수고하십니다 정기영 2010-04-21 1,397
안녕하세요 저는 AVR MEGA 128개발보드 AB-M128Pro-A를 구매하였는데요 참고로 아직 해본적없는 왕왕초보입니다 전원을 넣어보니 숫자 나오는곳있죠? (세븐세그먼트라 하나요?) 전원을 넣으면 불빛이 들어오던데 막대 2개가 불빛이 들어오지 않던데 혹시 접촉불량인가 싶어 다시 꽃아봤는데도 그대로 들어오더군요 ; 이건 불량인가요?
관리자 답변 NEWTC · 2010-04-21
안녕하세요 제품출하전에 테스트하기 위해 코드를 넣어져 있습니다. fnd 와 별개의 테스트 코드입니다. fnd 예제 코드를 다운받아 칩에 다운로드해 보시길 바랍니다. http://www.newtc.co.kr/board/view.php?id=pds&page=1&sn1=&divpage=1&sn=off&ss=on&sc=off&keyword=시계&select_arrange=headnum&desc=asc&no=290 수고하세요 >안녕하세요 > >저는 AVR MEGA 128개발보드 AB-M128Pro-A를 구매하였는데요 > >참고로 아직 해본적없는 왕왕초보입니다 > >전원을 넣어보니 숫자 나오는곳있죠? (세븐세그먼트라 하나요?) > >전원을 넣으면 불빛이 들어오던데 > >막대 2개가 불빛이 들어오지 않던데 > >혹시 접촉불량인가 싶어 다시 꽃아봤는데도 그대로 들어오더군요 ; > >이건 불량인가요?
4959 답변완료제품 구매에 관해 질문이 있습니다. cgk 2010-04-21 1,276
저희가 원하는게 기울기 센서로 데이터 값을 받아서 간단히 양쪽 중 한쪽에 전류를 주도록 할 정도 의 보드를 원하는데 추천 좀 바라겠습니다.
관리자 답변 NEWTC · 2010-04-21
안녕하세요 현재 판매되고 있는 컨틀롤러는 d/a 나 전류 제어 포트가 없습니다. 전류값을 컨트롤이 가능한 디바이스 직접 찾아서 붙쳐야 합니다. ad420 같은 칩이 0~20mA 제어가 가능합니다. 아니면 전압을 전류로 변경시킬수 있는 회로를 추가적으로 구성 하셔야 합니다. 구현하실려는 것에 대해 문서 같은 것을 찾아보시길 바랍니다. 수고하세요 >저희가 원하는게 기울기 센서로 데이터 값을 받아서 간단히 양쪽 중 한쪽에 전류를 주도록 할 정도 > >의 보드를 원하는데 추천 좀 바라겠습니다.