Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 33 | 답변완료<한세대> 전자공학 기말과제 관련 질문 | 이덕재 | 2005-12-12 | 8,553 |
|
교수님~
오늘 오후에 사무실에 찾아갔던 한세대학생 5명중의 한명입니다.
다름이 아니라 궁금한게 너무도 많아서 문의 드립니다.
교수님께서 직접 만드신 LED 깜빡이는 보드와 저희가 하나씩 받아온 빈 보드를
살펴보니 구조가 조금 다릅니다. (헷갈립니다... 살려주십시오~ ㅠ)
우선 포트를 어떻게 사용하는건지 모르겠습니다.
교수님은 LED를 깜빡이기 위해 PB0 과 PB1 에 각각 LED를 끼우신것 같던데
그럼 PB0 과 PB1 이 포트의 기능을 대신하는 것입니까?
더 많은 LED 를 추가하려면 LED를 포트(구멍이10개인..)에 나누어 꽂아야 합니까?
그렇다면 어떻게 꽂아야 합니까? 우선 포트를 어떻게 쓰는지 궁금합니다.
그리고 교수님이 만드신 보드는 포트가 A,B,C,D 네개가 있는데
저희가 받아온 보드는 PORT C 하나밖에 없습니다.
자료를 찾아보니 PORT C 는 테스트용 포트라던데
그럼 이것은 어떻게 사용해야하며 어떤 기능을 수행할수 있습니까?
이밖에도 궁금한게 넘쳐납니다.. ㅠ
워낙에 아는게 없어서 여쭙기도 힘들고 어떻게 손을 대야할지도 막막합니다.
질문을 써놓고도 정리가 안 되는것 같아 죄송합니다.
관리자 답변
보드 두장이 다른 보드이지만, 기본적인 구조는 같습니다.
둘 다 Mega16으로 만든 것이고, 회로도 거의 같습니다.
단지, 몇개 부품이 빠졌을 뿐이죠. LED를 추가하려면,
추가로 빵보드 하나를 사셔서, 거기다 LED를 꽂아 놓고, Mega16에서 포트를 빼서 연결해 놓고 쓰셔야 합니다.
포트는 모두다 테스트로 쓸 수도 있고, 직접 사용할 수도 있는 것입니다. 테스트 포트가 따로 있는 건 아니죠.
한 포트는 8개의 비트(한바이트)로 구성이 되고,
각각의 비트를 1 또는 0으로 씀에 의해( ex:PORTB=0x33;)
LED를 껏다가 켰다가 할 수 있는 것이구요. 비트를 1로 쓰면 포트에서 5V가 출력이 됩니다. 참고하세요.
|
||||
| 32 | 답변완료그래픽 LCD 강좌.. | 조덕하 | 2005-12-07 | 8,810 |
|
그래픽 LCD 한글 강좌 기다리고있습니다....
바쁘셔서 강좌업데이트 못하시는 건가요....
관리자 답변
네 그랬습니다. 조만간에 올리도록 하겠습니다.
미안합니다. ^^ 기다려 주셔서 고맙습니다.
|
||||
| 31 | 답변완료교수님~* | 전자공학듣는학생^-^* | 2005-12-07 | 9,164 |
|
교수님 늦었지만 결혼디따디따 추카드혀요~♡
결혼 하셨으니깐,,
항상 행복하셔야해요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
화이팅입니다!!^-^
수업 얼마 안남았지만 즐겁게 수업해요 ^-^
한학기 동안 즐거웠어용!ㅎ
관리자 답변
고마워요~ 학생. 누군진 모르겠지만, 나중에 수업시간에 봐요.
주님의 따사로운 은총과 함께 행복 가득하세요.
|
||||
| 30 | 답변완료AT MEGA 128 모듈 테스트용 PCB... | 조덕하 | 2005-11-25 | 9,751 |
|
조립하다 보니 4칸짜리 작은 7세그먼트가 들어가는데
오늘 용산 SY도 가고 근처 부품점도 돌아다녔는데
구입을 하지 못했습니다..
구입할수있는 방법좀...
DS1307도 없고 DS1302 있던데 1302사용해도 되나요?
관리자 답변
1. DS1302와 1307이 방식이 좀 다릅니다.
DS1307은 I2C를 사용하거든요. 반드시 DS1307을 쓰셔야
합니다. 그리고
2. 4개짜리 세븐 세그먼트 FND는 용산 전자랜드 광장층의
동신전자에 가시면 있습니다. 커먼 캐소드 또는 커먼 에노드
타입 모두 가능합니다. 프로그램으로 조절하시면 됩니다.
포트에 다 물려 있습니다. LDS40361SRC 또는 LDS40361SRA
를 사용하세요.
|
||||
| 29 | 답변완료atmega8을이용한온도계만뜰때... | 초보 | 2005-11-21 | 9,246 |
|
ATmega8 을 이용해서 온도계및 디지털시계를 만들려고하는데요
LCD(16pin)을 이용해 만들고자합니다.
허나 프로그램 을 짜야하는데....
아무리찾아봐도 8051것 바꼐않보이네요..ㅡㅡ;
atmega8을이용해서 만들때도...
8051용 프로그램소스를 사용해도 가능할까요?
관리자 답변
본 싸이트의 로봇 강좌에서 센서보드 강좌 쪽을 보시면
A/D 컨버팅 부분을 보실 수 있습니다. 온도 센서도 결국 센서 이므로, 증폭한 후, A/D 한 값을 읽어서, 값에 따라서 실제 온도로 변환하시면 됩니다.
|
||||
| 28 | 답변완료파워보드 | joker | 2005-11-18 | 9,394 |
|
5V, 3.3V 출력으로하는 파워보드를 샀는데요.
배터리 단자로 연결할 경우
입력전압이 얼마짜리로 하나요.
관리자 답변
입력 전압은 7.5V 이상~20V 이내 이면 됩니다.
|
||||
| 27 | 답변완료ATmega128 RDK2 (빨간색 개발/응용 보드)에서요..몇가지 질문 | 김인철 | 2005-11-11 | 8,597 |
|
안녕하세요?
ATmega128 RDK2 (빨간색 개발/응용 보드)에서요..몇가지 질문 드립니다..
질문1> 8digit FND(SND)는 어떤 타입을 써야 하나요?? (CC or CA?)
모델번호까지 알려주시면 더 좋구요...
질문2> 응용보드에 128chip을 납땜하고도, 128 MCU보드를
같이 꼽아서 사용 가능할까요?..(안될것 같은데...)
그러니까, 어떤때는..보드 납땜한 CPU르 쓰다가, MCU모드를 꼽으면
MCU가 main cpu가 되는...게 가능한지..
혹시 그렇게 사용하려면 어떻게 하면 되는지..
납땜한 128chip을 떼어내야만 하는건지요...
질문3> MCU보드와 응용보드(RDK2)를 사용한 예제소스 들이 한꺼번에
제공될 계획은 없는지요...
회로에는 다양한 기능을 시험할수 있게 되어 있는데....
이상이 궁굼합니다..
관리자 답변
SND 는 SND340B SR 이나, LDS40361SRC 를 쓰면 될것 같은데요..(CC타입)
>안녕하세요?
>ATmega128 RDK2 (빨간색 개발/응용 보드)에서요..몇가지 질문 드립니다..
>
>질문1> 8digit FND(SND)는 어떤 타입을 써야 하나요?? (CC or CA?)
> 모델번호까지 알려주시면 더 좋구요...
>
>질문2> 응용보드에 128chip을 납땜하고도, 128 MCU보드를
> 같이 꼽아서 사용 가능할까요?..(안될것 같은데...)
> 그러니까, 어떤때는..보드 납땜한 CPU르 쓰다가, MCU모드를 꼽으면
> MCU가 main cpu가 되는...게 가능한지..
> 혹시 그렇게 사용하려면 어떻게 하면 되는지..
> 납땜한 128chip을 떼어내야만 하는건지요...
>
>질문3> MCU보드와 응용보드(RDK2)를 사용한 예제소스 들이 한꺼번에
> 제공될 계획은 없는지요...
> 회로에는 다양한 기능을 시험할수 있게 되어 있는데....
>
>이상이 궁굼합니다..
>
|
||||
| 26 | 답변완료 적외선 리모콘 응용하기 질문입니다. | 조세희 | 2005-11-09 | 12,545 |
|
AVR을 이용하여서 적외선 리모콘을 응용해볼려고 하는데요.
저는 현재 광센서를 이용하여 간단한 자동케튼을 제작중인 학생입니다.
그런데 책이나 어느 자료를 찾아보아도 리모콘을 AVR128보드를 이용하여 하는것은 없더군요.
리모콘에는 커튼의 동작 , 펼쳐진 커튼을 걷어내는 동작 스위치 2개를 이용하여 만들어 보고 싶은데요..
회로도나 조언 좀 부탁드립니다.
p.s : 리모콘 수신부는 IR_KSM603LM , 저항 100옴 , 캐패시터 16/100uF 이러케 있으면 수신부는 되는 건가요? 그리고 AVR핀설정은 어떻게 해주어야 하는 것입니까?
트랜스퍼 부분에도 메로리(CPU)가 들어가는거 같은데. 트랜스퍼 부분의 회로도는 도저히 감이 잡히질 않네요.
글이 정리 가 안되게 질문을 하는데 답변 좀 부탁드립니다.
관리자 답변
샘플전자의 홈페이지에 가셔서 적외선 리모컨 킷을 구입하세요. 송수신 모두 구입하시면, 송신 회로, 수신회로 모두 나와 있구요. 수신부의 경우에는 핀으로 출력이 되니까,
그 핀을 입력으로 잡으시면 아주 쉽게 개발이 가능하실 겁니다.
만약, 송신부까지 만드시려면, 여러가지 방법이 있지만,
PWM으로 38kHz를 만들어 내서 적외선 송신 센서로 리모컨
출력을 내보내도 되겠지만, 오실로 스코프 등을 사용해서 정확한 타이밍을 재야 하는 등, 번거로우실 겁니다.
그냥 리모컨 송신 전용 IC를 사용하시는 게 좋으니까, 샘플전자의 리모컨 송신부킷트에서 IC만 빼서 회로를 납땜해서 구성해 쓰시는 게 좋을 듯 싶습니다.
AVR128 보드를 이용하여 해보시려면, 뒤에 간단하게 예전에 구성하였던 소스 중에서 리모컨 쪽만 빼서 올려 드립니다.
링크는 <a href=http://www.sample.co.kr/se-irf/index.htm target=_blank>http://www.sample.co.kr/se-irf/index.htm</a> 입니다.
|
||||
| 25 | 답변완료그래픽 LCD 질문이요 | 홍지웅 | 2005-11-07 | 9,575 |
|
거기보면 19,20번에 전원을 연결해야하는데
4.2V전원은 어서 연결해야해요??
외부전원을 따로 사용해야하나요??
관리자 답변
5V 전원에 가변저항 달아서 4.2V 만들어 쓰세요.
|
||||
| 24 | 답변완료코드비전에대해서 | 초보자 | 2005-11-03 | 10,606 |
|
안녕하세요 ATmega8을 이용해서 LED제어를 하려고하는데요
코드비전이라는 프로그램을 이용해서 프로그램짠것을 입력시킬려고합니다.
하지만 입역이않댑니다.
에러코드는
Chip signature mismatch
Read: Byte0=FFh Byte1=FFh Byte2=FFh
Must be: Byte0=Eh Byte1=93h Byte2=07h
이렇게나오는데요 연결이 제데로 않된건가요?
무슨뜻인지 검색해도 않나와서 이곳에다 물어보게됬습니다.
빠르고 정확한 답변 기다리고있겠습니다.
관리자 답변
혹시...프로그램에 보면 메뉴에서 사용한 칩을 설정해 주는 부분이 있는 데,
그 부분을 혹시 깜빡하신 건 아닌가요?
확인해 보세요.
|
||||
| 23 | 답변완료DC 모터 관련 궁금증입니다. | 박성진 | 2005-11-02 | 9,537 |
|
라인트레이서에서여 89C51 을 이용하여 BA6208 로 신호를 보내서 DC모터를 구동 시키는데여
프로그램상에서 DC모터의 속도를 제어 할 수 있는 방법이 있나여!?
좌회전과 우회전에서도 속도를 제어 하고 싶은데여...
case 2: //오른쪽안쪽 센서 감지 우회전
for(i=0;i<2;i++)
{
MORA = MOLA = 1;
MORB = MOLB = 0;
for(j=0;j<3;j++);
MORB = 1;
for(j=3;j<5;j++);
MORB = 0;
for(j=5;j<10;j++);
MORB = 1;
}
break;
이런 식으로 속도를 줄였다 하는것이 가능한것인지 궁금합니다.
관리자 답변
PWM으로 하시는 것이 좋을 듯합니다. 하지만,
DC 모터의 경우 현재 속도를 알아 내기 위해서는
RPM 확인용으로 엔코더를 쓰셔야 합니다.
고가 DC 모터의 경우 엔코더가 붙어 있는 경우도 있습니다.
님이 쓰신 모터에는 엔코더가 없을 것으로 생각되는 데,
이런 경우 포토 인터럽터 등을 사용하셔도 무방할 것으로 생각됩니다. 속도 제어는 PWM으로 하세요.
|
||||
| 22 | 답변완료AVR ISP와 ATmega8 과연결할때 핀번호... | 오늘AVR ISP산사람 | 2005-10-31 | 10,356 |
|
오늘 용산에서 샀는데요
첨부되있는 프린트를보니 ATmega128과의연결만있네요..
ATmega8과연결을할려고하는데
핀번호를 찾았는데 다시한번 확인차 글을올립니다.
MOSI를 17번핀에
MISO를 18번핀에
SCK 를 19번핀에
리셋을 1번핀에
GND 를 8번핀에
VCC를 7번핀에
연결하는돼는건지 알고싶습니다.
저보다 먼저이길을오신 선배님들에게 부탁드립니다.
AVR IPS와ATmega8 과연결하는핀번호...
알려주세요~
관리자 답변
넵 잘 아시네요. 그렇게 연결하시면 됩니다.
^^ 해 보시고 잘 되시는 지 리플 올려 주세요.^^
|
||||
| 21 | 답변완료18번 PWM신호 읽는 방법좀 알려 주세요 | 정균희 | 2005-10-30 | 9,293 |
|
입력이 5V인 PWM신호를 읽어서 그 폭를 알고 싶습니다.
회로도 말고, 프로그램 부탁합니다.
수고하세요
관리자 답변
타이머로 PWM 폭보다 최소 20배 이상 작은 간격으로
PWM 신호를 읽어봐서, 1이 나온 폭과 0이 나온 폭을 구하세요.
그렇게 하면 Duty Cycle을 알 수 있습니다.
|
||||
| 20 | 답변완료교수님...라인트레이서 프로그램 인데여.. | 박성진 | 2005-10-28 | 9,055 |
|
DC 모터를 사용해서 작업했습니다..
그런데 직진시 모터가 힘이 없어서 지면에서 움직이지를 않습니다.
좌회전과 우회전은 조금 되는데여..
회로도와 프로그램을 같이 올릴테니 봐 주십시오..
프로그램은 케일C 로 작성했습니다.
<라인 트레이서 프로그램>
#include<At89x51.h>
sbit MORA = P2^2;
sbit MORB = P2^3;
sbit MOLA = P2^4;
sbit MOLB = P2^5;
sbit BUZZ = P3^0;
sbit R1_IN = P0^5;
sbit R_IN = P0^6;
sbit C_IN = P0^7;
sbit L_IN = P1^0;
sbit L1_IN = P1^1;
#define S000 0x00
#define S001 0x01
#define S010 0x02
#define S011 0x03
#define S100 0x04
#define S101 0x05
#define S110 0x06
#define S111 0x07
void delay1(int delay_time) /* 딜레이 시간 */
{
int loop0;
for(loop0 = 0 ; loop0 < delay_time ; loop0++ );
}
void main(void)
{
int i,j;
char sensor; /* 변수설정 */
char prev_data; /* 변수설정 */
MORA = MORB = 0;
MOLA = MOLB = 0;
R1_IN = R_IN = C_IN = L_IN = L1_IN = 0; /*LED를 전부 OFF */
for(i=0;i<3;i++)
{
BUZZ = 0;
delay1(20000);
BUZZ = 1;
delay1(20000);
}
prev_data = 0;
sensor = 0;
delay1(20000);
while(1)
{
sensor = 0;
R1_IN = R_IN = C_IN = L_IN = L1_IN = 0; /*LED를 전부 OFF */
MORA = MORB = 1;
MOLA = MOLB = 1;
delay1(10);
if( R_IN == 1 ) sensor += 1; /* 오른쪽 센서 입력 */
if( C_IN == 1 ) sensor += 2; /* 가운데 센서 입력 */
if( L_IN == 1 ) sensor += 4; /* 왼쪽 센서 입력 */
if(sensor == S000)sensor = prev_data;
if(sensor == S101)sensor = prev_data;
switch(sensor) /*않으면 먼저의 값을 기억 */
{
case S000: /* 입력이 없으면 정지 */
MORA = 1;
MORB = 1;
MOLA = 1;
MOLB = 1;
break;
case S001: /* 오른쪽이 라인이 있으면 우측회전 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
for(j=0;j<10;j++){
MORB = 1;}
for(j=0;j<10;j++){}
}
prev_data=sensor;
break;
case S010: /*가운데 라인이 있으면 직진 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
}
break;
case S011: /* 오른쪽과 가운데에 라인이 있으면 우회전 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
for(j=0;j<20;j++){
MORB = 1;}
for(j=0;j<10;j++){}
}
break;
case S100: /* 왼쪽에 라인이 있으면 좌회전 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
for(j=0;j<10;j++){
MOLB = 1;}
for(j=0;j<10;j++){}
}
prev_data=sensor;
break;
case S101: /* 오른쪽과 왼쪽에 라인이 있으면 우측회전 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
for(j=0;j<20;j++){
MORB = 1;}
for(j=0;j<10;j++){}
}
break;
case S110: /* 왼쪽과 가운데에 라인이 있으면 좌회전 */
for(i=0;i<2;i++)
{
MORA = 1;
MORB = 0;
MOLA = 1;
MOLB = 0;
for(j=0;j<20;j++){
MOLB = 1;}
for(j=0;j<10;j++){}
}
break;
case S111: /* 모두 라인이 있으면 정지 */
MORA = 1;
MORB = 1;
MOLA = 1;
MOLB = 1;
break;
}
delay1(20);
}
}
관리자 답변
모터가 힘이 없어서 못 움직이는 문제는,
가장 좋은 방법은 모터를 교체 하셔야 합니다.
모터를 기어드 DC 모터로 교체해 주세요.
속도는 느려 지겠지만, 힘이 좋아집니다.
|
||||
| 19 | 답변완료atmega128에서 PWM신호를 3개 받아 "0"과 "1"의 폭의 길이를 측정하고 싶습니다. | 정균희 | 2005-10-24 | 10,037 |
|
안녕하세요
개발키트로 PWM신호를 3개 받아 "0"과 "1"의 폭의 길이를 측정하고 그 결과를
가지고 새로운 PWM펄스를(모터제어) 만들려고 합니다.
여러번 시도를 해보았는데 잘 안되네요
도움 부탁드림니다.
입력 펄스폭 : 0.3msec ~ 2.5msec
출력 펄스폭은 일반 DC모터 속도제어를 할려고 합니다.
기타 : DC모터는 24~36V 750W로 속도 제어 운행하다가 외부의 조건에 따라
전원이 인가되어있는 상태에서 외부에서 강제 정지가 되는 경우도 있는데
이런 상황에서 상용할 수 있는 회로 및 FET를 알고 싶습니다.
많은 도움 바람니다.
(일반적인 atmega128로 제어하는 회로만 있어도 도움이 될것 같음)
수고하세요
관리자 답변
Encoder가 달린 큰 DC 모터의 PWM 신호를 3개 받아 그걸 토대로 PWM으로 DC 모터를 제어하시려는 것 같은데요.
그 정도 스펙의 큰 DC 모터는 일반 그냥 테스트 회로 정도로 구성해서는 동작이 잘 되지 않을 것입니다. 여기서, 그냥 이렇다 저렇다 말씀드리기에는 좀 그렇네요. 그 정도면 전류량도 꽤 되는데, 그냥 말씀 드리기에는 덩치가 좀 커서요. 직접 보던가 해야 스펙을 결정해서 좀 찾아봐야 하는 일인 것 같군요. 수고하세요
|
||||
