Q&A
| 번호 | 제목 | 작성자 | 등록일 | 조회 |
|---|---|---|---|---|
| 9083 | 답변완료스텝모터 기구부 수정에 관련된 질문입니다. | 정진환 | 2015-02-23 | 1,399 |
|
안녕하세요.
스텝모터의 가운데 돌아가는 부분..(이름을 모르겠네요 ^^;)
이게 대략 3~5cm 정도 되는것 같은데..
이걸 20cm정도로 늘릴 수 있을까요?
아니면, 확장을 할 수 있는 기구(?)나 막대기 같은게 있을까요?
끝에는 휠(SE-WST2)을 연결할겁니다...
방법이 있을까요?
관리자 답변
안녕하세요? 고객님,
질문에 답변 드리겠습니다.
> 안녕하세요.
> 스텝모터의 가운데 돌아가는 부분..(이름을 모르겠네요 ^^;)
==> 샤프트라고 합니다.^-----^
> 이게 대략 3~5cm 정도 되는것 같은데..
==> 24mm 정도 됩니다.
> 이걸 20cm정도로 늘릴 수 있을까요?
==> 특별히 샘플 제작해야 해서, 많이 비싸고, 시간도 두달 정도 걸립니다.
> 아니면, 확장을 할 수 있는 기구(?)나 막대기 같은게 있을까요?
==> 커플링(대략 싼것은 9,000~15,000원 정도)을 껴서, 5파이 봉을 껴서 쓰시면 되겠습니다.
5파이 100mm짜리 : http://www.devicemart.co.kr/1149214
커플링 : http://www.devicemart.co.kr/38236 (주문시 5파이 구멍 잘 보고 하세요.)
> 끝에는 휠(SE-WST2)을 연결할겁니다...
>
> 방법이 있을까요?
>
감사합니다.
|
||||
| 9082 | 답변완료빌드는 되는데, 실행이 안되요 | 이현승 | 2015-02-17 | 1,282 |
|
WINAVR를 이요하여 AVR STUDIO에서 빌드 했으며,
현재 동봉해 주신 CD에서 실행되어 glcd화면에 그래픽이 뜨는 건
E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_3
위의 것 하나 뿐이고,
아래의 예제들은 glcd화면상에 아무 것도 나타나지 않습니다.
E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_1
E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_2
E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVRStudio+WINAVR\ex_sense+adc+GLCD
관리자 답변
안녕하세요? 고객님,
지난번 질문에서 동작을 확인하고 소스를 다시 압축하여 올려드린겁니다.
따라서, 바로전 질문에 저희가 답변에 동봉해드린 소스를 받아서 해보셔도 되지 않는다면 하드웨어 문제일수도 있습니다.
하지만 한가지는된다고 하셨으니, 하드웨어 문제는 아니실것같네요.
예제들은 일일이 모두 확인하여 올려드린것이라 거의 문제는 없습니다.
본사로 휴가가 끝난후 방문하시거나 택배로 장비 점검이 가능합니다.
일단 그 동봉해드린 소스로 해보세요.
확실히 잘 되는 소스입니다.
감사합니다.
>
>
> WINAVR를 이요하여 AVR STUDIO에서 빌드 했으며,
> 현재 동봉해 주신 CD에서 실행되어 glcd화면에 그래픽이 뜨는 건
> E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_3
> 위의 것 하나 뿐이고,
>
> 아래의 예제들은 glcd화면상에 아무 것도 나타나지 않습니다.
> E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_1
>
> E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVR_Lab_AVRStudio+WINAVR\Lab_10_Graphic_LCD\Lab_10_2
>
> E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVRStudio+WINAVR\ex_sense+adc+GLCD
>
|
||||
| 9081 | 답변완료아두이노(arduion)로 스텝모터 구동보도 (AM-CS2P) 동작이 안됨니다. 문제가 무엇인지 알려주시면 감사하겠습니다 | 박종화 | 2015-02-17 | 1,439 |
|
/*
* MotorKnob
*
* A stepper motor follows the turns of a potentiometer
* (or other sensor) on analog input 0.
*
* http://www.arduino.cc/en/Reference/Stepper
* This example code is in the public domain.
*/
#include <Stepper.h>
// change this to the number of steps on your motor
#define STEPS 100
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);
// the previous reading from the analog input
int previous = 0;
void setup()
{
// set the speed of the motor to 30 RPMs
stepper.setSpeed(30);
}
void loop()
{
// get the sensor value
int val = analogRead(0);
// move a number of steps equal to the change in the
// sensor reading
stepper.step(val - previous);
// remember the previous value of the sensor
previous = val;
}
관리자 답변
안녕하세요? 고객님,
CS2P와 각 상의 연결이 맞는지 확인해 보세요.
즉, 라이브러리는 8,9,10,11번핀의 순서로 넣었는데,
CS2P의 10핀 헤더핀과의 핀연결은 10핀헤더핀의 1, 3, 2, 4번핀과
아두이노의 8,9,10,11번핀과 순서에 맞게 연결해주면 됩니다.
모터의 A, /A, B, /B순서죠.
그리고, 2핀 전원핀에 12V 1A이상 넣어주시는것이 필요합니다.
그 후, 클럭 넣어주면서 cs2p의 중앙의 가변저항을 돌려 적절한 바이어스로 맞춰줘야합니다.
감사합니다.
>
>
> /*
> * MotorKnob
> *
> * A stepper motor follows the turns of a potentiometer
> * (or other sensor) on analog input 0.
> *
> * http://www.arduino.cc/en/Reference/Stepper
> * This example code is in the public domain.
> */
>
> #include <Stepper.h>
>
> // change this to the number of steps on your motor
> #define STEPS 100
>
> // create an instance of the stepper class, specifying
> // the number of steps of the motor and the pins it's
> // attached to
> Stepper stepper(STEPS, 8, 9, 10, 11);
>
> // the previous reading from the analog input
> int previous = 0;
>
> void setup()
> {
> // set the speed of the motor to 30 RPMs
> stepper.setSpeed(30);
> }
>
> void loop()
> {
> // get the sensor value
> int val = analogRead(0);
>
> // move a number of steps equal to the change in the
> // sensor reading
> stepper.step(val - previous);
>
> // remember the previous value of the sensor
> previous = val;
> }
>
|
||||
| 9080 | 답변완료소스가 오동작 하는데, 정상작동하는 소스를 구할 수 있겠읍니까? | 이현승 | 2015-02-16 | 1,429 |
|
안녕하세요?
KT-M128-LT 사용자입니다.
질문 하나
소스가 오동작하는데, 정상작동하는 소스를 구할 수 있겠읍니까?
아래에 소스를 나열하겠읍니다.
아래의 소스는 AVR STUDIO의 소스입니다.
동봉된 CD의 디렉토리는 아래와 같습니다.
E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVRStudio+WINAVR\ex_sense+adc+GLCD
질문 둘
그리고 위의 보드에 초음파 센서를 장착해서 사용할 수 있읍니까?
있다면 어떻게 장착해서 사용해야 됩니까?
//ICC-AVR application builder : 2008-01-16 오후 3:28:31
// Target : M128
// Crystal: 16.000Mhz
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdio.h>
#define LCD_Control (* (volatile unsigned char *) 0x8001)
#define LCD_Data (* (volatile unsigned char *) 0x8000)
#define RS_ON LCD_Control = (LCD_Controller|=0x01)
#define RS_OFF LCD_Control = (LCD_Controller&=0xfe)
#define RW_ON LCD_Control = (LCD_Controller|=0x02)
#define RW_OFF LCD_Control = (LCD_Controller&=0xfd)
#define EN_ON LCD_Control = (LCD_Controller|=0x04)
#define EN_OFF LCD_Control = (LCD_Controller&=0xfb)
#define CS2_ON LCD_Control = (LCD_Controller|=0x10)
#define CS2_OFF LCD_Control = (LCD_Controller&=0xef)
#define CS1_ON LCD_Control= (LCD_Controller|=0x08)
#define CS1_OFF LCD_Control = (LCD_Controller&=0xf7)
#define RESET_ON LCD_Control= (LCD_Controller|=0x20)
#define RESET_OFF LCD_Control= (LCD_Controller&=0xdf)
#define CS_ALL LCD_Control= (LCD_Controller|=0x18)
#define ON 1
#define OFF 0
#define delaytime 2
#define delaytime1 5
/* ------------------------------------------------------- */
/* 8x16 Dot English(ASCII) Character Font */
/* ------------------------------------------------------- */
const unsigned char E_font[128][16] = { /* 8x16 ASCII character font */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x00 */
{0xF8,0x04,0x14,0x04,0x04,0x14,0x04,0xF8,0x07,0x08,0x09,0x0B,0x0B,0x09,0x08,0x07}, /* 0x01 */
{0xF8,0xFC,0x6C,0x7C,0x7C,0x6C,0xFC,0xF8,0x07,0x0F,0x0F,0x0C,0x0C,0x0F,0x0F,0x07}, /* 0x02 */
{0x00,0xF0,0xF8,0xF8,0xF0,0xF8,0xF8,0xF0,0x00,0x00,0x01,0x03,0x07,0x03,0x01,0x00}, /* 0x03 */
{0x00,0x40,0xE0,0xF0,0xF8,0xF0,0xE0,0x40,0x00,0x00,0x00,0x01,0x03,0x01,0x00,0x00}, /* 0x04 */
{0xE0,0xE0,0xF8,0x1C,0x1C,0xF8,0xE0,0xE0,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00}, /* 0x05 */
{0x60,0xF0,0xF8,0xFC,0xFC,0xF8,0xF0,0x60,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00}, /* 0x06 */
{0x00,0x00,0x60,0xF0,0xF0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x07 */
{0x00,0xFF,0x1F,0x0F,0x0F,0x0F,0x1F,0xFF,0x00,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF}, /* 0x08 */
{0x00,0x00,0xE0,0x10,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00}, /* 0x09 */
{0x00,0xFF,0x1F,0xEF,0xEF,0xEF,0x1F,0xFF,0x00,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF}, /* 0x0A */
{0x00,0x00,0x90,0x48,0x7C,0x48,0x90,0x00,0x00,0x03,0x04,0x08,0x08,0x08,0x04,0x03}, /* 0x0B */
{0x00,0x30,0x48,0x84,0x84,0x84,0x48,0x30,0x00,0x02,0x02,0x02,0x0F,0x02,0x02,0x02}, /* 0x0C */
{0x00,0x00,0x00,0xFC,0x04,0x08,0x70,0x00,0x00,0x06,0x0F,0x07,0x00,0x00,0x00,0x00}, /* 0x0D */
{0x00,0x00,0x00,0xFC,0x14,0x14,0x14,0xFC,0x00,0x0C,0x1E,0x0F,0x00,0x06,0x0F,0x07}, /* 0x0E */
{0x50,0x50,0xE0,0xBC,0xBC,0xE0,0x50,0x50,0x01,0x01,0x00,0x07,0x07,0x00,0x01,0x01}, /* 0x0F */
{0x00,0x00,0xFC,0xF8,0xF0,0xE0,0x40,0x00,0x00,0x00,0x07,0x03,0x01,0x00,0x00,0x00}, /* 0x10 */
{0x00,0x00,0x40,0xE0,0xF0,0xF8,0xFC,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x00}, /* 0x11 */
{0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x00,0x01,0x03,0x07,0x07,0x03,0x01,0x00}, /* 0x12 */
{0x00,0x00,0xFC,0xFC,0x00,0x00,0xFC,0xFC,0x00,0x00,0x04,0x04,0x00,0x00,0x04,0x04}, /* 0x13 */
{0x38,0x7C,0x44,0xFC,0xFC,0x04,0xFC,0xFC,0x00,0x00,0x00,0x07,0x07,0x00,0x07,0x07}, /* 0x14 */
{0x00,0xC4,0xEE,0x3A,0x12,0x32,0xE6,0xC4,0x00,0x08,0x19,0x13,0x12,0x17,0x1D,0x08}, /* 0x15 */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x00}, /* 0x16 */
{0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x08,0x09,0x0B,0x0F,0x0F,0x0B,0x09,0x08}, /* 0x17 */
{0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x00,0x00,0x00,0x07,0x07,0x00,0x00,0x00}, /* 0x18 */
{0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x07,0x03,0x01,0x00}, /* 0x19 */
{0x00,0x40,0x40,0x40,0x50,0xF0,0xE0,0x40,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00}, /* 0x1A */
{0x00,0x40,0xE0,0xF0,0x50,0x40,0x40,0x40,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00}, /* 0x1B */
{0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02}, /* 0x1C */
{0x40,0xE0,0x50,0x40,0x40,0x50,0xE0,0x40,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00}, /* 0x1D */
{0x00,0x00,0x00,0xC0,0xF0,0xC0,0x00,0x00,0x00,0x04,0x07,0x07,0x07,0x07,0x07,0x04}, /* 0x1E */
{0x00,0x10,0x70,0xF0,0xF0,0xF0,0x70,0x10,0x00,0x00,0x00,0x01,0x07,0x01,0x00,0x00}, /* 0x1F */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* space */
{0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00}, /* ! */
{0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* */
{0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00}, /* # */
{0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x06,0x0C,0x08,0x38,0x38,0x0F,0x07,0x00}, /* $ */
{0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00}, /* % */
{0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* & */
{0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ' */
{0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00}, /* ( */
{0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00}, /* ) */
{0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00}, /* * */
{0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00}, /* + */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00}, /* , */
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* - */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00}, /* . */
{0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00}, /* / */
{0xF0,0xF8,0x0C,0xC4,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00}, /* 0 */
{0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00}, /* 1 */
{0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00}, /* 2 */
{0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 3 */
{0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00}, /* 4 */
{0x7C,0x7C,0x44,0x44,0x44,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 5 */
{0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 6 */
{0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00}, /* 7 */
{0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 8 */
{0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00}, /* 9 */
{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00}, /* : */
{0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00}, /* ; */
{0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00}, /* < */
{0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00}, /* = */
{0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00}, /* > */
{0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00}, /* ? */
{0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00}, /* @ */
{0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* A */
{0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00}, /* B */
{0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00}, /* C */
{0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00}, /* D */
{0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00}, /* E */
{0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* F */
{0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00}, /* G */
{0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* H */
{0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* I */
{0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00}, /* J */
{0x04,0xFC,0xFC,0xC0,0xE0,0x3C,0x1C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00}, /* K */
{0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00}, /* L */
{0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* M */
{0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* N */
{0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* O */
{0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* P */
{0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00}, /* Q */
{0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* R */
{0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00}, /* S */
{0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* T */
{0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* U */
{0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00}, /* V */
{0xFC,0xFC,0x00,0xC0,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x0E,0x03,0x0E,0x0F,0x07,0x00}, /* W */
{0x0C,0x3C,0xF0,0xE0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x01,0x03,0x0F,0x0C,0x00}, /* X */
{0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* Y */
{0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00}, /* Z */
{0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00}, /* [ */
{0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00}, /* \ */
{0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00}, /* ] */
{0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ^ */
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}, /* _ */
{0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ` */
{0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* a */
{0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x00,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00}, /* b */
{0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00}, /* c */
{0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* d */
{0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00}, /* e */
{0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* f */
{0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00}, /* g */
{0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* h */
{0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* i */
{0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00}, /* j */
{0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00}, /* k */
{0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* l */
{0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x07,0x00,0x0F,0x0F,0x00}, /* m */
{0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* n */
{0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* o */
{0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00}, /* p */
{0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00}, /* q */
{0x20,0xE0,0xC0,0x60,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* r */
{0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00}, /* s */
{0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00}, /* t */
{0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* u */
{0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00}, /* v */
{0xE0,0xE0,0x00,0x80,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00}, /* w */
{0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00}, /* x */
{0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00}, /* y */
{0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00}, /* z */
{0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00}, /* { */
{0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00}, /* | */
{0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00}, /* } */
{0x80,0xC0,0x40,0xC0,0x80,0xC0,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ~ */
{0x80,0xC0,0x60,0x30,0x60,0xC0,0x80,0x00,0x07,0x07,0x04,0x04,0x04,0x07,0x07,0x00} /* 0x7F */
};
char LCD_Controller;
int XPosition=0, YPosition=0;
volatile unsigned int value;
int Putchar(char data)
{
Write_English(data);
return data;
}
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
void uart1_init(void)
{
UCSR1B = 0x00; //disable while setting baud rate
UCSR1A = 0x00;
UCSR1C = 0x06;
UBRR1L = 0x67; //set baud rate lo
UBRR1H = 0x00; //set baud rate hi
UCSR1B = 0x98;
}
//ADC initialize
// Conversion time: 104uS
void adc_init(void)
{
ADCSRA = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
ACSR = 0x80;
ADCSRA = 0x87;
}
/*void adc_init(void)
{
ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
}*/
//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();
adc_init();
uart1_init();
fdevopen(Putchar,0);
MCUCR = 0x00; //원래는 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(3);
}
}
void delay_ms(unsigned int dt)
{
unsigned int dc;
for(dc=0;dc<dt;dc++)
{
delay_us(1100);
}
}
void Lcd_XY(int x_, int y_){
XPosition = x_;
YPosition = y_;
}
void Write_Control(char CS, char cmd){
delay(delaytime);
EN_OFF;
delay(delaytime);
RS_OFF;
delay(delaytime);
RW_OFF;
delay(delaytime);
LCD_Control = CS;
delay(delaytime);
EN_ON;
delay(delaytime);
LCD_Data = cmd;
delay(delaytime);
EN_OFF;
delay(delaytime);
}
void Lcd_XY_S(int s, int x_, int y_){
Lcd_XY(x_,y_);
if(s==0)
Write_Control(CS_ALL, 0xb8 + x_*2);
else
Write_Control(CS_ALL, 0xb8 + x_*2 + 1);
if(YPosition <8)
Write_Control(CS2_OFF, 0x40 +y_*8);
else
Write_Control(CS1_OFF, 0x40 +(y_-8)*8);
}
void Write_Data(char CS, char data){
delay(delaytime);
EN_OFF;
delay(delaytime);
RS_ON;
delay(delaytime);
RW_OFF;
delay(delaytime);
LCD_Control = CS;
delay(delaytime);
EN_ON;
delay(delaytime);
LCD_Data = data;
delay(delaytime);
EN_OFF;
delay(delaytime);
}
void Lcd_Clear(){
int i, j, x, y;
LCD_Control = 0x00;
Write_Control(CS_ALL, 0x3f);
Write_Control(CS_ALL, 0xc0);
x=0xb8;
y=0x40;
for(i=0; i<=7; i++){
Write_Control(CS_ALL, x);
Write_Control(CS_ALL, y);
for(j=0; j<64; j++){
Write_Data(CS_ALL, 0x00);
}
x++;
}
}
void Write_English(unsigned char code){
int x_, y_, i, sign;
x_=XPosition;
y_=YPosition;
Lcd_XY_S(0,x_,y_);
if(YPosition < 8)
sign = CS2_OFF;
else
sign = CS1_OFF;
for(i=0;i<8;i++)
Write_Data(sign, E_font[code][i]);
Lcd_XY_S(1,x_,y_);
if(YPosition < 8)
sign = CS2_OFF;
else
sign = CS1_OFF;
for(i=8; i<16; i++)
Write_Data(sign, E_font[code][i]);
YPosition++;
if(YPosition==16){
YPosition = 0;
XPosition++;
}
if(XPosition>3){
XPosition = 0;
Lcd_Clear();
}
}
void Lcd_init(){
RESET_OFF;
RESET_ON;
CS_ALL;
Write_Control(CS_ALL, 0x3f);
Write_Control(CS_ALL, 0xc0);
Write_Control(CS_ALL, 0xb8);
Write_Control(CS_ALL, 0x40);
}
void Adc_Data( unsigned char Admux )
{
unsigned int tempL, tempH;
delay(15);
ADCSRA &=0x1f;
ADMUX = Admux;
ADCSRA |= 0xC0;
delay(5);
delay_ms(1);
tempL = ADCL;
tempH = ADCH;
value = tempL + tempH*256;
if((value<10) & (value>0) )
{
printf(": %d", value);
}
else if(value<100)
{
printf(": %d", value);
}
else if(value<1000)
{
printf(": %d", value);
}
else
{
printf(": %d", value);
}
}
int main(void){
unsigned char Va_R=0x40, Ir_S=0x41, Te_S=0x42, Cd_S=0x43;
unsigned int sensor_val;
init_devices();
Lcd_init();
Lcd_Clear();
Lcd_XY(0,0);
printf("Var_Reg");
Lcd_XY(1,0);
printf("IR_Sens");
Lcd_XY(2,0);
printf("Temp_Se");
Lcd_XY(3,0);
printf("CDS_Sen");
//Lcd_XY(4,0); //내가 한거
while(1){
Lcd_XY(0,9);
Adc_Data(0x40);
delay(2000);
Lcd_XY(1,9);
Adc_Data(0x41);
delay(2000);
Lcd_XY(2,9);
Adc_Data(0x42);
delay(2000);
Lcd_XY(3,9);
Adc_Data(0x43);
delay(2000);
}
return 0;
}
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
소프트웨어적 문제 :
빌드가 되지 않으실 경우 다음을 점검해 보세요. AVR Studio 버전이 4.17 또는 그 이상일 경우 공식적으로 WinAVR 과의 연동을 지원하지 않기 때문에 추가로 연동을 하시거나 툴체인을 설치하셔야 합니다.
툴체인을 설치하는 것을 선택하실 경우, 다음 링크에서 툴체인을 내려받아 설치해주세요.
http://www.atmel.com/Images/avr-toolchain-installer-3.3.0.710-win32.win32.x86.exe
그 뒤 AVR Studio 를 종료하고 다시 실행하실 경우 정상적으로 빌드가 됨을 알 수 있습니다. (F7 단축키가 설정이 꼬여 사라지는 경우도 있으나, 그 때에는 Build 메뉴의 Build All 을 실행해주시면 됩니다)
그렇지 않고 WinAVR 을 사용하실 경우는 다음과 같이 설정해주시면 됩니다.
Project -> Configuration Options -> Custom Options 의 External Tools 옵션에서 Use AVR Toolchain 을 체크 해제 후 다음을 추가로 설정해주시면 됩니다.
avr-gcc : 옆의 ... 버튼을 누르고 다음을 찾아갑니다.
C:\WinAVR-20100110\bin\avr-gcc.exe
make : 옆의 ... 버튼을 누르고 다음을 찾아갑니다.
C:\WinAVR-20100110\utils\bin\make.exe
※Windows 특성상 파일/폴더명 대소문자를 구분하지 않습니다.
※WinAVR 버전이 낮은 경우, 또는 기본 디렉터리가 아닌 다른 디렉터리에 설치한 경우 설치 경로(C:\WinAVR-20100110)는 언제든지 변경될 수 있습니다.
또한 Project -> Configuration Options -> General 에서 Use External Makefile 을 체크 해제 해주세요.
하드웨어적 문제 :
KT-M128보드의 ADC0 - ADC3 스위치가 On으로 되어있는지 확인해주세요. 그렇지 않을 경우 값이 꼬입니다.
또한 GLCD 를 사용하실 경우 LCD SEL 스위치 (7 Segment 바로 옆에 있습니다) 가 밑으로 내려가 (GLCD로 선택) 있는지 확인해주세요. 해당 부분을 점검하신 후 Reset 스위치를 동작시켜 하드웨어 리셋을 해 주시면 됩니다.
초음파 센서 관련 문제 :
초음파 센서는 PORTF 또는 PORTB 를 사용하여 제어할 수 있습니다. PORTB 를 사용하실 경우 스위치 입력시 잘못된 값이 들어갈 수 있습니다. 해당하는 두 포트는 2 * 5 박스 커넥터로 연결되어 있으니 이 부분을 사용하여 제어하시면 됩니다.
소스 코드를 첨부해 드립니다.
감사합니다.
>
>
> 안녕하세요?
> KT-M128-LT 사용자입니다.
>
> 질문 하나
>
> 소스가 오동작하는데, 정상작동하는 소스를 구할 수 있겠읍니까?
> 아래에 소스를 나열하겠읍니다.
> 아래의 소스는 AVR STUDIO의 소스입니다.
> 동봉된 CD의 디렉토리는 아래와 같습니다.
> E:\KT-M128-LT트래이닝 킷트(교육용)\example_AVRStudio+WINAVR\ex_sense+adc+GLCD
>
> 질문 둘
>
> 그리고 위의 보드에 초음파 센서를 장착해서 사용할 수 있읍니까?
> 있다면 어떻게 장착해서 사용해야 됩니까?
>
>
>
> //ICC-AVR application builder : 2008-01-16 오후 3:28:31
> // Target : M128
> // Crystal: 16.000Mhz
>
> #include <avr/io.h>
> #include <avr/interrupt.h>
> #include <stdio.h>
>
> #define LCD_Control (* (volatile unsigned char *) 0x8001)
> #define LCD_Data (* (volatile unsigned char *) 0x8000)
>
> #define RS_ON LCD_Control = (LCD_Controller|=0x01)
> #define RS_OFF LCD_Control = (LCD_Controller&=0xfe)
> #define RW_ON LCD_Control = (LCD_Controller|=0x02)
> #define RW_OFF LCD_Control = (LCD_Controller&=0xfd)
> #define EN_ON LCD_Control = (LCD_Controller|=0x04)
> #define EN_OFF LCD_Control = (LCD_Controller&=0xfb)
> #define CS2_ON LCD_Control = (LCD_Controller|=0x10)
> #define CS2_OFF LCD_Control = (LCD_Controller&=0xef)
> #define CS1_ON LCD_Control= (LCD_Controller|=0x08)
> #define CS1_OFF LCD_Control = (LCD_Controller&=0xf7)
> #define RESET_ON LCD_Control= (LCD_Controller|=0x20)
> #define RESET_OFF LCD_Control= (LCD_Controller&=0xdf)
> #define CS_ALL LCD_Control= (LCD_Controller|=0x18)
> #define ON 1
> #define OFF 0
> #define delaytime 2
> #define delaytime1 5
>
>
> /* ------------------------------------------------------- */
> /* 8x16 Dot English(ASCII) Character Font */
> /* ------------------------------------------------------- */
> const unsigned char E_font[128][16] = { /* 8x16 ASCII character font */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x00 */
> {0xF8,0x04,0x14,0x04,0x04,0x14,0x04,0xF8,0x07,0x08,0x09,0x0B,0x0B,0x09,0x08,0x07}, /* 0x01 */
> {0xF8,0xFC,0x6C,0x7C,0x7C,0x6C,0xFC,0xF8,0x07,0x0F,0x0F,0x0C,0x0C,0x0F,0x0F,0x07}, /* 0x02 */
> {0x00,0xF0,0xF8,0xF8,0xF0,0xF8,0xF8,0xF0,0x00,0x00,0x01,0x03,0x07,0x03,0x01,0x00}, /* 0x03 */
> {0x00,0x40,0xE0,0xF0,0xF8,0xF0,0xE0,0x40,0x00,0x00,0x00,0x01,0x03,0x01,0x00,0x00}, /* 0x04 */
> {0xE0,0xE0,0xF8,0x1C,0x1C,0xF8,0xE0,0xE0,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00}, /* 0x05 */
> {0x60,0xF0,0xF8,0xFC,0xFC,0xF8,0xF0,0x60,0x00,0x00,0x04,0x07,0x07,0x04,0x00,0x00}, /* 0x06 */
> {0x00,0x00,0x60,0xF0,0xF0,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* 0x07 */
> {0x00,0xFF,0x1F,0x0F,0x0F,0x0F,0x1F,0xFF,0x00,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF}, /* 0x08 */
> {0x00,0x00,0xE0,0x10,0x10,0x10,0xE0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00}, /* 0x09 */
> {0x00,0xFF,0x1F,0xEF,0xEF,0xEF,0x1F,0xFF,0x00,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF,0xFF}, /* 0x0A */
> {0x00,0x00,0x90,0x48,0x7C,0x48,0x90,0x00,0x00,0x03,0x04,0x08,0x08,0x08,0x04,0x03}, /* 0x0B */
> {0x00,0x30,0x48,0x84,0x84,0x84,0x48,0x30,0x00,0x02,0x02,0x02,0x0F,0x02,0x02,0x02}, /* 0x0C */
> {0x00,0x00,0x00,0xFC,0x04,0x08,0x70,0x00,0x00,0x06,0x0F,0x07,0x00,0x00,0x00,0x00}, /* 0x0D */
> {0x00,0x00,0x00,0xFC,0x14,0x14,0x14,0xFC,0x00,0x0C,0x1E,0x0F,0x00,0x06,0x0F,0x07}, /* 0x0E */
> {0x50,0x50,0xE0,0xBC,0xBC,0xE0,0x50,0x50,0x01,0x01,0x00,0x07,0x07,0x00,0x01,0x01}, /* 0x0F */
> {0x00,0x00,0xFC,0xF8,0xF0,0xE0,0x40,0x00,0x00,0x00,0x07,0x03,0x01,0x00,0x00,0x00}, /* 0x10 */
> {0x00,0x00,0x40,0xE0,0xF0,0xF8,0xFC,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x00}, /* 0x11 */
> {0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x00,0x01,0x03,0x07,0x07,0x03,0x01,0x00}, /* 0x12 */
> {0x00,0x00,0xFC,0xFC,0x00,0x00,0xFC,0xFC,0x00,0x00,0x04,0x04,0x00,0x00,0x04,0x04}, /* 0x13 */
> {0x38,0x7C,0x44,0xFC,0xFC,0x04,0xFC,0xFC,0x00,0x00,0x00,0x07,0x07,0x00,0x07,0x07}, /* 0x14 */
> {0x00,0xC4,0xEE,0x3A,0x12,0x32,0xE6,0xC4,0x00,0x08,0x19,0x13,0x12,0x17,0x1D,0x08}, /* 0x15 */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x00}, /* 0x16 */
> {0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x08,0x09,0x0B,0x0F,0x0F,0x0B,0x09,0x08}, /* 0x17 */
> {0x00,0x10,0x18,0xFC,0xFC,0x18,0x10,0x00,0x00,0x00,0x00,0x07,0x07,0x00,0x00,0x00}, /* 0x18 */
> {0x00,0x00,0x00,0xFC,0xFC,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x07,0x03,0x01,0x00}, /* 0x19 */
> {0x00,0x40,0x40,0x40,0x50,0xF0,0xE0,0x40,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00}, /* 0x1A */
> {0x00,0x40,0xE0,0xF0,0x50,0x40,0x40,0x40,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00}, /* 0x1B */
> {0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02}, /* 0x1C */
> {0x40,0xE0,0x50,0x40,0x40,0x50,0xE0,0x40,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00}, /* 0x1D */
> {0x00,0x00,0x00,0xC0,0xF0,0xC0,0x00,0x00,0x00,0x04,0x07,0x07,0x07,0x07,0x07,0x04}, /* 0x1E */
> {0x00,0x10,0x70,0xF0,0xF0,0xF0,0x70,0x10,0x00,0x00,0x00,0x01,0x07,0x01,0x00,0x00}, /* 0x1F */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* space */
> {0x00,0x00,0x38,0xFC,0xFC,0x38,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00}, /* ! */
> {0x00,0x0E,0x1E,0x00,0x00,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* */
> {0x20,0xF8,0xF8,0x20,0xF8,0xF8,0x20,0x00,0x02,0x0F,0x0F,0x02,0x0F,0x0F,0x02,0x00}, /* # */
> {0x38,0x7C,0x44,0x47,0x47,0xCC,0x98,0x00,0x06,0x0C,0x08,0x38,0x38,0x0F,0x07,0x00}, /* $ */
> {0x30,0x30,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x0C,0x0C,0x00}, /* % */
> {0x80,0xD8,0x7C,0xE4,0xBC,0xD8,0x40,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* & */
> {0x00,0x10,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ' */
> {0x00,0x00,0xF0,0xF8,0x0C,0x04,0x00,0x00,0x00,0x00,0x03,0x07,0x0C,0x08,0x00,0x00}, /* ( */
> {0x00,0x00,0x04,0x0C,0xF8,0xF0,0x00,0x00,0x00,0x00,0x08,0x0C,0x07,0x03,0x00,0x00}, /* ) */
> {0x80,0xA0,0xE0,0xC0,0xC0,0xE0,0xA0,0x80,0x00,0x02,0x03,0x01,0x01,0x03,0x02,0x00}, /* * */
> {0x00,0x80,0x80,0xE0,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x00}, /* + */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1E,0x0E,0x00,0x00,0x00}, /* , */
> {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* - */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00}, /* . */
> {0x00,0x00,0x00,0x80,0xC0,0x60,0x30,0x00,0x0C,0x06,0x03,0x01,0x00,0x00,0x00,0x00}, /* / */
> {0xF0,0xF8,0x0C,0xC4,0x0C,0xF8,0xF0,0x00,0x03,0x07,0x0C,0x08,0x0C,0x07,0x03,0x00}, /* 0 */
> {0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00}, /* 1 */
> {0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0C,0x00}, /* 2 */
> {0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 3 */
> {0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00}, /* 4 */
> {0x7C,0x7C,0x44,0x44,0x44,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 5 */
> {0xF0,0xF8,0x4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 6 */
> {0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00}, /* 7 */
> {0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* 8 */
> {0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08,0x08,0x0C,0x07,0x03,0x00}, /* 9 */
> {0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00}, /* : */
> {0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x08,0x0E,0x06,0x00,0x00,0x00}, /* ; */
> {0x00,0x80,0xC0,0x60,0x30,0x18,0x08,0x00,0x00,0x00,0x01,0x03,0x06,0x0C,0x08,0x00}, /* < */
> {0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00}, /* = */
> {0x00,0x08,0x18,0x30,0x60,0xC0,0x80,0x00,0x00,0x08,0x0C,0x06,0x03,0x01,0x00,0x00}, /* > */
> {0x18,0x1C,0x04,0xC4,0xE4,0x3C,0x18,0x00,0x00,0x00,0x00,0x0D,0x0D,0x00,0x00,0x00}, /* ? */
> {0xF0,0xF8,0x08,0xC8,0xC8,0xF8,0xF0,0x00,0x07,0x0F,0x08,0x0B,0x0B,0x0B,0x01,0x00}, /* @ */
> {0xE0,0xF0,0x98,0x8C,0x98,0xF0,0xE0,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* A */
> {0x04,0xFC,0xFC,0x44,0x44,0xFC,0xB8,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00}, /* B */
> {0xF0,0xF8,0x0C,0x04,0x04,0x0C,0x18,0x00,0x03,0x07,0x0C,0x08,0x08,0x0C,0x06,0x00}, /* C */
> {0x04,0xFC,0xFC,0x04,0x0C,0xF8,0xF0,0x00,0x08,0x0F,0x0F,0x08,0x0C,0x07,0x03,0x00}, /* D */
> {0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00}, /* E */
> {0x04,0xFC,0xFC,0x44,0xE4,0x0C,0x1C,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* F */
> {0xF0,0xF8,0x0C,0x84,0x84,0x8C,0x98,0x00,0x03,0x07,0x0C,0x08,0x08,0x07,0x0F,0x00}, /* G */
> {0xFC,0xFC,0x40,0x40,0x40,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* H */
> {0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* I */
> {0x00,0x00,0x00,0x04,0xFC,0xFC,0x04,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00}, /* J */
> {0x04,0xFC,0xFC,0xC0,0xE0,0x3C,0x1C,0x00,0x08,0x0F,0x0F,0x00,0x01,0x0F,0x0E,0x00}, /* K */
> {0x04,0xFC,0xFC,0x04,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x08,0x0C,0x0E,0x00}, /* L */
> {0xFC,0xFC,0x38,0x70,0x38,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* M */
> {0xFC,0xFC,0x38,0x70,0xE0,0xFC,0xFC,0x00,0x0F,0x0F,0x00,0x00,0x00,0x0F,0x0F,0x00}, /* N */
> {0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* O */
> {0x04,0xFC,0xFC,0x44,0x44,0x7C,0x38,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* P */
> {0xF8,0xFC,0x04,0x04,0x04,0xFC,0xF8,0x00,0x07,0x0F,0x08,0x0E,0x3C,0x3F,0x27,0x00}, /* Q */
> {0x04,0xFC,0xFC,0x44,0xC4,0xFC,0x38,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* R */
> {0x18,0x3C,0x64,0x44,0xC4,0x9C,0x18,0x00,0x06,0x0E,0x08,0x08,0x08,0x0F,0x07,0x00}, /* S */
> {0x00,0x1C,0x0C,0xFC,0xFC,0x0C,0x1C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* T */
> {0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* U */
> {0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00}, /* V */
> {0xFC,0xFC,0x00,0xC0,0x00,0xFC,0xFC,0x00,0x07,0x0F,0x0E,0x03,0x0E,0x0F,0x07,0x00}, /* W */
> {0x0C,0x3C,0xF0,0xE0,0xF0,0x3C,0x0C,0x00,0x0C,0x0F,0x03,0x01,0x03,0x0F,0x0C,0x00}, /* X */
> {0x00,0x3C,0x7C,0xC0,0xC0,0x7C,0x3C,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* Y */
> {0x1C,0x0C,0x84,0xC4,0x64,0x3C,0x1C,0x00,0x0E,0x0F,0x09,0x08,0x08,0x0C,0x0E,0x00}, /* Z */
> {0x00,0x00,0xFC,0xFC,0x04,0x04,0x00,0x00,0x00,0x00,0x0F,0x0F,0x08,0x08,0x00,0x00}, /* [ */
> {0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x00}, /* \ */
> {0x00,0x00,0x04,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x00,0x00}, /* ] */
> {0x08,0x0C,0x06,0x03,0x06,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ^ */
> {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}, /* _ */
> {0x00,0x00,0x03,0x07,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ` */
> {0x00,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* a */
> {0x04,0xFC,0xFC,0x20,0x60,0xC0,0x80,0x00,0x00,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00}, /* b */
> {0xC0,0xE0,0x20,0x20,0x20,0x60,0x40,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00}, /* c */
> {0x80,0xC0,0x60,0x24,0xFC,0xFC,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* d */
> {0xC0,0xE0,0xA0,0xA0,0xA0,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0C,0x04,0x00}, /* e */
> {0x40,0xF8,0xFC,0x44,0x0C,0x18,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* f */
> {0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x27,0x6F,0x48,0x48,0x7F,0x3F,0x00,0x00}, /* g */
> {0x04,0xFC,0xFC,0x40,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* h */
> {0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* i */
> {0x00,0x00,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x30,0x70,0x40,0x40,0x7F,0x3F,0x00}, /* j */
> {0x04,0xFC,0xFC,0x80,0xC0,0x60,0x20,0x00,0x08,0x0F,0x0F,0x01,0x03,0x0E,0x0C,0x00}, /* k */
> {0x00,0x00,0x04,0xFC,0xFC,0x00,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00}, /* l */
> {0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x07,0x00,0x0F,0x0F,0x00}, /* m */
> {0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00}, /* n */
> {0xC0,0xE0,0x20,0x20,0x20,0xE0,0xC0,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00}, /* o */
> {0x20,0xE0,0xC0,0x20,0x20,0xE0,0xC0,0x00,0x40,0x7F,0x7F,0x48,0x08,0x0F,0x07,0x00}, /* p */
> {0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x07,0x0F,0x08,0x48,0x7F,0x7F,0x40,0x00}, /* q */
> {0x20,0xE0,0xC0,0x60,0x20,0xE0,0xC0,0x00,0x08,0x0F,0x0F,0x08,0x00,0x00,0x00,0x00}, /* r */
> {0x40,0xE0,0xA0,0x20,0x20,0x60,0x40,0x00,0x04,0x0C,0x09,0x09,0x0B,0x0E,0x04,0x00}, /* s */
> {0x20,0x20,0xF8,0xFC,0x20,0x20,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x0C,0x04,0x00}, /* t */
> {0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x08,0x08,0x07,0x0F,0x08,0x00}, /* u */
> {0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x03,0x07,0x0C,0x0C,0x07,0x03,0x00}, /* v */
> {0xE0,0xE0,0x00,0x80,0x00,0xE0,0xE0,0x00,0x07,0x0F,0x0C,0x07,0x0C,0x0F,0x07,0x00}, /* w */
> {0x20,0x60,0xC0,0x80,0xC0,0x60,0x20,0x00,0x08,0x0C,0x07,0x03,0x07,0x0C,0x08,0x00}, /* x */
> {0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x47,0x4F,0x48,0x48,0x68,0x3F,0x1F,0x00}, /* y */
> {0x60,0x60,0x20,0xA0,0xE0,0x60,0x20,0x00,0x0C,0x0E,0x0B,0x09,0x08,0x0C,0x0C,0x00}, /* z */
> {0x00,0x40,0x40,0xF8,0xBC,0x04,0x04,0x00,0x00,0x00,0x00,0x07,0x0F,0x08,0x08,0x00}, /* { */
> {0x00,0x00,0x00,0xBC,0xBC,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00}, /* | */
> {0x00,0x04,0x04,0xBC,0xF8,0x40,0x40,0x00,0x00,0x08,0x08,0x0F,0x07,0x00,0x00,0x00}, /* } */
> {0x80,0xC0,0x40,0xC0,0x80,0xC0,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, /* ~ */
> {0x80,0xC0,0x60,0x30,0x60,0xC0,0x80,0x00,0x07,0x07,0x04,0x04,0x04,0x07,0x07,0x00} /* 0x7F */
> };
>
> char LCD_Controller;
> int XPosition=0, YPosition=0;
> volatile unsigned int value;
>
> int Putchar(char data)
> {
> Write_English(data);
> return data;
> }
>
> void port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x00;
> PORTB = 0x00;
> DDRB = 0x00;
> PORTC = 0x00; //m103 output only
> DDRC = 0x00;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTE = 0x00;
> DDRE = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x00;
> }
> void uart1_init(void)
> {
> UCSR1B = 0x00; //disable while setting baud rate
> UCSR1A = 0x00;
> UCSR1C = 0x06;
> UBRR1L = 0x67; //set baud rate lo
> UBRR1H = 0x00; //set baud rate hi
> UCSR1B = 0x98;
> }
> //ADC initialize
> // Conversion time: 104uS
>
> void adc_init(void)
> {
> ADCSRA = 0x00; //disable adc
> ADMUX = 0x00; //select adc input 0
> ACSR = 0x80;
> ADCSRA = 0x87;
> }
>
> /*void adc_init(void)
> {
> ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0);
> }*/
> //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();
> adc_init();
> uart1_init();
> fdevopen(Putchar,0);
>
> MCUCR = 0x00; //원래는 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(3);
> }
> }
> void delay_ms(unsigned int dt)
> {
> unsigned int dc;
> for(dc=0;dc<dt;dc++)
> {
> delay_us(1100);
> }
> }
>
> void Lcd_XY(int x_, int y_){
> XPosition = x_;
> YPosition = y_;
> }
>
>
> void Write_Control(char CS, char cmd){
> delay(delaytime);
> EN_OFF;
> delay(delaytime);
> RS_OFF;
> delay(delaytime);
> RW_OFF;
> delay(delaytime);
> LCD_Control = CS;
> delay(delaytime);
> EN_ON;
> delay(delaytime);
> LCD_Data = cmd;
> delay(delaytime);
> EN_OFF;
> delay(delaytime);
> }
>
> void Lcd_XY_S(int s, int x_, int y_){
> Lcd_XY(x_,y_);
> if(s==0)
> Write_Control(CS_ALL, 0xb8 + x_*2);
> else
> Write_Control(CS_ALL, 0xb8 + x_*2 + 1);
> if(YPosition <8)
> Write_Control(CS2_OFF, 0x40 +y_*8);
> else
> Write_Control(CS1_OFF, 0x40 +(y_-8)*8);
> }
>
> void Write_Data(char CS, char data){
> delay(delaytime);
> EN_OFF;
> delay(delaytime);
> RS_ON;
> delay(delaytime);
> RW_OFF;
> delay(delaytime);
> LCD_Control = CS;
> delay(delaytime);
> EN_ON;
> delay(delaytime);
> LCD_Data = data;
> delay(delaytime);
> EN_OFF;
> delay(delaytime);
> }
>
> void Lcd_Clear(){
> int i, j, x, y;
> LCD_Control = 0x00;
> Write_Control(CS_ALL, 0x3f);
> Write_Control(CS_ALL, 0xc0);
> x=0xb8;
> y=0x40;
> for(i=0; i<=7; i++){
> Write_Control(CS_ALL, x);
> Write_Control(CS_ALL, y);
> for(j=0; j<64; j++){
> Write_Data(CS_ALL, 0x00);
> }
> x++;
> }
> }
>
> void Write_English(unsigned char code){
> int x_, y_, i, sign;
> x_=XPosition;
> y_=YPosition;
> Lcd_XY_S(0,x_,y_);
> if(YPosition < 8)
> sign = CS2_OFF;
> else
> sign = CS1_OFF;
> for(i=0;i<8;i++)
> Write_Data(sign, E_font[code][i]);
> Lcd_XY_S(1,x_,y_);
> if(YPosition < 8)
> sign = CS2_OFF;
> else
> sign = CS1_OFF;
> for(i=8; i<16; i++)
> Write_Data(sign, E_font[code][i]);
> YPosition++;
> if(YPosition==16){
> YPosition = 0;
> XPosition++;
> }
> if(XPosition>3){
> XPosition = 0;
> Lcd_Clear();
> }
> }
>
> void Lcd_init(){
> RESET_OFF;
> RESET_ON;
> CS_ALL;
> Write_Control(CS_ALL, 0x3f);
> Write_Control(CS_ALL, 0xc0);
> Write_Control(CS_ALL, 0xb8);
> Write_Control(CS_ALL, 0x40);
> }
>
> void Adc_Data( unsigned char Admux )
> {
> unsigned int tempL, tempH;
> delay(15);
> ADCSRA &=0x1f;
> ADMUX = Admux;
> ADCSRA |= 0xC0;
> delay(5);
>
>
> delay_ms(1);
> tempL = ADCL;
> tempH = ADCH;
> value = tempL + tempH*256;
>
>
>
> if((value<10) & (value>0) )
> {
> printf(": %d", value);
> }
>
> else if(value<100)
> {
> printf(": %d", value);
> }
>
> else if(value<1000)
> {
> printf(": %d", value);
> }
>
> else
> {
> printf(": %d", value);
> }
>
> }
>
>
> int main(void){
> unsigned char Va_R=0x40, Ir_S=0x41, Te_S=0x42, Cd_S=0x43;
> unsigned int sensor_val;
> init_devices();
> Lcd_init();
> Lcd_Clear();
> Lcd_XY(0,0);
>
> printf("Var_Reg");
> Lcd_XY(1,0);
> printf("IR_Sens");
> Lcd_XY(2,0);
> printf("Temp_Se");
> Lcd_XY(3,0);
> printf("CDS_Sen");
> //Lcd_XY(4,0); //내가 한거
>
>
> while(1){
> Lcd_XY(0,9);
> Adc_Data(0x40);
> delay(2000);
> Lcd_XY(1,9);
> Adc_Data(0x41);
> delay(2000);
> Lcd_XY(2,9);
> Adc_Data(0x42);
> delay(2000);
> Lcd_XY(3,9);
> Adc_Data(0x43);
> delay(2000);
> }
> return 0;
> }
>
|
||||
| 9079 | 답변완료제품관련문의드립니다. | 박정빈 | 2015-02-14 | 1,418 |
|
Q1> AB-M128-B와 RF모듈인 nRF24L01과 서로 호환이 가능한지 알고 싶습니다.
Q2> 가능하다면 어떻게 연결을 해서 사용해야 하는지 알고 싶습니다.
관리자 답변
안녕하세요? 고객님,
nRF24L01 는 칩이름입니다만, 모듈이름으로 쓰는것도 있더군요.
엘레파츠에서 판매중인 해당 모듈은 spi통신을 사용하더군요.
본사에서 답변드릴 내용은 아닙니다만,
SPI핀인 mosi, miso, sck, reset, gnd 이렇게 서로 연결해쓰세요.
감사합니다.
>
>
> Q1> AB-M128-B와 RF모듈인 nRF24L01과 서로 호환이 가능한지 알고 싶습니다.
>
> Q2> 가능하다면 어떻게 연결을 해서 사용해야 하는지 알고 싶습니다.
>
|
||||
| 9078 | 답변완료인터럽트가 발생하지 않습니다. | 홍충기 | 2015-02-12 | 1,422 |
|
#include <avr/io.h>
#include <util/delay.h>
#include <string.h>
#include <avr/interrupt.h>
#define SCALE_FACTOR 1.611328125
#define TIME 0.01
#define OFF_SET 458
//590.5611
int value = 0;
float value_sum = 0;
float offset;
float angular_acceleration[50];
float angular_average = 0;
float before_angle = 0;
float after_angle = 0;
float angle_factor = 0;
volatile char adc_flag = 0;
volatile char time_flag = 0;
void RC_Motor(float angle)
{ // angle : -90도 ~ +90도
float i;
i=(angle)*18+3000;
OCR1A=i; //PB5
}
void subo_init(void)
{
DDRE=0xFF; //PE3 out
TCCR3A=0xAA;
TCCR3B=0x1A;
OCR3A=3000;
OCR3B=3000;
ICR3=47999;
}
void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
DDRC = 0xFF;
PORTD = 0x00;
DDRD = 0x00;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x03;
}
void timer0_init(void)
{
ASSR = 0x00; //set async mode
TCNT0 = 0x06; //set count
OCR0A = 0xFA;
TCCR0B = 0x04; //start timer
}
ISR(TIMER0_OVF_vect)
{
TCNT0 = 0x06; //reload counter value
PORTG ^= 1;
ADCSRA |= 0x40;
}
//TIMER1 initialize - prescale:8
// WGM: 0) Normal, TOP=0xFFFF
// desired value: 100Hz
// actual value: 100.000Hz (0.0%)
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xB1; //setup
TCNT1L = 0xE0;
OCR1AH = 0x4E;
OCR1AL = 0x20;
OCR1BH = 0x4E;
OCR1BL = 0x20;
OCR1CH = 0x4E;
OCR1CL = 0x20;
ICR1H = 0x4E;
ICR1L = 0x20;
}
ISR(TIMER1_OVF_vect)
{
PORTC = 0X04;
//TIMER1 has overflowed
TCNT1H = 0xB1; //reload counter high value
TCNT1L = 0xE0; //reload counter low value
//PORTG ^= 2;
time_flag = 1;
}
//UART0 initialize
// desired baud rate: 115200
// actual: baud rate:111111 (3.7%)
// char size: 8 bit
// parity: Disabled
void uart0_init(void)
{
UCSR0B = 0x00; //disable while setting baud rate
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x08; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0B = 0x18;
}
// printf
int putchar(char ch)
{
while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
UDR0 = ch;
return ch;
}
// scanf
int getchar(void)
{
while ((UCSR0A & 0x80) == 0);
return UDR0;
}
//ADC initialize
// Conversion time: 104uS
void adc_init(void)
{
ADCSRA = 0x00; //disable adc
ADMUX = 0x00; //select adc input 0
//ACSR = 0x80;
ADCSRA = 0x9F;
}
ISR(ADC_vect)
{
//conversion complete, read value (int) using...
value = ADCL; //Read 8 low bits first (important)
value |= ( int )ADCH << 8; //read 2 high bits and shift into top byte
//value = ADCW;
adc_flag++;
value_sum += value;
if(adc_flag >=1)
{
TCCR0A = 0x00; //stop
}
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
XMCRA = 0x00; //external memory
port_init();
uart0_init();
adc_init();
timer0_init();
timer1_init();
subo_init();
//TIMSK0 = 0x01; //timer interrupt sources
//TIMSK0 = 0x04; //timer interrupt sources
TIMSK0 = 0x05; //timer interrupt sources
TIMSK1 = _BV(TOIE1);
sei(); //re-enable interrupts
//all peripherals are now initialized
}
void delay ( unsigned int cnt )
{
unsigned int i,j;
for( i=0 ; i< cnt ; i++ )
for( j=0 ; j< 1000 ; j++ );
}
int main (void)
{
int i;
int temp;
init_devices();
for( i=0 ; i<100 ; i ++ )
angular_acceleration[i] = 0;
ADMUX = 0x00;
ADCSRA |= 0x40;
offset = 0;
for( i=0 ; i<50 ; )
{
if ( adc_flag )
{
temp = value;
offset += value;
adc_flag = 0;
ADCSRA |= 0x40;
i ++ ;
}
}
offset = (int)(offset / 50);
//for( i=0 ; i<50 ; i ++ )
// angular_acceleration[i] = offset;
delay( 2000 );
delay( 2000 );
TCCR0A = 0x05; //start timer
value_sum = 0;
adc_flag = 0;
while(1)
{
if( time_flag )
{
//PORTC |= 0x02;
value_sum = value_sum / adc_flag;
angular_acceleration[0] = (( float )( (int)(value_sum) - offset )) * SCALE_FACTOR;
after_angle = before_angle + ( angular_acceleration[9] + angular_acceleration[8] + angular_acceleration[7] + angular_acceleration[6] + angular_acceleration[5] + angular_acceleration[4] + angular_acceleration[3] + angular_acceleration[2] + angular_acceleration[1] + angular_acceleration[0] ) / 10;
angle_factor = after_angle * TIME;
before_angle = after_angle;
for( i=0 ; i<9 ; i ++ )
{
angular_acceleration[i+1] = angular_acceleration[i];
//printf ( " nangle = %.2f", angular_acceleration[i]);
}
angular_average = 0;
adc_flag = 0;
value_sum = 0;
time_flag = 0;
TCCR0A = 0x05;
}
//PORTC &= 0xfd;
}
}
자사에서 만든 자이로센서를 이용해섯각도를 구하는 부분입니다. 이부분에서
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xB1; //setup
TCNT1L = 0xE0;
OCR1AH = 0x4E;
OCR1AL = 0x20;
OCR1BH = 0x4E;
OCR1BL = 0x20;
OCR1CH = 0x4E;
OCR1CL = 0x20;
ICR1H = 0x4E;
ICR1L = 0x20;
}
ISR(TIMER1_OVF_vect)
{
PORTC = 0X04;
//TIMER1 has overflowed
TCNT1H = 0xB1; //reload counter high value
TCNT1L = 0xE0; //reload counter low value
//PORTG ^= 2;
time_flag = 1;
}
이부분이 작동을 않합니다.
atmega1281 사용중이고요
다른인터럽트는 레지스터 변경후 작동하는데 이부분만 먹통이네요.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
우선, 인터럽트가 발생하지 않는다면, 원인은
Global Interrupt Enable 레지스터의 설정과
해당 인터럽트를 Enable 하는 레지스터의 설정과
해당 인터럽트의 인터럽트 핸들러 쪽을 의심해 봐야 합니다.
그런데, 현재 보면, TIMSK0 = 0x05;로 두셨는 데,
그 부분도 0x01만으로 충분합니다.
또한, TIMSK1 = 0x01로 두시면 됩니다.
해당 인터럽트를 Enable 하는 레지스터의 설정에 문제가 있어 보입니다.
그 부분을 만져 주면 잘 될 것 같습니다.
본사에서 소스 수정까지의 서비스는 제공하지 않고 있으며,
ATMEGA1281은 현재 출시 예정으로 아직은 지원하지 않고 있습니다.
다만, 위의 내용을 참고하셔서 수정하시기 바랍니다.
감사합니다.
>
>
> #include <avr/io.h>
> #include <util/delay.h>
> #include <string.h>
> #include <avr/interrupt.h>
>
>
> #define SCALE_FACTOR 1.611328125
> #define TIME 0.01
> #define OFF_SET 458
> //590.5611
>
> int value = 0;
> float value_sum = 0;
> float offset;
> float angular_acceleration[50];
> float angular_average = 0;
> float before_angle = 0;
> float after_angle = 0;
> float angle_factor = 0;
> volatile char adc_flag = 0;
> volatile char time_flag = 0;
>
>
> void RC_Motor(float angle)
> { // angle : -90도 ~ +90도
> float i;
> i=(angle)*18+3000;
> OCR1A=i; //PB5
> }
> void subo_init(void)
> {
> DDRE=0xFF; //PE3 out
> TCCR3A=0xAA;
> TCCR3B=0x1A;
> OCR3A=3000;
> OCR3B=3000;
> ICR3=47999;
> }
> void port_init(void)
> {
> PORTA = 0x00;
> DDRA = 0x00;
> DDRC = 0xFF;
> PORTD = 0x00;
> DDRD = 0x00;
> PORTF = 0x00;
> DDRF = 0x00;
> PORTG = 0x00;
> DDRG = 0x03;
> }
> void timer0_init(void)
> {
> ASSR = 0x00; //set async mode
> TCNT0 = 0x06; //set count
> OCR0A = 0xFA;
> TCCR0B = 0x04; //start timer
> }
>
> ISR(TIMER0_OVF_vect)
> {
> TCNT0 = 0x06; //reload counter value
> PORTG ^= 1;
> ADCSRA |= 0x40;
> }
>
> //TIMER1 initialize - prescale:8
> // WGM: 0) Normal, TOP=0xFFFF
> // desired value: 100Hz
> // actual value: 100.000Hz (0.0%)
>
> void timer1_init(void)
> {
> TCCR1B = 0x00; //stop
> TCNT1H = 0xB1; //setup
> TCNT1L = 0xE0;
> OCR1AH = 0x4E;
> OCR1AL = 0x20;
> OCR1BH = 0x4E;
> OCR1BL = 0x20;
> OCR1CH = 0x4E;
> OCR1CL = 0x20;
> ICR1H = 0x4E;
> ICR1L = 0x20;
> }
>
> ISR(TIMER1_OVF_vect)
> {
> PORTC = 0X04;
> //TIMER1 has overflowed
> TCNT1H = 0xB1; //reload counter high value
> TCNT1L = 0xE0; //reload counter low value
> //PORTG ^= 2;
> time_flag = 1;
> }
>
> //UART0 initialize
> // desired baud rate: 115200
> // actual: baud rate:111111 (3.7%)
> // char size: 8 bit
> // parity: Disabled
> void uart0_init(void)
> {
> UCSR0B = 0x00; //disable while setting baud rate
> UCSR0A = 0x00;
> UCSR0C = 0x06;
> UBRR0L = 0x08; //set baud rate lo
> UBRR0H = 0x00; //set baud rate hi
> UCSR0B = 0x18;
> }
>
> // printf
> int putchar(char ch)
> {
> while (((UCSR0A>>UDRE0)&0x01) == 0) ; // UDRE, data register empty
> UDR0 = ch;
> return ch;
> }
>
> // scanf
> int getchar(void)
> {
> while ((UCSR0A & 0x80) == 0);
> return UDR0;
> }
>
> //ADC initialize
> // Conversion time: 104uS
> void adc_init(void)
> {
> ADCSRA = 0x00; //disable adc
> ADMUX = 0x00; //select adc input 0
> //ACSR = 0x80;
> ADCSRA = 0x9F;
> }
>
> ISR(ADC_vect)
> {
> //conversion complete, read value (int) using...
> value = ADCL; //Read 8 low bits first (important)
> value |= ( int )ADCH << 8; //read 2 high bits and shift into top byte
> //value = ADCW;
> adc_flag++;
> value_sum += value;
> if(adc_flag >=1)
> {
> TCCR0A = 0x00; //stop
> }
> }
>
>
> //call this routine to initialize all peripherals
> void init_devices(void)
> {
> //stop errant interrupts until set up
>
>
> XMCRA = 0x00; //external memory
> port_init();
> uart0_init();
> adc_init();
> timer0_init();
> timer1_init();
> subo_init();
>
> //TIMSK0 = 0x01; //timer interrupt sources
> //TIMSK0 = 0x04; //timer interrupt sources
> TIMSK0 = 0x05; //timer interrupt sources
> TIMSK1 = _BV(TOIE1);
> sei(); //re-enable interrupts
> //all peripherals are now initialized
> }
>
> void delay ( unsigned int cnt )
> {
> unsigned int i,j;
>
> for( i=0 ; i< cnt ; i++ )
> for( j=0 ; j< 1000 ; j++ );
> }
>
> int main (void)
> {
> int i;
> int temp;
> init_devices();
> for( i=0 ; i<100 ; i ++ )
> angular_acceleration[i] = 0;
> ADMUX = 0x00;
> ADCSRA |= 0x40;
> offset = 0;
>
>
> for( i=0 ; i<50 ; )
> {
> if ( adc_flag )
> {
> temp = value;
> offset += value;
> adc_flag = 0;
> ADCSRA |= 0x40;
> i ++ ;
> }
> }
>
>
>
> offset = (int)(offset / 50);
>
> //for( i=0 ; i<50 ; i ++ )
> // angular_acceleration[i] = offset;
>
> delay( 2000 );
> delay( 2000 );
>
> TCCR0A = 0x05; //start timer
> value_sum = 0;
> adc_flag = 0;
>
>
>
> while(1)
> {
>
> if( time_flag )
> {
> //PORTC |= 0x02;
> value_sum = value_sum / adc_flag;
> angular_acceleration[0] = (( float )( (int)(value_sum) - offset )) * SCALE_FACTOR;
> after_angle = before_angle + ( angular_acceleration[9] + angular_acceleration[8] + angular_acceleration[7] + angular_acceleration[6] + angular_acceleration[5] + angular_acceleration[4] + angular_acceleration[3] + angular_acceleration[2] + angular_acceleration[1] + angular_acceleration[0] ) / 10;
>
>
> angle_factor = after_angle * TIME;
>
>
>
> before_angle = after_angle;
>
>
>
> for( i=0 ; i<9 ; i ++ )
> {
> angular_acceleration[i+1] = angular_acceleration[i];
> //printf ( " nangle = %.2f", angular_acceleration[i]);
> }
>
> angular_average = 0;
> adc_flag = 0;
> value_sum = 0;
> time_flag = 0;
> TCCR0A = 0x05;
> }
> //PORTC &= 0xfd;
> }
> }
>
> 자사에서 만든 자이로센서를 이용해섯각도를 구하는 부분입니다. 이부분에서
>
> void timer1_init(void)
> {
> TCCR1B = 0x00; //stop
> TCNT1H = 0xB1; //setup
> TCNT1L = 0xE0;
> OCR1AH = 0x4E;
> OCR1AL = 0x20;
> OCR1BH = 0x4E;
> OCR1BL = 0x20;
> OCR1CH = 0x4E;
> OCR1CL = 0x20;
> ICR1H = 0x4E;
> ICR1L = 0x20;
> }
>
> ISR(TIMER1_OVF_vect)
> {
> PORTC = 0X04;
> //TIMER1 has overflowed
> TCNT1H = 0xB1; //reload counter high value
> TCNT1L = 0xE0; //reload counter low value
> //PORTG ^= 2;
> time_flag = 1;
> }
> 이부분이 작동을 않합니다.
> atmega1281 사용중이고요
> 다른인터럽트는 레지스터 변경후 작동하는데 이부분만 먹통이네요.
>
|
||||
| 9077 | 답변완료제품관련 문의드리겠습니다. | 박정빈 | 2015-02-11 | 1,404 |
|
ATmega128 (AB-M128-B) 제품을 사용하고자 합니다.
이 때, AVR용 USB-ISP라이트(V03.6)를 사용하면
ATmega128 보드에 프로그램을 다운로드 시킬수 있는 용도(ISP)뿐만 아니라,
USB TO UART 기능이 탑재되어 있는 것으로 알고 있습니다.
그렇다면 AVR용 USB-ISP라이트(V03.6)의 USB TO UART를 이용하여
노트북과 ATmega128을 연결하여 하이퍼터미널 통신에도 사용할 수 있는건지 알고 싶습니다.
------------------------------------------------------------------------
또 다른 질문이 있습니다.
ATmega128 (AB-M128-B)에 12V 외부 전원을 주고자 할 때,
다음 링크에 걸려있는데 제품을 사용해도 되는건지 알고 싶습니다.
(DC잭의 규격이 맞는건지도 잘 모르겠습니다..)
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
고객님 질문에 답변드립니다.
> ATmega128 (AB-M128-B) 제품을 사용하고자 합니다.
> 이 때, AVR용 USB-ISP라이트(V03.6)를 사용하면
> ATmega128 보드에 프로그램을 다운로드 시킬수 있는 용도(ISP)뿐만 아니라,
> USB TO UART 기능이 탑재되어 있는 것으로 알고 있습니다.
> 그렇다면 AVR용 USB-ISP라이트(V03.6)의 USB TO UART를 이용하여
> 노트북과 ATmega128을 연결하여 하이퍼터미널 통신에도 사용할 수 있는건지 알고 싶습니다.
→ 답변: 네, 정확히 그런 목적으로 사용가능합니다.
다만, isp로 hexa 다운로드시는 uart연결을 빼셔야합니다.
둘다 한 cpu로 연결시 에러날수 있으니 반드시 빼고해주세요.
> ------------------------------------------------------------------------
> 또 다른 질문이 있습니다.
> ATmega128 (AB-M128-B)에 12V 외부 전원을 주고자 할 때,
> 다음 링크에 걸려있는데 제품을 사용해도 되는건지 알고 싶습니다.
> (DC잭의 규격이 맞는건지도 잘 모르겠습니다..)
→ 답변: 네 규격은 맞는것 같아요. 2파이라는 표현이 있어서요.
배터리는 꽂아 쓸수 있는데, 아답타는 사실은 충전기라,
전류는 충전시 최대 전류와 달리 적게 흐를수도 있습니다.
일반 아답타가 좋긴합니다만, 간단한 적은 전류사용은 될겁니다.
감사합니다.
|
||||
| 9076 | 답변완료ISP케이블 문의입니다. | 안병민 | 2015-02-12 | 1,414 |
|
AVR용 USB-ISP라이트
(일반용)
AD-USBISP-L
을 사용중입니다.
궁금한게 한가지 있는데
이 ISP케이블의 VCC핀이 5V, 3.3V 전부 호환이 된다고 적혀있습니다.
만약에 MCU의 VCC에 3.3V가 들어가고있다면
이 ISP케이블의 VCC도 MCU VCC인 3.3V에 연결이 되어야 프로그램 다운로딩이 가능한가요?
아니면 MCU의 VCC와 다른 그냥 별개의 5V가 연결되어도 다운로딩이 가능한가요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
문의하신 내용은 다음과 같습니다.
USBISP V03.6은 Lite나 일반이나 전원을 출력하도록 해두면, 모두 VCC가 5V가 출력됩니다.
하지만, 전원 출력을 하지 않고, 즉, VCC에서 5V가 나가지 않도록 해두고(이것은 딥스위치 2핀의 1번핀과 2번핀 모든 핀을 OFF로 둠), 다운로드로만 쓸 경우, 3.3V의 VCC를 쓰는 CPU도 사용이 가능하다는 말입니다.
만약, VCC가 5V가 USBISP에서 CPU 쪽으로 나가도록 딥스위치의 1번핀은 ON 2번핀은 OFF로 두면,
3.3V를 쓰는 CPU와 VCC가 충돌하면서, 주의 다른 회로가 망가질 수 있으니, 주의 바랍니다.
만약, VCC를 3.3V를 USBISP쪽에서 CPU 쪽으로 출력하고 싶다면, AD-USBISP V6.0을 구매하시면 가능합니다. 6.0은 3.3V를 출력하거나, 5V를 출력하거나, 또는 출력하지 않거나 할 수 있습니다.
감사합니다.
>
>
> AVR용 USB-ISP라이트
> (일반용)
> AD-USBISP-L
> 을 사용중입니다.
> 궁금한게 한가지 있는데
> 이 ISP케이블의 VCC핀이 5V, 3.3V 전부 호환이 된다고 적혀있습니다.
> 만약에 MCU의 VCC에 3.3V가 들어가고있다면
> 이 ISP케이블의 VCC도 MCU VCC인 3.3V에 연결이 되어야 프로그램 다운로딩이 가능한가요?
> 아니면 MCU의 VCC와 다른 그냥 별개의 5V가 연결되어도 다운로딩이 가능한가요?
>
|
||||
| 9075 | 답변완료KD-128Pro 에 맞는 라인트레이서 바디모터 있나요? | 박재영 | 2015-02-10 | 1,404 |
|
라인트레이서 판매중인것들 보니까 AM-128 소형 보드 인것 같아 안맞을것으로 생각되어
문의드립니다...
KD-128pro-C에 맞는 라인트레이서 바디모터 있나요???
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
해당 보드랑 정확히 딱 맞는 라인트레이서 기구는 없습니다만,
기존 라인트레이서 사시로도 사용은 가능합니다.
한쪽 끝은 맞기 때문에, 두개 나사만 맞춰서 고정은 가능합니다.
감사합니다.
>
>
> 라인트레이서 판매중인것들 보니까 AM-128 소형 보드 인것 같아 안맞을것으로 생각되어
> 문의드립니다...
>
> KD-128pro-C에 맞는 라인트레이서 바디모터 있나요???
>
|
||||
| 9074 | 답변완료AB-M2560전원공급관련... | 임동규 | 2015-02-05 | 1,374 |
|
안녕하세요
제가 atmega2560 개발보드로 프로젝트를 진행중인데, 소비 전류가 높은 장치들을 많이 사용하게 되어서, 기존 가지고 있던 12v3A 어댑터로도 감당이 안되서 개발보드에 달려있는 LM2576 D2T-5g 라는 소자의 데이터 시트를 찾아보니, 허용전류가 3A라고는 되어있지만 Current Limit의 max치가 7.5A 라고 나와있어서, 7.5A를 사용하기 위해 구매하여 연결을 해보았습니다.
그랫더니 LM2576에 과부하가 걸려 발열도 심하고 타는 냄새도 나서 즉각 사용을 중단했습니다.
제가 데이터 시트를 잘못이해한것인가요?
그렇다면... 제가 사용해야 할 전류가 약 5~6A정도 되는데, 어떻게 하면 안정적으로 전원을 공급할수 있을까요?
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
DC 5V를 5~6A 정도 쓰셔야 하나 봅니다.
별도의 DC5V 100Watt 출력을 갖는 SMPS를 사용하여 2560보드의 5V 전원 커넥터에 입력하여 주어야 합니다.
그리고, 병렬로 SMPS에서 직접 따서, 해당 모듈들의 전원을 연결해 주시기 바랍니다.
그 편이 가장 안전합니다.
본사에 방문하시면, 해당 SMPS를 구매하실 수도 있습니다.
감사합니다.
>
>
> 안녕하세요
> 제가 atmega2560 개발보드로 프로젝트를 진행중인데, 소비 전류가 높은 장치들을 많이 사용하게 되어서, 기존 가지고 있던 12v3A 어댑터로도 감당이 안되서 개발보드에 달려있는 LM2576 D2T-5g 라는 소자의 데이터 시트를 찾아보니, 허용전류가 3A라고는 되어있지만 Current Limit의 max치가 7.5A 라고 나와있어서, 7.5A를 사용하기 위해 구매하여 연결을 해보았습니다.
> 그랫더니 LM2576에 과부하가 걸려 발열도 심하고 타는 냄새도 나서 즉각 사용을 중단했습니다.
> 제가 데이터 시트를 잘못이해한것인가요?
> 그렇다면... 제가 사용해야 할 전류가 약 5~6A정도 되는데, 어떻게 하면 안정적으로 전원을 공급할수 있을까요?
>
|
||||
| 9073 | 답변완료usbisp v3.6에러에 대하여 | 김대중 | 2015-02-05 | 1,595 |
|
usbisp v3.6사용자입니다
작년에 구매하여 잘 사용하다 몇달 지나 사용하려니
사진과 같은 에러가 발생합니다 해결방법은 무엇인지요
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
모듈과의 연결이 잘못되었을 경우라는 메시지가 나옵니다.
또한, 모듈의 퓨즈비트가 잘못 설정되어도 나올 수 있습니다.
다른 ISP가 있다면, 점검이 가능합니다만, 하나만 있다면,
본사로 우선, USBISP를 가지고 방문하시거나 택배로 점검받아 보세요.
사용하시는 모듈도 함께 점검받는 것이 좋겠습니다.
감사합니다.
>
>
> usbisp v3.6사용자입니다
> 작년에 구매하여 잘 사용하다 몇달 지나 사용하려니
> 사진과 같은 에러가 발생합니다 해결방법은 무엇인지요
>
|
||||
| 9072 | 답변완료KT-M128-LT 에 교재도 포함 됩니까? | 이현승 | 2015-02-01 | 1,394 |
|
안녕하세요?
KT-M128-LT 를 엘레파츠에서 주문을 한 상태입니다.
그런데 위의 KIT에 교재도 포함됩니까?
포함되지 않는다면 어떤 교재를 구입해야 됩니까?
그리고, KT-M128 KIT에 포함된 DC모터 와 서보모터도
별도로 구입하고 싶은데, 모터에 대해서 전혀 모르니,
KT-M128-LT에 장착하여 사용할 수 있는 모터를 추천해 주십시요
KIT에 연결할 수 있도록 잭이 달려 있는 걸로요
활기찬 월요일 되십시요
관리자 답변
안녕하십니까? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
질문에 답변 드리겠습니다.
> 안녕하세요?
> KT-M128-LT 를 엘레파츠에서 주문을 한 상태입니다.
> 그런데 위의 KIT에 교재도 포함됩니까?
> 포함되지 않는다면 어떤 교재를 구입해야 됩니까?
==> 네, 기본 교재는 포함되어 있습니다. 하지만, 심화교재인
"초중급자를 위한 ATmega128 KT-M128 REAL GUIDE "는 별도구매입니다.
아래 링크를 보시면 됩니다.
http://www.newtc.co.kr/dpshop/shop/item.php?it_id=1331880136
>
> 그리고, KT-M128 KIT에 포함된 DC모터 와 서보모터도
> 별도로 구입하고 싶은데, 모터에 대해서 전혀 모르니,
> KT-M128-LT에 장착하여 사용할 수 있는 모터를 추천해 주십시요
> KIT에 연결할 수 있도록 잭이 달려 있는 걸로요
==> DC 기어드 모터는 이미 하나 포함되어 있습니다.(SE-DM 입니다.)
서보모터는 "서보 모터 A410 " 즉, SE-A410을 구매하시면 됩니다.
A410 서보모터의 링크는 아래와 같습니다.
http://www.newtc.co.kr/dpshop/shop/item.php?it_id=1314664278
감사합니다.
> 활기찬 월요일 되십시요
>
|
||||
| 9071 | 답변완료serial to usb | 김주호 | 2015-02-01 | 1,479 |
|
안녕하세요
제가 표준 Ustyle 보드랑 Serial to usb 를 샀습니다만,
컴퓨터에 usb로 연결해도 포트에 아무런 장치도 잡히지 않습니다.
알수없는 장치도 안뜨고, 따로 드라이버를 깔아도 감감 무소식이네요.
다른 컴퓨터에다 똑같이 arduino 스케치를 깔고, 드라이버도 새로 깔고 해봤는데도 아무런 창이 뜨질 않네요.
serial to usb 이것이 이상인가 싶어 질문합니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
정상적인 경우 제어판의 COM PORT 쪽에 포트가 잡혀야 합니다.
이 경우 제일 먼저 USB 포트의 접촉을 다시 한 번 점검해 보시기 바랍니다.
접촉 불량일 가능성이 있으니 다른 포트에 접속해 보시고 그래도 문제가 발생한다면,
제품을 본사로 보내주시거나 본사로 방문해 주세요.
테스트 해서, 이상 유무를 확인하고, 이상이 발생할 경우 새 제품으로 교체해 드리겠습니다.
감사합니다.
>
>
> 안녕하세요
> 제가 표준 Ustyle 보드랑 Serial to usb 를 샀습니다만,
> 컴퓨터에 usb로 연결해도 포트에 아무런 장치도 잡히지 않습니다.
> 알수없는 장치도 안뜨고, 따로 드라이버를 깔아도 감감 무소식이네요.
> 다른 컴퓨터에다 똑같이 arduino 스케치를 깔고, 드라이버도 새로 깔고 해봤는데도 아무런 창이 뜨질 않네요.
> serial to usb 이것이 이상인가 싶어 질문합니다.
>
|
||||
| 9070 | 답변완료AVR용 USB-ISP라이트 문의 | 안병민 | 2015-01-28 | 1,340 |
|
안녕하세요
AVR용 USB-ISP라이트
(일반용)
AD-USBISP-L
를 구매하려고 하는 유저입니다.
다름이아니라 ATmega16M1도 호환이 되는지 궁금하네요
여러곳을 찾아봤지만 ATmega16M1의 개발모듈 판매하고있는곳은 없어
직접 주변회로를 제작해서 만들어보려고합니다. 16M1도 128과 같은 ISP 케이블에 연결되는 핀들을 빼서 사용하면 다운로딩이 되나요?; 데이터시트를 보니 128과 같이 MISO,MOSI,RESET,SCK등등 다 있더라구요,,,궁금해서 질문드립니당
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사합니다.
Lighting 디바이스를 개발중이신가 봅니다.
AVR Studio V4.19에서 STK500에 대해서 해당 디바이스인 ATMEGA16M1을 지원하고 있습니다.
따라서, 본사의 USBISP를 사용하여 해당 디바이스에 사용 가능합니다.
다만, ATMEL Studio V6.2에서는 해당 디바이스를 STK500에 대해 지원하지 않네요.
V4.19 를 사용하시면 문제없이 쓰실 수 있구요.
ISP용 포트인 MOSI/MISO/SCK/RESET/GND/VCC 연결하여 쓰시면 됩니다.
감사합니다.
>
>
> 안녕하세요
>
> AVR용 USB-ISP라이트
> (일반용)
> AD-USBISP-L
> 를 구매하려고 하는 유저입니다.
>
> 다름이아니라 ATmega16M1도 호환이 되는지 궁금하네요
> 여러곳을 찾아봤지만 ATmega16M1의 개발모듈 판매하고있는곳은 없어
> 직접 주변회로를 제작해서 만들어보려고합니다. 16M1도 128과 같은 ISP 케이블에 연결되는 핀들을 빼서 사용하면 다운로딩이 되나요?; 데이터시트를 보니 128과 같이 MISO,MOSI,RESET,SCK등등 다 있더라구요,,,궁금해서 질문드립니당
>
|
||||
| 9069 | 답변완료안녕하세요 ab m128proa v03 쓰는데 보드에 문제가 있습니다. | 이도일 | 2015-01-26 | 1,404 |
|
안녕하세요. 제품 보드에 문제가 있는 것 같아서 질문드립니다.
모든 포트가 제대로 동작하는지 확인하기 위해서 제가 테스트 code를 수행했습니다.
#include <avr/io.h>
#include <stdio.h>
int main (void)
{
DDRA = 0xff;
DDRB = 0xff;
DDRC = 0xff;
DDRD = 0xff;
DDRE = 0xff;
DDRF = 0xff;
PORTA = 0xff;
PORTB = 0xff;
PORTC = 0xff;
PORTD = 0xff;
PORTE = 0xff;
PORTF = 0xff;
return 0;
}
newtc사의 8개짜리 led를 꽂으며 불이 어디가 안 들어오는지 확인했는데
나머지는 8개의 LED가 모두 들어왔습니다.
F포트의 경우 8번, 7번, 5번이 불이 들어오지 않고
B포트의 경우 4번 led가 불이 들어오지 않습니다.
나머지 포트에서는 8개의 led가 모두 불이 켜집니다.
어떤 기능 때문에 포트가 출력을 막아 놓을 수 있다는 것일 수도 있다는 생각을 했지만
그래도 제작한 회사에게 물어보는게 가장 정확할 것 같아서 이렇게 남깁니다.
제가 할 수 있는 것이면 방법을 알려주시고
만약 수리를 맡겨야 되는 것이면 소요시간과 금액을 알고 싶습니다.
감사합니다.
010-9387-2004
연락처도 함께 남깁니다.
관리자 답변
안녕하세요? 고객님,
저희 뉴티씨 제품을 이용하여 주셔서 감사드립니다.
아무래도 보드에 이상이 생기신것 같습니다.
본사로 내방하시거나 a/s보내서 점검받으시기 바랍니다.
모듈문제시 비용은 9,900원이며 본사 가까이 계시면 방문하시면 택배비를 절약하실수 있습니다.
수리에는 방문시 테스트에서 수리까지 20분~1시간 이내로 소요됩니다.
감사합니다.
>
>
> 안녕하세요. 제품 보드에 문제가 있는 것 같아서 질문드립니다.
>
> 모든 포트가 제대로 동작하는지 확인하기 위해서 제가 테스트 code를 수행했습니다.
>
> #include <avr/io.h>
> #include <stdio.h>
>
> int main (void)
> {
> DDRA = 0xff;
> DDRB = 0xff;
> DDRC = 0xff;
> DDRD = 0xff;
> DDRE = 0xff;
> DDRF = 0xff;
>
> PORTA = 0xff;
> PORTB = 0xff;
> PORTC = 0xff;
> PORTD = 0xff;
> PORTE = 0xff;
> PORTF = 0xff;
>
> return 0;
>
> }
>
> newtc사의 8개짜리 led를 꽂으며 불이 어디가 안 들어오는지 확인했는데
>
> 나머지는 8개의 LED가 모두 들어왔습니다.
>
> F포트의 경우 8번, 7번, 5번이 불이 들어오지 않고
> B포트의 경우 4번 led가 불이 들어오지 않습니다.
>
> 나머지 포트에서는 8개의 led가 모두 불이 켜집니다.
> 어떤 기능 때문에 포트가 출력을 막아 놓을 수 있다는 것일 수도 있다는 생각을 했지만
> 그래도 제작한 회사에게 물어보는게 가장 정확할 것 같아서 이렇게 남깁니다.
>
> 제가 할 수 있는 것이면 방법을 알려주시고
> 만약 수리를 맡겨야 되는 것이면 소요시간과 금액을 알고 싶습니다.
>
> 감사합니다.
>
> 010-9387-2004
> 연락처도 함께 남깁니다.
>
|
||||
