2007년 1월 21일 일요일

Arduino 보드 수리하기, Amtel

Arduino 보드가 고장난게 세개가 있었는데 다 고쳤음.


첫번째 Arduino 증상작년 초기 버전의 Arduino는 Power 선택하기 위해 바꾸어 끼우는 탭 앞에 사이즈가 큰 oscillator가 있어서 부러지기 쉬웠다.결국에는 그룹과제도중 팀원하나가 OSC, 6MHz oscillator, 3-pin을 부러뜨려는데 끝을 약간 벗겨낸뒤에 조심스럽게 다시 납땜질 했다. 음 원래 Todd 선생님이 oscillator을 다시 사서 부러진곳 납땜짐을 벗겨낸뒤에 다시 넣을하고 했는데 수량을 많이 팔고 쉬핑피가 만만치 않아서 그냥 자가 수리했다.


두번째 Arduino 증상프로그래밍이 전혀 다운로드 안돼고 파워불이 않보이는 Arduino를 버리는걸 주웠는데. 바닥을 깨끗이하고 다시 부팅하니까 작동함 문제는 13번 outpin에 LED가 거의 보이지 않을정도로 작동하는데 다른핀은 무리없이 작동함


세번째 Arduino 증상회로 셋업을 잘못해서 Arduino 에 12V 전류가 들어간 경우로 전원을 주거나 USB 라인을 연결하면 voltage regulator 와 Amtel chip이 매우 뜨거워짐Amtel chip을 교체하였더니 증상 치유됨

부트로더 Bootloader 사용방법

AVR-ISP 에 ATmega8 칩을 삽입한뒤에 12V전원을 연결하고 케이블을 이용하여 컴퓨터에 연결한다(이전버전의 AVR_ISP는 시리얼포트에만 연결할수 있다.) 녹색전원불이 들어와야 한다. 컴퓨터상의 Arduino 프로그램에서 Burn Bootloader를 선택하면 chip에 간단한 프로그램을 설치하는 빨간불을 보게된다. AVR-ISP를 이용하여 ATmega8 칩에 이간단한 프로그램을 설치하면 다른 외부 장치없이 Arduino 프로그램의 스케치(프로그래밍)한것을 다운로드 받을수 있다.

참고 URL : http://www.arduino.cc/en/Hacking/Bootloader?from=Main.Bootloader

FSM의 예가 될수 있는 것들. 만들어보자!


Finite State Machine의 예로 3개의 조각으로 이루어진 Puzzle(아기들이 가지고 노는 knob puzzle)을 들어보자.

0단계 아무것도 맞추어지지 않는 상태
1단계 한조각을 맞춘 상태
2단계 두조각을 맞춘 상태
3단계 세조각 모두를 맞춘 상태

세조각을 모두 맞추어야 과업을 마치게 되며 한개의 조각은 반드시 맞는 자리에만 들어가도록 규칙이 정해져 있다.


예를 들면, 현재의 상태가 숫자로 표현해서 '0의 상태에 있다고 가정하면, 그리고 표현할 수 있는 전체 상태(state)가 '0'을 포함해서 4개 - '1','2','3'-가 있다고 해보자. 여기서 상태(state)가 변하는 순서가 순차적으로 '0'->'1'->'3'->'2'라고 하면 상태(state)의 변화자체는 "상태천이(state transiton)"라고 일반적으로 부르고, 4개의 state를 가진 장치(machine)가 존재한다라고 말할 수 있다.
FSM에서 앞글자 finite는 아시겠지만 '제한적인'이란 뜻이 있듯이 이러한 상태(state)들이 제한된 숫자만큼 있다는 것을 뜻한다.


FSM 이 순차적인 디지털 회로의 상태 변화를 나타내는 방법이라고 한다면 위 퍼즐의 개념을 응용하여 FSM을 구현하여 볼 수 있을것이다.

Knob Puzzle
별모양, 사각형, 원형, 삼각형의 퍼즐 조각을 만들고 각각의 퍼즐조각이 맞춰질때마다 반짝거리는 LED 불빛과 각 도형에 이름과관련된 음악을 사운드로 듣게된다.


Finite State Machine

