아두이노 함수 정리 - 2


출처는 ‘아두이노 상상을 스케치하다’입니다.
간단하게 함수 구조만 정리하고 특별히 내용이 필요한 함수만 추가 내용을 첨부합니다.
자세한 내용은 책을 보시길~
이 부분은 개발하시는 분들이면 많이 보던 함수들입니다.


시간 함수

함수명 : millis
함수 구조 : unsigned long millis (void)
매개변수 : 없음
반환값 : 프로그램이 시작된 이후 경과된 시간 (밀리초 단위)
설명 : 약 50일의 시간이 지나면 오버플로우로 인해 0이 반환됨


함수명 : micros
함수 구조 : unsigned long micros (void)
매개변수 : 없음
반환값 : 프로그램이 시작된 이후 경과된 시간 (밀리초 단위)


함수명 : delay
함수 구조 : void delay (unsigned long ms)
매개변수 : 
‣ ms - 밀리초 단위의 지연 시간
반환값 : 없음
설명 : 지정된 시간(ms)만큼 프로그램을 중지 시킴. 이 함수가 실행 중인 시간 동안 세선의 값을 읽어 들이지 못하는 등 다른 대부분의 작업을 못하므로 10밀리초 이상의 대기시간이 필요하는 경우 사용하지 않는 것이 바람직함


함수명 : delayMicroseconds
함수 구조 : void delayMicroseconds (unsigned long us)
매개변수 : 
‣ us - 마이크로 초 단위의 지연 시간
반환값 : 없음
설명 : 지정된 시간(us)만큼 프로그램을 중지 시킴. 최대 지연 시간은 16383 마이크로 초이며 3마이크로 초 이상에서만 정확하게 동작함


수학 함수

함수명 : min
함수 구조 : min (x, y)
매개변수 : 
‣ x - 첫 번째 비교 값
‣ y- 두 번째 비교 값
반환값 : x, y 중 작은 값


함수명 : max
함수 구조 : max (x, y)
매개변수 : 
‣ x - 첫 번째 비교 값
‣ y- 두 번째 비교 값
반환값 : x, y 중 큰 값


함수명 : abs
함수 구조 : abs (x)
매개변수 : 
‣ x - 데이터
반환값 : x의 절대값


함수명 : constrain
함수 구조 : constrain (x, a, b)
매개변수 : 
‣ x - 데이터
‣ a - x가 가질 수 있는 최솟값
‣ b - x가 가질 수 있는 최댓값
반환값 : x가 범위 내의 값이면 x, a보다 작으면 a, b보다 크면 b를 반환


함수명 : map
함수 구조 : map (long value, long fromLow, long fromHigh, long toLow, long toHigh)
매개변수 : 
‣ value - 데이터
‣ fromLow - 데이터가 가질 수 있는 최솟값
‣ fromHigh - 데이터가 가질 수 있는 최댓값
‣ toLow - 변환하고자 하는 범위의 최솟값
‣ toHigh - 변환하고자 하는 범위의 최댓값
반환값 : 지정한 범위(toLow, toHigh)로 사상된 값
설명 : 주어진 데이터 값을 지정된 범위의 값으로 선형 사상시킨다. fromLow값은 toLow값으로 fromHigh값은 toHigh값으로 사상된다. 입력 범위에서 fromLow와 formHigh가 같은 값인 경우 0으로 나누는 경우가 발생하므로 주의해야 한다.


함수명 : pow
함수 구조 : double pow (double base, double exponent)
매개변수 : 
‣ base - 밑
‣ exponent - 지수
반환값 : base의 exponent승 값


함수명 : sqrt
함수 구조 : double sqrt (double x)
매개변수 : 
‣ x - 데이터
반환값 : x의 제곱근


삼각 함수

함수명 : sin
함수 구조 : double sin (double rad)
매개변수 : 
‣ rad - 라디안 형식의 각도
반환값 : 사인 값


함수명 : cos
함수 구조 : double cos (double rad)
매개변수 : 
‣ rad - 라디안 형식의 각도
반환값 : 코사인 값


함수명 : tan
함수 구조 : double tan (double rad)
매개변수 : 
‣ rad - 라디안 형식의 각도
반환값 : 탄젠트 값


난수 생성 함수

함수명 : randomSeed
함수 구조 : void randomSeed (unsigned int seed)
매개변수 : 
‣ seed - 의사 난수 시작 위치 결정을 위한 값
반환값 : 없음
설명 : 의사 난수 생성기를 초기화 하며 시드는 외부 회로가 연결되지 않은 아날로그 핀으로부터 무작위 값을 입력받아 사용하는 것이 가장 간단한 방법이다.


함수명 : random
함수 구조 : long random (long max), long random (long min, long max)
매개변수 : 
‣ min - 생성될 난수의 최솟값
‣max - max - 1이 생성될 난수의 최댓값
반환값 : [min, max-1] 범위의 난수 값


