Data Scale

입력값을 지정한 1차함수에 따라 출력하는 프로그램 Analog Data를 처리하다보면 필요한 프로그램으로 아래와 같은 식으로  계산된다. 소스는 C#.NET에서 작성한 소스며  입력값의 Limit까지 고려해서 작성하였다.   Scale = [변환후 최대값]-(([변환후 최대값]-[변환후 최소값])/([변환전 최대값]-[변환전 최소값]))*([변환전 최대값]-[입력값]) Scale Example – C#.NET

 

도쿄대 물리학자가 가르쳐주는 생각하는 법

도쿄대 물리학자가 가르쳐주는 생각하는 법 [ 도쿄대 인기강의 ] 우에다 마사히토 지음 좋은 성적을 내는 능력은 머리가 좋다는 하나의 근거가 되는 것이 분명하지만, 실제 사회에서 이 능력을 활용할수 있는 범위는 매우 한정적이다 . 발견과 아이디어는 전부 사고하는 과정에서 태어난다. 또 창조성이 풍부한 학생의 공통점은 수험공부를 무시하지 않았지만 , 특별히 중시하지도 않는 심리적 여유를 가지고 있다 …

Continue reading ‘도쿄대 물리학자가 가르쳐주는 생각하는 법’ »

[ATMELSTUDIO]printf 사용하기

Atmelstudio7 에서 Printf 함수를 사용하기 위한 설정  

   

[Codevision]OK-128 kit 스위치 상승펄스 캣치

[Codevision]OK-128 kit 타이머0를 이용해 입력 채터링 방지 방법 위 링크의 소스를 토대로 작성됨. 만약 아래와 같은 코드를 사용해 어떤 값을 증가시킨다면 엄청난 속도로 값이 증가될 것이다. if(TIMER_KEY3>=KEYTIME){adr++;} 키가 한번 눌리면 1회만 증가시킬 필요가 있는데 아래 소스를 참고해보자.

 

[Codevision]OK-128 kit 타이머0를 이용해 입력 채터링 방지 방법

스위치로 입력받아 사용하면  물리접촉에 의한 필연적 구조 때문에”chattering”이 발생한다. 이 채터링을 “debouncing” 해야 한다는 말은 많이들 들었을 것이다.   흔한 debouncing 기법은 delay함수를 통해 약 20ms내외로 지연시키는 방법이 일반적이다. 이번 예제는 타이머 인터럽트를 통해 사용하는 소개한다. delay 함수를 쓰지 않으니 효율적인 프로그래밍이 가능하다. 1. 10ms마다 타이머0 오버플로우 인터럽트 루틴에 진입한다. 2. 스위치마다 타이머 변수가 있고 키가 …

Continue reading ‘[Codevision]OK-128 kit 타이머0를 이용해 입력 채터링 방지 방법’ »

[회로] 릴레이 두 개를 이용한 자기유지 회로

릴레이 두개를 이용해 자기유지회로를 구성한 회로 예이니 포토커플러등의 저항등은 알아서 구성하도록 하고 동작 예제는 Signal이 입력되면 Relay1, Relay2가 여자되는데 이 때 Signal에 신호가 없어져도 Relay1의 B접 스위치 때문에 여자가 유지되어 Relay2 접점은 그대로 유지된다. PB를 누르면 소자되어 Relay2의 접점도 열린다.

[C Language – Example] 비트제어

마이크로 프로세서를 다루다보면 비트제어를 많이 하게된다. 논리연산으로 해도 되지만 좀 더 편하기 쓰기 위해 매크로를 통해서 제어하면 보다 편리하게 비트제어가 가능하다.

 

[C Language – Example] 시리얼통신 데이터 파싱

AVR등을 이용해 시리얼통신을 자주 이용하게 된다 이 때 수신 받은 아스키데이터를 Hex Code 형태로 변경해야 할 필요가 있다.

 

[C Language – Example] HEXTOASCII

Hex To Ascii Example

   

[C Language – Example] ASCIITOHEX

Ascii To Hex Example