본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Study/아두이노

[아두이노] 문돌이의 공돌이 따라잡기 ~ 2

by 마즈다 2016. 5. 30.
반응형


아두이노 기초 정리


이 내용은 허경용 지음, 제이펍 출판 ⎡아두이노 상상을 스케치하다⎦에서 발췌한 내용입니다.
오늘은 개념 정리의 수준에서의 내용만 포스팅합니다.


◼︎ 아두이노는 마이크로컨트롤러다.


마이크로컨트롤러 (wikipedia 발췌)

마이크로컨트롤러(Microcontroller) 또는 MCU(Micro Controller Unit)는 마이크로프로세서와 입출력 모듈을 하나의 칩으로 만들어져 정해진 기능을 수행하는 컴퓨터를 말한다. 


CPU 코어, 메모리 그리고 프로그램 가능한 입/출력을 가지고 있다. NOR 플래쉬, EPROM2 그리고 OTP ROM등의 메모리를 가지고 있어 정해진 기능을 수행하도록 프로그래밍 코딩하고 이 기계어 코드를 써 넣는다. 기계어 코드가 실행되기 위한 변수나 데이터 저장을 위해 적은 용량의 SRAM을 가지고 있다. 기타 칩에 따라 EEPROM을 내장하기도 한다.


MCU는 임베디드 애플리케이션을 위해 디자인되었으며 임베디드 시스템에 널리 사용된다. 개인용 컴퓨터(PC)가 다양한 요구에 따라 동작하는 일반적인 일에 사용된다면, MCU는 기능을 설정하고 정해진 일을 수행하도록 프로그래밍되어 장치 등에 장착되어 동작한다. 따라서 일반적으로 성능이 PC에 비해 낮고 형상도 다르다. 컴퓨터의 형상과 하는 일 측면에서 PC와 달라 대응되는 개념으로 생각하면 된다.

https://ko.wikipedia.org/wiki/마이크로컨트롤러


마이크로프로세서 (wikipedia 발췌)

마이크로프로세서(영어: microprocessor, 문화어: 극소형처리장치, 미크로처리장치)는 컴퓨터의 중앙 처리 장치(CPU)를 말한다. 기계어 코드를 실행하기 위해 실행과정을 단계별로 나누어 처리를 위한 마이크로 코드를 작성하고, 이 마이크로 코드에 의해 단계적으로 처리하는 논리회로를 말한다.


초기의 마이크로프로세서는 하나의 칩으로 만들어졌으나, 점점 다른 하드웨어 요소들을 집적시키는 경향이 있다. 따라서 CPU-코어라는 말로 다른 요소들과 구별한다.중앙 처리 장치(CPU)가 컴퓨터 전체 시스템의 위치와 입장에서 나온 말이라면, 마이크로프로세서는 동작 방식에서 나온 말로 서로 같은 것 이다.

https://ko.wikipedia.org/wiki/마이크로프로세서


◼︎ 교차 개발 환경 


프로그램 개발 기기와 프로그램 실행 기기가 다르다. PC에서 개발한 프로그램을 아두이노로 업로드하여 아두이노에서 실행. 스마트폰 개발 환경도 마찬가지.


◼︎ setup() 함수와 loop() 함수


setup() : 전원이 켜지거나 리셋버튼이 눌려지면 1번만 호출. 변수의 초기화, 핀 모드 설정, 필요한 라이브러리 적재 등 수행

loop() : 프로그램 실행 중 지속적으로 수행되는 함수. 실제 작업 수행


◼︎ 아두이노 기본 입출력


아두이노 UNO 기준 13개의 디지털 입출력 핀과 6개의 아날로그 아날로그 입력 핀이 있음


◼︎ 디지털 입출력


아두이노에서 디지털 입출력 핀은 기본값으로 입력 상태를 가짐. 
이 상태는 하이 임피던스 상태 임


디지털 회로에서의 논리 표현 (wikipedia 발췌)

  • 참 (True)  : 전압 Vcc[V]
  • 거짓 (False) : 전압 
  • H (논리1) : (Vcc - Vs)~ Vcc
  • L (논리0) : Vs ~ 0V


초기의 논리회로는 5V 기준이였다. 5V를 정해 놓고 이것에 맞추어 논리게이트든 마이크로프로세서든 만들어졌다. 그래서 5V를 Vcc라고 표시한다.


즉 전압이 5V인 경우 1(true)로 전압이 0V인 경우 0(false)로 간주한다.
현재에는 이 전압이 낮아지는 추세라고 하는데 일단 아두이노는 5V가 1이다.


입출력 (wikipedia 발췌)

  • 입력 : 입력 노드에 특정 전압을 유지함으로써 신호가 입력되는 것
  • 출력 : 마찬가지로 출력노드에서 정해진 전압을 나타내는 것
  • 여기서 특정 전압이란 앞서 설명한 H또는 L


하이 임피던스(high impedance : wikipedia 발췌)

…이와 같이 출력 신호선에서 전기적으로 절연된 상태를 하이 임피던스(High Impedance)라고 부르며 H, L 둘 다 아닌 제3의 상태로 취급된다. 하이 임피던스 상태는 기호로 "Z"라고 표기한다.


어떤 입력 단자에 연결되어 있는 모든 출력 단자가 동시에 하이 임피던스 상태가 되면 전기적으로 입력 단자에 아무것도 연결되어 있지 않는 것과 동일한 상태가 되어서 안정적인 논리상태를 구현할 수 없다. 그렇기 때문에 하이 임피던스 상태를 수반하는 신호선은 풀업 또는 풀다운을 하는 것이 보통이다.


플로팅 (wikipedia 발췌)

일반적으로 디지털 회로의 입력 단자는 내부 임피던스가 높기 때문에(전원 회로와 저항이 큼) 입력 단자가 어디에도 연결되어 있지 않으면 근처의 정전기나 전자기 유도에 의하여 예상할 수 없는 전압이 인가될 수 있다. 그렇기 때문에 연결기에 의하여 외부로 연결되는 입력 단자는 커넥터가 잘못 연결되어 비정상적인 전압이 인가되지 않도록 해야 한다. 추가로 입력 단자가 어디에도 연결되어 있지 않은 상태를 「플로팅」란 표현이 널리 사용된다.


풀업과 풀다운 (wikipedia 발췌)

이러한 경우(플로팅 상태)에는 수kΩ ~ 수백kΩ 정도의 높은 저항으로 전원선이나 접지선에 연결시킨다. 전원선에 연결한 것을 「풀업」이라고 하고 접지선에 연결한 것을 「풀다운」이라고 한다.


https://ko.wikipedia.org/wiki/디지털_회로#.ED.95.98.EC.9D.B4_.EC.9E.84.ED.94.BC.EB.8D.98.EC.8A.A4


출력상태로 설정된 핀은 로우 임피던스 상태(low impedance state)를 가짐


로우 임피던스 (책에서 발췌)

많은 양의 전류를 외부로 공급할 수 있는 상태.

  • 최대 40mA까지의 양의 전류를 공급하면 소스(source)
  • 최대 40mA까지의 음의 전류를 공급하면 싱크(sink)


다음부터는 본격 실습과 더불어…

반응형