비트 조작 함수

함수명 : lowByte
함수 구조 : lowByte (x)
매개변수 : 
‣ x - 데이터
반환값 : x의 최하위 바이트(byte)


함수명 : highByte
함수 구조 : highByte (x)
매개변수 : 
‣ x - 데이터
반환값 : x의 두 번째 최하위 바이트(byte)
설명 : 2바이트 데이터에서는 상위 바이트를 반환함


함수명 : bitRead
함수 구조 : bitRead (x, n)
매개변수 : 
‣ x - 데이터
‣ n - 읽어낼 비트의 위치로 LSB부터 0에서 시작
반환값 : 0 또는 1의 비트 값
설명 : x의 n번째 비트 값을 읽어 반환한다.


함수명 : bitWrite
함수 구조 : bitWrite (x, n, b)
매개변수 : 
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
‣ b - 기록할 비트 값. 0 또는 1
반환값 : 없음
설명 : x의 n번째 비트에 b 값을 기록한다.


함수명 : bitSet
함수 구조 : bitWrite (x, n)
매개변수 : 
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
반환값 : 없음
설명 : x의 n번째 비트를 1로 설정한다.


함수명 : bitClear
함수 구조 : bitClear (x, n)
매개변수 : 
‣ x - 데이터
‣ n - 기록할 비트의 위치로 LSB부터 0에서 시작
반환값 : 없음
설명 : x의 n번째 비트를 0으로 설정한다.


함수명 : bit
함수 구조 : bit (n)
매개변수 : 
‣ n - 계산하고자 하는 비트 위치
반환값 : n에 의해 지정된 비트의 비트 값
설명 : 2^n 값을 반환.


외부 인터럽트 함수

함수명 : attachInterrupt
함수 구조 : 
void attachInterrupt (uint8_t interrupt, void (*function)(void), int mode)
void attachInterrupt (uint8_t pin, void (*function)(void), int mode)
매개변수 : 
‣ interrupt - 인터럽트 번호
‣ pin - 핀 번호 (아두이노 두에에서만 사용 가능)
‣ function - 인터럽트를 처리할 인터럽트 서비스 루틴(ISR). 파라미터를 가지지 않고 반환값이 없다.
‣ mode - 인터럽트가 발생하는 시점
반환값 : 없음
설명 : 외부 인터럽트가 발생했을 때 이를 처리할 인터럽트 서비스 루틴을 지정한다.


함수명 : detachInterrupt
함수 구조 : 
void detachInterrupt (uint8_t interrupt)
void detachInterrupt (uint8_t pin)
매개변수 : 
‣ interrupt - 인터럽트 번호
‣ pin - 핀 번호 (아두이노 두에에서만 사용 가능)
반환값 : 없음
설명 : 인터럽트 서비스 루틴을 제거한다.


인터럽트 함수

함수명 : interrupts
함수 구조 : interrupts ()
매개변수 : 없음
반환값 : 없음
설명 : noInterrupts 함수에 의해 금지된 인터럽트의 발생을 허용한다.


함수명 : noInterrupts
함수 구조 : noInterrupts ()
매개변수 : 없음
반환값 : 없음
설명 : 인터럽트 발생을 금지시킨다.

아두이노 함수 정리는 여기까지 입니다~

블로그 이미지

마즈다

이미 마흔을 넘어섰지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^


아두이노 함수 정리 - 1


출처는 ‘아두이노 상상을 스케치하다’입니다.
간단하게 함수 구조만 정리하고 특별히 내용이 필요한 함수만 추가 내용을 첨부합니다.
자세한 내용은 책을 보시길~


디지털 입출력 함수

함수명 : pinMode
함수 구조 : void pinMode (uint8_t pin, uint8_t mode)
매개변수 : 
‣ pin - 설정하고자 하는 pin 번호
‣ mode - 입출력 설정 (INPUT, OUTPUT, INPUT_PULLUP)
반환값 : 없음
설명 : mode에 INPUT_PULLUP을 사용하면 내부 풀업 저항을 사용함


함수명 : digitalWrite
함수 구조 : void digitalWrite (uint8_t pin, uint8_t value)
매개변수 : 
‣ pin - value를 출력하고자 하는 pin 번호
‣ value - pin으로 출력할 값 (HIGH 또는 LOW)
반환값 : 없음


함수명 : digitalRead
함수 구조 : int digitalRead (uint8_t pin)
매개변수 : 
‣ pin - 입력을 받기 위한 pin 번호
반환값 : pin으로부터 HIGH나 LOW값을 읽어 반환

아날로그 입출력 함수