Finite State Machine

계산이론 (Theory of Computation) 에서 finite state machine (FSM) 또는 finite state automaton (FSA) 은 단지 유한한 일정한 양의 메모리 (memory) 만을 가지는 추상 기계이다. 그 기계의 내부 상태 (state) 는 더 이상의 구조를 갖지 않는다. 이러한 종류의 모델은 계산과 언어 (computation and languages) 의 연구에 아주 광범위하게 사용된다. .... (Wikipedia : Finite state machine)
상태라는 개념부터 들어가 보자. 선풍기 같은 단순한 기계를 생각해 보자. 선풍기를 제어하는 수단이 켜고 끄는 스위치뿐이라고 가정하자. 그때 우리는 선풍기가 가능한 상태 두 가지 중의 하나에 놓여 있다고 말할 수 있다. 이제 3단계 속도를 가진 또 하나의 선풍기를 생각해 보자. 그것은 가능한 상태 네 가지 중 하나에 있을 것이다(끔, 느린 속도, 중간 속도, 빠른 속도). 이제는 속도를 연속으로 조정할 수 있는 고급 모델 선풍기를 생각해 보자. 이 경우 속도의 연속적인 폭 때문에 모든 가능한 상태를 항목화할 수 없다. 1과 2 사이의 모든 분수를 적으려는 것과 같다.
다음, 유한의 개념을 생각해 보자. 유한은 한계를 지웠다는 의미이다. 따라서 앞의 두 선풍기는 한계를 지운, 또는 유한 개수의 가능한 상태 2 와 4 를 각각 가진 것이라고 말할 수 있다.
.... 유한 개수 상태를 가진 기계인 두 선풍기가 유한 상태 기계라고 생각할 수 있을 것이다. 그러나 FSM 은 유한 개수 상태를 가진 기계라는 것 이상의 의미를 가지고 있다 ..... 특히 하나의 FSM 은
유한 수의 상태를 가진다.
그 자신의 상태를 시험할 수 있다.
외부로부터 입력을 받아들인다.
이산된 시간의 단계에 그 자신의 상태를 변화시킬 수 있다.
그 자신의 상태와 외부로부터의 입력에 근거한 일단의 규칙에 따라서 그 자신의 상태를 변화시킬 수 있다.
컴퓨터는 FSM의 완벽한 보기이다 ..... 컴퓨터가 FSM 의 좋은 예라고 하는 것이 그리 새삼스러운 것은 아니다. Alan Turing 은 작동할 때 규칙들을 읽어들일 수 있는 FSM 이 보편적인 컴퓨터임을 이미 1936년에 증명해 보였다. ......... (Stephen Prata 1994)
오토마타 (Automata) 오토마타 이론 (Automata Theory) 세포 자동자 (Cellular Automata) 튜링 기계 (Turing Machine)
Paper :
유한상태기계 (Finite State Machine : FSM) : Stephen Prata
방향코드와 유한 오토마타를 이용한 사람 동작 프리미티브 패턴 분류기의 구현 (Implementation of a Primitive Pattern Classifier for Human Body Motion Using Direction Code and Finite Automata) : 조형제, 조경은, 한국멀티미디어학회, 1999
상태 오토마타와 기본 요소분류기를 이용한 가상현실용 실시간 인터페이싱 (Virtual Environment Interfacing based on State Automata and Elementary Classifiers) : 민병의, 박치항, 김종성, 이찬수, 송경준, 한국정보처리학회, 1997
유한 상태 오토마타의 추론을 위한 이차 순환 신경망의 학습 시간 단축 (Reducing learning time of Second-order Recurrent Neural Network inferring Finite State Automata) : 류수길, 강효진, 정현기, 정순호, 한국멀티미디어학회, 1999
Site :
The Finite State Machine Explorer
An interactive Java applet which simulates a finite state machine. Source code available. state machine 의 정의
The Finite State Machine Simulatore
Another Java state machine simulator with source code.
[출처]http://www.aistudy.com/math/finite_state_machine.htm

Sun이 만드는 피지컬컴퓨팅 블로그입니다.

Physical Computing과 관련된 개발 사항 또는 정보를 게시합니다.