Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 9108 | 답변완료AD-GPS V2.0 을 atmega128에 연결 가능한지요? | 이형주 | 2015-03-21 | 1,456 |
|
안녕하세요~ 초보입니다~
제가 GPS수신을 해보려고 AD-GPS V2.0제품을 구매했는데요
이게 보니까 PC로만 연결 가능한거로 추정되는데 맞는지요?
저는 atmega128에 연결하려고 했는데 이것이 가능한지요?
제가 가지고 있는것은 KD-128PRO-L 입니다.
AD-GPS V2.0을 KD-128PRO-L에 아예 연결할수 없는 것인지
아니면 중간에 어떤 모듈을 연결하여 KD-128PRO-L에 연결 가능한지 알고 싶습니다.
(PC로의 이용은 안할 예정입니다.)
만약 이것이 안된다면, 어떤제품을 구입해야 KD-128PRO-L에서 GPS 수신 가능한지 알고 싶습니다~
관리자 답변
안녕하세요? 고객님,
신형인 AD-GPS-T V1.0은 TTL Level UART용 4핀 커넥터가 있는 모델을 선택하실수 있는데, AD-GPS V2.0은 그런형태로는 판매하지 않다보니, 생긴 궁금증 같습니다.
AD-GPS V2.0도 TTL 레벨로 통신하므로, 커넥터를 잘라내고 메뉴얼을 보고 gps의 rx와 avr의 tx를 또한 gps의 tx와 avr의 rx를 연결해 주시고 gnd는 gnd끼리 vcc는 vcc끼리 연결해 주시면 됩니다.
감사합니다.
>
>
> 안녕하세요~ 초보입니다~
> 제가 GPS수신을 해보려고 AD-GPS V2.0제품을 구매했는데요
> 이게 보니까 PC로만 연결 가능한거로 추정되는데 맞는지요?
>
> 저는 atmega128에 연결하려고 했는데 이것이 가능한지요?
> 제가 가지고 있는것은 KD-128PRO-L 입니다.
>
> AD-GPS V2.0을 KD-128PRO-L에 아예 연결할수 없는 것인지
> 아니면 중간에 어떤 모듈을 연결하여 KD-128PRO-L에 연결 가능한지 알고 싶습니다.
> (PC로의 이용은 안할 예정입니다.)
> 만약 이것이 안된다면, 어떤제품을 구입해야 KD-128PRO-L에서 GPS 수신 가능한지 알고 싶습니다~
>
|
||||
| 9107 | 답변완료AB-m2560 질문드립니다 | 양승철 | 2015-03-20 | 1,460 |
|
보드에 외부전원을 연결할 때 전류는 몇 암페어까지 가능한가요?
사용해야할 전류량은 5~6A 정도입니다.
12V 5A짜리 어답터를 사용하려 하는데 보드에 무리가 가진 않을까요?
혹 보드의 허용전류가 5A 이하라면 5~6A의 전류를 보드에 사용할 수 있는 방법이 따로 있을까요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다.
전원 아답타들은 99% 정전압방식입니다.
즉, 아답타에 연결된 보드에서 필요한 전류만큼만 보내줍니다.
전압만 똑같은거죠.
그래서 아답타가 12V 5A라도 300mA만 당겨쓸수도 있는거죠.
그런데 5~6A가 필요하다고하셨는데,
몇볼트의 전압이 몇암페어 필요한 건가요?
12V가 보드에 공급되면 5V로 변환된 전압은 700mA정도까지만 사용가능합니다.
12V는 3A까지 사용가능한 커넥터를 사용중이구요.
감사합니다.
>
>
> 보드에 외부전원을 연결할 때 전류는 몇 암페어까지 가능한가요?
> 사용해야할 전류량은 5~6A 정도입니다.
> 12V 5A짜리 어답터를 사용하려 하는데 보드에 무리가 가진 않을까요?
> 혹 보드의 허용전류가 5A 이하라면 5~6A의 전류를 보드에 사용할 수 있는 방법이 따로 있을까요?
>
|
||||
| 9106 | 답변완료tp1 ad-usbisp v03 드라이버가 잡히지 않습니다. | 김영승 | 2015-03-20 | 1,438 |
|
연결 했을때 CP2103 USB to UART Bridge Controller라고 뜨는 장치입니다.
210x 통합드라이버도 설치해보고 v03이 3.0인거 같기3도 해서 해당 드라이버를 설치했는데요
전~~~~혀 인식을 못합니다..
환경은 윈도우7 64bit입니다... 해결 부탁드려요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
AD-USBISP V03은 윈도우7 32비트까지만 인식됩니다.
따라서, 최소한 V03.5이상으로 변경하여 주셔야 하는 데, 그 방법이 아래에 나와 있습니다.
- 아래 -
http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m53&wr_id=37
또는
http://www.newtc.co.kr/dpshop/bbs/board.php?bo_table=m53&wr_id=23&page=2
혼자 하시기 어려우실 것 같으시면, 차라리 본사에 A/S 오시면, 무상으로 지원 받으실 수 있습니다.
택배로 하실 경우 택배비만 부담하시면 됩니다만, 가까우시면 직접 방문주세요.
또 그 이후에, V03.5에서 V03.6으로는 펌웨어 업데이트도 받으셔야 하시는 데,
V03.6 이상이 되면 Atmel Studio 6.xx에서 연결도 가능합니다.
감사합니다.
>
>
> 연결 했을때 CP2103 USB to UART Bridge Controller라고 뜨는 장치입니다.
> 210x 통합드라이버도 설치해보고 v03이 3.0인거 같기3도 해서 해당 드라이버를 설치했는데요
> 전~~~~혀 인식을 못합니다..
> 환경은 윈도우7 64bit입니다... 해결 부탁드려요
>
|
||||
| 9105 | 답변완료am-dc2-2d | 김민찬 | 2015-03-17 | 1,438 |
|
안녕하세요
am-dc2-2d 모터드라이브로 DC모터 제어를 공부하고 있는 학생인데
혹시 모터드라이브 회로도 메일로 보내 주실수있나요?
woongsu7@naver.com 가능하면 여기로 보내주세요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다.
죄송하지만, 일부 해당 모듈은 회로도 공개를 하지않고 있습니다.
양해하여 주셔서 감사드립니다.
감사합니다.
>
>
> 안녕하세요
> am-dc2-2d 모터드라이브로 DC모터 제어를 공부하고 있는 학생인데
> 혹시 모터드라이브 회로도 메일로 보내 주실수있나요?
>
> woongsu7@naver.com 가능하면 여기로 보내주세요
>
|
||||
| 9104 | 답변완료am-dc2-2d | 김민찬 | 2015-03-12 | 1,455 |
|
안녕하세요
atmega128 이랑 am-dc2-2d를 이용해서 라인트레이서를 만들려는 학생인데요
예제 파일을 보니 포트C로 되어 있어서 포트B로 바꾸고
pwm을 이용해서 오른쪽 모터랑 왼쪽 모터 속도를 다르게 해서 만드록 싶은데
am-dc2-2d 드라이버에는
1번 핀이 pwm1이로
2번 핀이 dir1
3번 핀이 enable1
5번 핀이 pwm2
6번 핀이 dir2
7번 핀이 enable2로 나와 있는데
atmega128 포트B에 몇번 핀에 연결해야 하는지 자세히좀 알려 주세요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
일단, PWM 소스를 해당 부분 올려드립니다.
참고하시기 바랍니다.
- 소스 -
PWM 부분 두 핀을 각각 PB4 (OC0)부분에 붙이세요. 나머지 dir과 enable은 적절히 필요한 핀에 붙여서 제어하시면 됩니다.
void Initialize_Timer0(void)
{
TCCR0=0x00;
TCCR0=(0<<CS02)|(0<<CS01)|(1<<CS00)|(1<<WGM00)|(1<<WGM01)|(1<<COM01);
}
void Initialize_port(void)
{
DDRB=0xFF;
PORTB=0x00;
}
main함수 안에서….
while(1)
{
for(i=0;i<100;i++)
{
OCR0=150; // 이 값을 0 ~ 255 사이에서 변경하면 PWM Duty가 변경됩니다.
}
}
또한, 참고로, DC2-2D와 핀매치가 되지는 않지만,
SE-MIN1 케이블로 PWM 다른 하나에 연결하여 쓰면 되므로, 설명합니다.
PWM 부분 두 핀을 각각 PB5 (OC1A)부분에 붙이세요. 나머지 dir과 enable은 적절히 필요한 핀에 붙여서 제어하시면 됩니다.
void Initialize_Timer1(void)
{
TCCR1A = (1<<COM1A1)|(1<<WGM11)|(1<<WGM10); // 10bit FAST PWM
TCCR1B = (1<<WGM12)|(1<<CS12)|(0<<CS11)|(1<<CS10); // 1024분주
}
void Initialize_port(void)
{
DDRB=0xFF;
PORTB=0x00;
}
main함수 안에서…
while(1){
for(i=0;i<100;i++){
OCR1A =150; // 이 값을 0 ~ 1023 사이에서 변경하면 PWM Duty가 변경됩니다.
}
}
감사합니다.
>
>
> 안녕하세요
> atmega128 이랑 am-dc2-2d를 이용해서 라인트레이서를 만들려는 학생인데요
> 예제 파일을 보니 포트C로 되어 있어서 포트B로 바꾸고
> pwm을 이용해서 오른쪽 모터랑 왼쪽 모터 속도를 다르게 해서 만드록 싶은데
> am-dc2-2d 드라이버에는
> 1번 핀이 pwm1이로
> 2번 핀이 dir1
> 3번 핀이 enable1
>
> 5번 핀이 pwm2
> 6번 핀이 dir2
> 7번 핀이 enable2로 나와 있는데
>
> atmega128 포트B에 몇번 핀에 연결해야 하는지 자세히좀 알려 주세요
>
|
||||
| 9103 | 답변완료입금됬는데 아직 입금안됬다고 뜨네요 | 김대성 | 2015-03-12 | 1,422 |
|
입금 어제 했는데 아직까지 입금이 안되있다고 되있습니다 빠른 처리부탁드립니다
관리자 답변
안녕하세요? 고객님,
아까 처리되었습니다.
확인처리가 늦어서 좌송합니다.
감사합니다.
>
>
> 입금 어제 했는데 아직까지 입금이 안되있다고 되있습니다 빠른 처리부탁드립니다
>
|
||||
| 9102 | 답변완료아두이노 예제 질문드려요 | 김시경 | 2015-03-12 | 1,382 |
|
DM-USTYLE-EXT MCP23017 테스트
Adafruit_MCP23017 mcp; 컴파일 에러나네요.
예제 중에 sw부문과 led 부문이 빠져있네요.
GPB0 과 GPA0 예제 부문 부탁드릴께요
감사합니다.
관리자 답변
네, 고객님,
내일 오전에 올려드릴께요.
감사합니다.
>
>
> DM-USTYLE-EXT MCP23017 테스트
>
> Adafruit_MCP23017 mcp; 컴파일 에러나네요.
>
> 예제 중에 sw부문과 led 부문이 빠져있네요.
>
> GPB0 과 GPA0 예제 부문 부탁드릴께요
>
> 감사합니다.
>
|
||||
| 9101 | 답변완료환불요청 | 김대성 | 2015-03-11 | 1,428 |
|
잘못사서 환불하고 다시사려는데 어디로 다시 택배보내면 되는지 궁금합니다
빠른답변 부탁드립니다
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
본사에서 직접 사신 경우, 본사로 보내시면 되는 데,
홈페이지 아래에 보면, 본사의 주소가 있습니다.
그 쪽으로 택배를 보내시거나 방문하시면 됩니다.
혹시 다른 루트로 구매하셨다면, 그 쪽으로 환불절차를 밟아 주셔야 합니다.
하지만, 제품의 포장을 뜯지 않은 상태로, 구매 후 15일 이내에 환불 가능합니다.
혹시 관련된 다른 질문 있으시면 환불관련하여 본사로 전화문의해 주세요.
감사합니다.
>
>
> 잘못사서 환불하고 다시사려는데 어디로 다시 택배보내면 되는지 궁금합니다
> 빠른답변 부탁드립니다
>
|
||||
| 9100 | 답변완료AM-DC2-2D | 김정은 | 2015-03-11 | 1,450 |
|
AM-DC2-2D 드라이버 사용중입니다.
예제 포트가 C로 되어있는데 B로 연결해서 사용하니 모터가 동작을 안하더라구요.
B로 사용하여 ATMEGA128에서 PWM 신호로 속도를 조절하려고 합니다.
포트B를 사용하면 동작이 안되는데 사용 할수 없는 건가요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
예제에서 PORTC로 되어 있는 것을 PORTB로 변경하여 주시면 사용 가능합니다.
물론, DDRB도 출력으로 DDRB = 0xff; 이렇게 해 주셔야 하겠습니다.
감사합니다.
>
>
> AM-DC2-2D 드라이버 사용중입니다.
> 예제 포트가 C로 되어있는데 B로 연결해서 사용하니 모터가 동작을 안하더라구요.
> B로 사용하여 ATMEGA128에서 PWM 신호로 속도를 조절하려고 합니다.
> 포트B를 사용하면 동작이 안되는데 사용 할수 없는 건가요?
>
|
||||
| 9099 | 답변완료AVR USBISP v6.0을 세개 구매했는데요 | 서민철 | 2015-03-09 | 1,451 |
|
AtmelStudio에서 Device Programming으로 hex파일을 쓰려고 하면
(Tool, Device, Interface 선택후 Apply, Memories 메뉴에서 Flash -> Program 버튼 클릭시 에러발생)
세개중에 하나는 정상적으로 writing이 되는데 나머지 두개는
다음과 같은 오류 메세지가 니옵니다.
Waiting for an operation to complete
An ongoing operation is taking longer then expected.
Details: Modules->remove
You can stop waiting for the operation, in which case you may need to restart AVR studio, or wait some more.
(The timeout can be set using the "Tools->Options->Debugger->AVR Debugger->AVR Communication TimeOut" option.)
하나는 정상작동하는데 나머지는 왜 위와같은 문제가 나오는지 모르겠네요.
확인 부탁드리겠습니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
그 경우는 매우 간혹 Atmel Studio V6.x의 경우 설치시 일어나기도 합니다.
특정한 1개 까지는 되는 데, 그 이후 다른 것들은 설정이 꼬여 있어서 안되는 경우입니다.
이 경우는 AVR Studio V4.xx 버전을 본사 자료실에서 다운로드 받아서 해 보시고,
그래도 안되시면 본사로 보내주세요.
또한, 고객님 PC에서 3가지를 돌아가면서 써야 하는 경우에는
Atmel Studio V6.x를 지우고 다시 깔면 해결되는 경우도 있습니다.
경우에 따라서는 많이 꼬여 있는 경우는 PC를 포맷하고 다시 깔아야 하는 경우도 있습니다.
감사합니다.
>
>
> AtmelStudio에서 Device Programming으로 hex파일을 쓰려고 하면
> (Tool, Device, Interface 선택후 Apply, Memories 메뉴에서 Flash -> Program 버튼 클릭시 에러발생)
> 세개중에 하나는 정상적으로 writing이 되는데 나머지 두개는
> 다음과 같은 오류 메세지가 니옵니다.
>
> Waiting for an operation to complete
> An ongoing operation is taking longer then expected.
> Details: Modules->remove
> You can stop waiting for the operation, in which case you may need to restart AVR studio, or wait some more.
>
> (The timeout can be set using the "Tools->Options->Debugger->AVR Debugger->AVR Communication TimeOut" option.)
>
> 하나는 정상작동하는데 나머지는 왜 위와같은 문제가 나오는지 모르겠네요.
> 확인 부탁드리겠습니다.
>
|
||||
| 9098 | 답변완료printf 질문 드립니다. | 이현승 | 2015-03-09 | 1,417 |
|
안녕하세요?
printf라는 함수는 제가 알기로는 흔히 UART 통신에서 정의된 대로 사용되어 지는 것으로
알고 있는데, 아래의 코드에서는 특별히 정의된 부분도 없는데, 어째서 printf라는 함수가
문자LCD로 문자를 보내는 함수로 쓰이는 지 알고 싶습니다.
그리고, scanf 함수 사용하는 예제 좀 부탁합니다.
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#include "i2c.h"
#define Control (*(volatile unsigned char *)0x8001)
#define Data (*(volatile unsigned char *)0x8000)
#define LCD_EN_ON (Control = (Controller |= 0x04))
#define LCD_EN_OFF (Control = (Controller &= 0x0b))
#define LCD_RW_ON (Control = (Controller |= 0x02))
#define LCD_RW_OFF (Control = (Controller &= 0x0d))
#define LCD_RS_ON (Control = (Controller |= 0x01))
#define LCD_RS_OFF (Control = (Controller &= 0x0e))
#define SCR_L_SHFT 0x18
#define SCR_R_SHFT 0x1c
#define T unsigned char
char Controller;
int Putchar(char c)
{
Write_Data(c);
return c;
}
void Write_Data(char value)
{
LCD_EN_OFF;
delay(1);
LCD_RS_ON;
delay(1);
LCD_RW_OFF;
delay(1);
LCD_EN_ON;
delay(1);
Data = value;
delay(1);
LCD_EN_OFF;
delay(1);
}
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
//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();
fdevopen(Putchar,0);
MCUCR = 0x80;
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_us(unsigned int dt)
{
unsigned int dc;
for(dc=0;dc<dt;dc++)
{
asm volatile("nop"::);
asm volatile("nop"::);
asm volatile("nop"::);
}
}
void delay(unsigned int dt)
{
unsigned int dc;
for(dc=0;dc<dt;dc++)
{
delay_us(1100);
}
}
void set_watch(T year, T month, T day, T hour, T minute, T second){
writebyte(0, second);
writebyte(1, minute);
writebyte(2, hour);
writebyte(4, day);
writebyte(5, month);
writebyte(6, year);
}
void Write_Controller(char value)
{
LCD_EN_OFF;
delay(1);
LCD_RS_OFF;
delay(1);
LCD_RW_OFF;
delay(1);
LCD_EN_ON;
delay(1);
Data = value;
delay(1);
LCD_EN_OFF;
delay(1);
}
void Write_Str(char *Str)
{
while (*Str) {
Write_Data(*Str++);
}
}
void lcd_gotoxy(unsigned char x, unsigned char y)
{
switch(y)
{
case 1:
{
Write_Controller(0x80+x-1);
delay(30);
break;
}
case 2 :
{
Write_Controller(0xc0+x-1);
delay(30);
break;
}
}
}
void lcd_init(){
Write_Controller(0x38);
Write_Controller(0x0e);
Write_Controller(0x06);
}
void printf_Lcd(int lin, int can, char *Str)
{
Write_Controller(0x38);
lcd_gotoxy(can, lin);
Write_Str(Str);
}
int main(void)
{
unsigned char status, second, minute, hour, day, month, year;
//unsigned char year_1, month_1, day_1, hour_1, minute_1, second_1;
init_devices();
lcd_init();
init_ds1307();
Write_Controller(0x01);
Write_Controller(0x02);
delay(10);
printf_Lcd(1,1,"NewTC..");
delay(10);
printf_Lcd(2,1,"I2C DS1307");
delay(100);
set_watch(0x09, 0x01, 0x02, 0x09, 0x00, 0x0);
while(1){
second=readbyte(0x00);
minute=readbyte(0x01);
hour=readbyte(0x02);
day=readbyte(0x04);
month=readbyte(0x05);
year=readbyte(0x06);
if(second!=status){
Write_Controller(0x02);
//printf_Lcd(1,1,"");
printf("200%x : %x : %x ", year, month, day);
Write_Controller(0xc0);
//printf_Lcd(2,1,"");
printf("%x : %x : %x ",hour, minute, second);
delay(10);
status=second;}
//delay(10);
}
return 0;
}
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
우선, printf 함수는 임베디드에서 종종 putchar 함수를 내장함수로 채용하고 있습니다.
여기에서 fdevopen(Putchar,0); 이라는 내용이 중간에 나오는 데,
이 부분에서 printf를 열어준 겁니다.
또한, putchar 함수는 Write_Data(c);를 열어주고 있으며,
이를 통하여 LCD의 DDRAM에 데이터를 써 주는 역할을 합니다.
즉, LCD 화면에 나오게 되는 거죠.
결론적으로 printf 내용이 LCD로 출력되는 겁니다.
이는 printf 함수를 매우 다양한 방법으로 활용할 수 있음을 의미합니다.
마찬가지로 scanf 함수 사용 예는 첨부해 드립니다.
참고로, scanf의 내장 함수는 getchar입니다.
제가 직접 만든 두 가지 방식의 예를 보여 드리니,
편리한데로 사용하시기 바랍니다.
참고로, 여러 문자 수신시 scanf_memory를 사용하는 것이 보다 좋습니다.
감사합니다.
>
>
> 안녕하세요?
> printf라는 함수는 제가 알기로는 흔히 UART 통신에서 정의된 대로 사용되어 지는 것으로
> 알고 있는데, 아래의 코드에서는 특별히 정의된 부분도 없는데, 어째서 printf라는 함수가
> 문자LCD로 문자를 보내는 함수로 쓰이는 지 알고 싶습니다.
> 그리고, scanf 함수 사용하는 예제 좀 부탁합니다.
> #include <avr/io.h>
> #include <avr/interrupt.h>
> #include <stdio.h>
> #include "i2c.h"
>
> #define Control (*(volatile unsigned char *)0x8001)
> #define Data (*(volatile unsigned char *)0x8000)
>
>
> #define LCD_EN_ON (Control = (Controller |= 0x04))
> #define LCD_EN_OFF (Control = (Controller &= 0x0b))
> #define LCD_RW_ON (Control = (Controller |= 0x02))
> #define LCD_RW_OFF (Control = (Controller &= 0x0d))
> #define LCD_RS_ON (Control = (Controller |= 0x01))
> #define LCD_RS_OFF (Control = (Controller &= 0x0e))
>
> #define SCR_L_SHFT 0x18
> #define SCR_R_SHFT 0x1c
> #define T unsigned char
>
> char Controller;
>
> int Putchar(char c)
> {
> Write_Data(c);
> return c;
> }
>
> void Write_Data(char value)
> {
> LCD_EN_OFF;
> delay(1);
> LCD_RS_ON;
> delay(1);
> LCD_RW_OFF;
> delay(1);
> LCD_EN_ON;
> delay(1);
> Data = value;
> delay(1);
> LCD_EN_OFF;
> delay(1);
> }
>
> void port_init(void)
> {
>
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00;
> DDRC = 0x00;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
>
> }
>
> //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();
> fdevopen(Putchar,0);
>
> MCUCR = 0x80;
> 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_us(unsigned int dt)
> {
> unsigned int dc;
> for(dc=0;dc<dt;dc++)
> {
> asm volatile("nop"::);
> asm volatile("nop"::);
> asm volatile("nop"::);
> }
> }
>
> void delay(unsigned int dt)
> {
> unsigned int dc;
> for(dc=0;dc<dt;dc++)
> {
> delay_us(1100);
> }
> }
>
> void set_watch(T year, T month, T day, T hour, T minute, T second){
> writebyte(0, second);
> writebyte(1, minute);
> writebyte(2, hour);
> writebyte(4, day);
> writebyte(5, month);
> writebyte(6, year);
> }
>
> void Write_Controller(char value)
> {
> LCD_EN_OFF;
> delay(1);
> LCD_RS_OFF;
> delay(1);
> LCD_RW_OFF;
> delay(1);
> LCD_EN_ON;
> delay(1);
> Data = value;
> delay(1);
> LCD_EN_OFF;
> delay(1);
> }
>
>
> void Write_Str(char *Str)
> {
> while (*Str) {
> Write_Data(*Str++);
> }
> }
> void lcd_gotoxy(unsigned char x, unsigned char y)
> {
> switch(y)
> {
> case 1:
> {
> Write_Controller(0x80+x-1);
> delay(30);
> break;
> }
> case 2 :
> {
> Write_Controller(0xc0+x-1);
> delay(30);
> break;
> }
>
> }
> }
>
>
>
> void lcd_init(){
> Write_Controller(0x38);
> Write_Controller(0x0e);
> Write_Controller(0x06);
> }
>
> void printf_Lcd(int lin, int can, char *Str)
> {
> Write_Controller(0x38);
> lcd_gotoxy(can, lin);
> Write_Str(Str);
> }
>
> int main(void)
> {
> unsigned char status, second, minute, hour, day, month, year;
> //unsigned char year_1, month_1, day_1, hour_1, minute_1, second_1;
> init_devices();
> lcd_init();
> init_ds1307();
>
>
> Write_Controller(0x01);
> Write_Controller(0x02);
> delay(10);
> printf_Lcd(1,1,"NewTC..");
> delay(10);
> printf_Lcd(2,1,"I2C DS1307");
> delay(100);
> set_watch(0x09, 0x01, 0x02, 0x09, 0x00, 0x0);
>
> while(1){
> second=readbyte(0x00);
> minute=readbyte(0x01);
> hour=readbyte(0x02);
> day=readbyte(0x04);
> month=readbyte(0x05);
> year=readbyte(0x06);
>
> if(second!=status){
> Write_Controller(0x02);
> //printf_Lcd(1,1,"");
> printf("200%x : %x : %x ", year, month, day);
> Write_Controller(0xc0);
> //printf_Lcd(2,1,"");
> printf("%x : %x : %x ",hour, minute, second);
> delay(10);
> status=second;}
> //delay(10);
> }
>
> return 0;
> }
>
|
||||
| 9097 | 답변완료AB-M128-B 제품의 이더넷 송수신 기능에 대해서 | 정상길 | 2015-03-09 | 1,472 |
|
제품의 기능에 대해서 질문드리려고 합니다.
원거리의 제어콘솔로부터 이더넷을 통해 명령을 받아서 디지털 IO포트로 신호를 출력하는 기능을 구현하고자 합니다.
또한 디지털 IO 포트의 출력상태를 모니터링하여 다시 이더넷을 통해 제어콘솔로 상태정보를 보내려고합니다.
여기서 궁금한 점은 AB-M128-B 보드에 이더넷을 연결하여 위와 같은 기능을 구현할 수 있는지 궁금합니다.
제 연락처는 010-8623-3145입니다.
연락부탁드립니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다.
통신 중에 이더넷 투 시리얼 같은 것들이 있습니다.
예를 들면,
http://www.devicemart.co.kr/goods/list.php?category=002039004
[NTRexLAB] Ethernet2Serial
이런 것들을 이용하시면 UART에 붙여서 사용하시면 되겠습니다.
감사합니다.
>
>
> 제품의 기능에 대해서 질문드리려고 합니다.
> 원거리의 제어콘솔로부터 이더넷을 통해 명령을 받아서 디지털 IO포트로 신호를 출력하는 기능을 구현하고자 합니다.
> 또한 디지털 IO 포트의 출력상태를 모니터링하여 다시 이더넷을 통해 제어콘솔로 상태정보를 보내려고합니다.
>
> 여기서 궁금한 점은 AB-M128-B 보드에 이더넷을 연결하여 위와 같은 기능을 구현할 수 있는지 궁금합니다.
> 제 연락처는 010-8623-3145입니다.
> 연락부탁드립니다.
>
|
||||
| 9096 | 답변완료AM-128USB V2.0 회로도 | 이승헌 | 2015-03-08 | 1,443 |
|
안녕하세요 AM-128USB V2.0 사용하고 있습니다.
그런데 L2 1602 커페시터가 태워 버렸습니다.
회로도가 없어 어느 부분이 이상이 있어 타 버렸는지 ..??
L2 커페시터는 몇인지? 제가 수리하도록 하겠습니다..
회로도좀 알려주세요. 수고하십시오.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
L2는 1uH로 USB의 VCC와 연결되어 있습니다. 이는 첨부된 그림과 같이 연결되어 있습니다.
따라서, USB 전원을 무리하여 사용하였거나, 순간 쇼트된 경우에 이를 막기 위하여 회로의 그 부분이 타버리면서 그렇게 될 수 있습니다.
USB 2.0으로는 전원을 당겨쓸 경우 최대 500mA까지만 쓸 수 있는 규격이 되며, 일반적으로는 300mA정도까지만 사용하는 것을 추천합니다.
USB 부분을 제외한 회로도는 올려드렸습니다.
감사합니다.
>
>
> 안녕하세요 AM-128USB V2.0 사용하고 있습니다.
>
> 그런데 L2 1602 커페시터가 태워 버렸습니다.
>
> 회로도가 없어 어느 부분이 이상이 있어 타 버렸는지 ..??
>
> L2 커페시터는 몇인지? 제가 수리하도록 하겠습니다..
>
> 회로도좀 알려주세요. 수고하십시오.
>
|
||||
| 9095 | 답변완료DM-USB to Serial V1.0 보드 테스트 중 | 김우영 | 2015-03-06 | 1,334 |
|
안녕하십니까?
현재 atmega328p를 꾸며서 테스트 중 입니다.
DM-USB to Serial V1.0 메뉴얼 대로 결선 후 업로드를 하니
첨부 화일과 같은 메세지가 나오네요
어디가 잘못 된 것 일까요?
알려 주시면 감사하겟습니다
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
직접 보드를 꾸며서 하시는 것이 하드웨어 적으로 많은 공부가 됩니다.
물론, 중간 과정에서 이런 문제가 터질 때 어려움이 있죠.
우선, DM-USB2SERIAL 보드의 1번핀이 DTR핀인데, 사진은 메뉴얼 3페이지에 보면 1번핀의 위치가 잘 나와 있습니다. 그 핀이 UNO 보드의 DTR/RST 핀과 연결되게 됩니다.
우노보드에 보면, 해당 핀은 ATMEGA328P의 RESET_L 핀과 연결되게 되는데, 그 사이에 보통 0.1uF 정도의 커패시터가 달려 있습니다.
직접 만드시는 보드이므로, 반드시 ATMEGA328P의 RESET_L핀에서 커패시터를 0.1uF 연결하고, 직렬로, 그 USB2SERIAL 보드의 DTR핀과 연결해 주세요.
또한, 특이하게도, 리셋핀에 리셋회로를 구성할 때, 4.7k정도로 풀업만 걸어주시고,
절대 GND와의 사이에 커패시터는 달면 안됩니다.
아두이노의 특별한 부분인데, 이 부분을 달게되면 자동다운로드가 되지 않습니다.
그러고 나서는 ATMEGA328P에 UNO부트로더를 USBISP를 이용하여 한번은 구워줘야 합니다.
USBISP가 반드시 필요한 부분입니다.
아니면, UNO 부트로더가 구워져 있는 CPU도 판매하던데, 그런 것을 쓰시면 되구요.
이 부분을 하지 않아도 자동 다운로드가 되지 않습니다.
감사합니다.
>
>
> 안녕하십니까?
>
> 현재 atmega328p를 꾸며서 테스트 중 입니다.
>
> DM-USB to Serial V1.0 메뉴얼 대로 결선 후 업로드를 하니
>
> 첨부 화일과 같은 메세지가 나오네요
>
> 어디가 잘못 된 것 일까요?
>
> 알려 주시면 감사하겟습니다
>
|
||||
| 9094 | 답변완료DM-USB to Serial V1.0 보드를 구매했습니다. | 김우영 | 2015-03-05 | 1,341 |
|
안녕하세요.
DM-USB to Serial V1.0 보드를 구매했습니다.
6개의 핀 중 DTR 핀은 ATMEGA328P 어디와 연결해야 합니까?
전화를 두 번하고 들은 답변이 게시판에 질문을 올리라고 해서 올리는데...
가능한 바른 답변 부탁드립니다
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
지금 Arduino UNO 학습 중이신가 봅니다.
직접 보드를 제작하고 계신 것인지, 아니면 UNO 보드를 사용중이신지에 따라서,
답변이 조금 달라질 수는 있습니다.
우선, DM-USB2SERIAL 보드의 1번핀이 DTR핀인데, 사진은 메뉴얼 3페이지에 보면 1번핀의 위치가 잘 나와 있습니다.
그 핀이 UNO 보드의 DTR/RST 핀과 연결되게 됩니다.
해당 핀은 ATMEGA328P의 RESET_L 핀과 연결되게 되는데, 그 사이에 보통 0.1uF 정도의 커패시터가 달려 있습니다.
참고하시기 바랍니다.
저희 회사에서는 현재 19,000건 가까이 질문과 답변을 통해 많은 고객님들을 도움을 드리고 있습니다.
또한, 온라인강의-->Arduino At Heart에 보면 해당 강의가 있으니, 참고하셔서 보시면 도움이 되시겠습니다.
결정적으로는 매우 우수한 품질의 교재가 두 권 준비되어 있습니다.
해당 교재는 6개월만에 3쇄를 발간할 정도로 인기가 높습니다.
매우 잘 설명되어 있고, 전자전산 전문서적 출판사인 J-PUB 출판사와 제휴하고,
허경용 교수님의 저술로 작성되어 있습니다. 교재를 참고하여 보시면 또한 많은 도움 되시겠습니다.
네이버 까페 중 http://cafe.naver.com/newtc 에 가시면 허경용 교수님이 직접 쓰신 아두이노 관련
강의자료들도 많이 올라와 있으니, 참고하시기 바랍니다.
혹시 답변이 부족하시다면 답글로 올려주시면 답변 드리겠습니다.
감사합니다.
>
>
> 안녕하세요.
>
> DM-USB to Serial V1.0 보드를 구매했습니다.
>
> 6개의 핀 중 DTR 핀은 ATMEGA328P 어디와 연결해야 합니까?
>
> 전화를 두 번하고 들은 답변이 게시판에 질문을 올리라고 해서 올리는데...
>
> 가능한 바른 답변 부탁드립니다
>
|
||||