함수명 : analogReference
함수 구조 : void analogReference (uint8_t type)
매개변수 : 
‣ type - DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL중 한가지
반환값 : 아날로그 입력을 위한 기준 전압 설정
설명 : 
‣ DEFAULT - 아두이노 보드의 기본 동작 전압으로 설정 (5V 또는 3.3V)
‣ INTERNAL - 내부 기준 전압으로 설정. 아두이노 메가는 사용 못함
‣ INTERNAL1V1 - 1.1V를 기준 전압으로 설정. 아두이노 메가에서만 사용 가능
‣ INTERNAL2V56 - 2.56V를 기준 전압으로 설정. 아두이노 메가에서만 사용 가능
‣ EXTERNAL - AREF핀에 인가된 0V~5V 사이의 전압으로 설정. AREF핀에 인가된 전압을 기준 전압으로 이용하는 경우 analogRead 함수 호출 이전에 반드시 기준 전압을 EXTERNAL로 설정해야 함


함수명 : analogRead
함수 구조 : int analogRead (uint8_t pin)
매개변수 : 
‣ pin - 아날로그 입력을 받기 위한 pin 번호
반환값 : 0~1023 사이의 정수 값


함수명 : analogWrite
함수 구조 : void analogRead (uint8_t pin, int value)
매개변수 : 
‣ pin - 아날로그 출력을 위한 pin 번호
‣ value - 듀티 싸이클(duty cycle), 0~255 사이의 값
반환값 : 없음
설명 : PWM 방식의 신호를 디지털 핀으로 출력한다. 대부분의 디지털 핀 3, 5, 6, 9, 10, 11의 6개 핀을 통해 PWM 신호를 출력할 수 있다.

고급 입출력 함수

함수명 : tone
함수 구조 : void tone (uint8_t pin, unsigned int frequency, unsigned long duration = 0)
매개변수 : 
‣ pin - 출력을 위한 pin 번호
‣ frequency - 출력 주파수
‣ duration - 출력 지속 시간 (밀리초)
반환값 : 없음
설명 : 50% 듀티 사이클과 지정된 주파수를 가지는 구형파를 출력하며 단음을 재생한다. 특정 시간에 하나의 톤만 재생 가능하다.


함수명 : noTone
함수 구조 : void noTone (uint8_t pin)
매개변수 : 
‣ pin - tone을 출력 중인 pin 번호
반환값 : 없음
설명 : tone 함수 호출로 재생 중인 단음을 정지시킨다.


함수명 : shiftOut
함수 구조 : void noTone (uint8_t dataPin, uint8_t cliockPin, uint8_t bitOrder, uint8_t value)
매개변수 : 
‣ dataPin - 비트 출력이 일어날 pin 번호
‣ cliockPin - 한 비트 출력 후 데이터 출력을 알려주기 위해 펄스가 출력되는 핀
‣ bitOrder - 비트 출력 순서 (MSBFIRST 또는 LSBFIRST)
‣ value - 출력될 데이터(byte)
반환값 : 없음
설명 : 지정한 데이터 값(value)을 비트 단위로 지정한 핀(dataPin)으로 출력하는 함수. 이 함수는 바이트 단위의 출력만 지원하므로 255 이상의 값은 바이트 단위로 나누어 호출해야 함


함수명 : shiftIn
함수 구조 : uint8_t shiftIn (uint8_t dataPin, uint8_t cliockPin, uint8_t bitOrder)
매개변수 : 
‣ dataPin - 비트 입력을 받아들일 pin 번호
‣ cliockPin - 비트 입력을 위한 클록 핀
‣ bitOrder - 비트 압력 순서 (MSBFIRST 또는 LSBFIRST)
반환값 : 입력값(byte)
설명 : 비트 단위로 데이터를 입력 받으며 clockPin이 HIGH 상태로 바뀐 후 입력이 이루어지고 입력이 완료되면 clockPin은 LOW 상태로 바뀐다.


함수명 : pulseIn
함수 구조 : unsigned long pulseIn (uint8_t pin, uint8_t value, unsigned long timeout = 1000000L)
매개변수 : 
‣ pin - 펄스를 읽어들일 pin 번호
‣ value - 읽어들일 펄스의 종류 (HIGH 또는 LOW)
‣ timeout - 펄스의 시작을 기다리는 시간. 마이크로 초 단위이며 기본 값은 1초
반환값 : 펄스의 길이를 마이크로 초 단위로 반환. 타임아웃 시간 이전에 펄스가 시작되지 않으면 0을 반환
설명 : 지정한 핀으로부터 HIGH 또는 LOW 펄스를 읽어들임


블로그 이미지

마즈다

이미 마흔을 넘어섰지만 아직도 꿈을 좇고 있습니다. 그래서 그 꿈에 다가가기 위한 단편들을 하나 둘 씩 모아가고 있지요. 이 곳에 그 단편들이 모일 겁니다...^^