아두이노 > 아두이노 문법

TODAY359 TOTAL207,794
사이트 이용안내
Login▼/회원가입
포럼 동영상강좌 회원가입


BASIC4MCU 후원업체 최신 정보

BASIC4MCU | 아두이노 | 아두이노 | 아두이노 문법

페이지 정보

작성자 키트 작성일2017-09-13 15:39 조회1,038회 댓글0건

본문

	

아두이노 문법


아두이노는 C언어를 사용합니다. 그렇지만 처음에는 매우 생소함을 느낍니다. main()함수가 안보이기 때문이죠.

이전에 설명한 바와 같이 아두이노는 크게 두부분(setup(), loop())으로 되어 있습니다.
 

하나씩 생각해 보죠. 기초는 매우 중요합니다. 그래서 하는 말인데 혹시 아래 함수에서 void에 대해 생각해 보셨나요?

 

void setup(), void loop() 

 

둘다 void라고 붙여 있지요. 이 뜻은 출력으로 내보낼 것이 없고 단지 그 안에서 처리하고 끝내라는 뜻입니다.

 

그렇다면 함수는 무엇일까요? 어렵게 생각하지 마세요. 무엇인가 재료를 넣어주면 제품을 만들어 내는 기계(혹은 상자)라고 생각하세요. 혹시 엑셀이라는 프로그램을 사용할 줄 아신다면 sum이라는 함수하나면 생각해 보면 됩니다.

 

■ 디지털 입출력(Digital I/O) 
   - pinMode(핀번호, 모드) : 핀번호에 대해 입출력 모드(INPUT, OUTPUT)로 설정, 신호가 들어오는 핀이냐? 내보내는 핀이냐?를 지정
   - digitalWrite(핀번호,값) : 출력 핀 번호에 대해 값(HIGH, LOW) 출력, LED의 경우 HIGH면 5V가 흘려 켜지고 LOW면 반대로 꺼짐
   - digitalRead(핀번호) : 출력 핀 번호에 대해 값(HIGH, LOW) 읽기, 해당 핀에 5V가 흐르는지 아닌지 읽음

 

■ 아날로그 입출력(Analog I/O)

   - analogReference() : ADC(Analog-Digital Converter)의 기준전압을 설정함

     낮고 좁은 범위의 전압을 높은 분해된 값으로 읽고 싶을 때 사용
   - analogWrite(핀번호) : digitalWrite()가 0 또는 1만 설정하는 것에 비해 0~255값을 설정할 수 있음. 서서히 변화하도록 할 때 사용
   - analogRead() : 0~5V를 1024개의 전압 구간으로 나누어 0~1023의 숫자를 할당하여 읽어들임 

     아두이노 우노의 경우 아날로그 신호를 입력받을 수 있는 핀은 A0~A5까지 6개가 있음

     핀은 A0의 경우 A0 또는 0 이라고 써도 됨
    
■ 고급 입출력(Advanced I/O)
   - tone(핀번호, 주파수, 지속시간) : 스피커 멜로드 재생
   - noTone(핀번호) : 스피커 멜로드 중지
   - shiftOut()
   - shiftIn()
   - pulseIn()

  
■ 통신 함수

   - Serial

     Serial.begin(9600) : 시리얼 통신 시작
     Serial.end() : 시리얼 통신 종료
     Serial.print() : () 출력
     Serial.println() : 새줄에서 () 출력
     Serial.available() : 
     Serial.read() : 데이터 입력
   - Stream : 
   - keyboard : 
   - Mouse : 

  
■ 시간 함수
   - miliis()
   - micros()
   - delay(time) : 지정한 시간만큼 프로그램을 지연 [delay(1000) = 1초]
   - delayMicroseconds()
  
■ 수학 함수

   - min(A, B) : A, B 중 작은 수를 리턴 
   - max(A, B) : A, B 중 큰 수를 리턴
   - abs() : 절대값
   - constrin(x, A, B) : x를 A이상 B이하로 제한
   - y=map(x, a, b, A, B) : (x : y) = (a : A) ~ (b : B)
   - pow(A, B) : A를 B제곱
   - sqrt() : 제곱근
   - sq(A) : A의 제곱값 리턴
   - almostEqual(변수, 목표값) :  변수 값과 원하는 목표 값의 차이가 0.0001 이내이면 true 리턴
   - floor(x) : x보다 크지 않은 정수 중 가장 큰 정수 값 리턴
   - ceil(x) : x보다 작지 않은 정수 중 가장 작은 정수 값 리턴

 

■ 삼각 함수
   - sin() : 
   - cos() : 
   - tan() : 

 

■ 난수발생 함수

   - randomSeed(seed) : 지정된 seed 매개변수를 기반으로 임의의 위치에서 난수 생성
   - random(A, B) : A ~ B-1 까지의 난수 생성

■ 비트와 바이트 함수
   - lowByte() : 변수의 하위 바이트(오른쪽 바이트) 추출
   - highByte() : 변수의 상위 바이트(왼쪽 바이트) 추출
   - bitRead(x, n) : 변수 x의 0부터 n번째 비트에서 "0" 또는 "1"을 반환
   - bitWrite(x, n, value) : 변수 x의 0부터 n번째 비트값을 value(0" 또는 "1")을 반환
   - bitSet(x, n) : 변수 x의 0부터 n번째 비트를 "1"로 설정
   - bitClear(x, n) : 변수 x의 0부터 n번째 비트를 "0"로 설정
   - bit(n) : 
  
■ 외부 인터럽트 함수
   - attachInterrupt() :    
   - detachInterrupt() : 
  
■ 인터럽트 함수
   - interrupts() : 
   - nointerrupts() : 
  
■ 문자열 함수

   - charAt(n) : String 객체의 n번째 문자를 리턴
   - compareTo(S2) : String 객체를 지정된 S2 객체와 비교
   - concat(S2) : String 객체와 S2 객체가 결합된 새로운 String 객체를 리턴
   - endWith(S2) : String 객체와 S2 객체의 문자들로 끝나면 true를 리턴
   - equals(S2) : String 객체와 S2 객체와 정확히 일치하면 true를 리턴
   - equalsIgnoreCase(S2) : equals()와 같지만 대소문자를 구분하지 않는다.
   - getBytes(buffer, len) : len에 해당하는 개수의 문자를 제공된 바이트 버퍼에 복사
   - indexOf(S) : S 객체의 인덱스를 리턴, 없으면 -1을 리턴
   - length() : 문자열의 문자수 리턴
   - replace(A, B) : String 객체 A의 모든 인스턴스를 B로 바꾼다.
   - setCharAt(index, c) : 문자 c를 String 객체의 지정 위치에 저장
   - startsWith(S2) : String 객체가 S2 객체의 문자들로 시작되면 true를 리턴
   - substring(index) : String 객체의 지정된 위치부터 마지막까지의 문자로 구성된 String 객체로 리턴
   - substring(index, to) : 위 함수와 같지만 'to' 앞의 문자까지만 하위 문자열에 포함
   - tocharArray(buffer, len) : String 객체의 문자 중에서 최대 len개의 문자를 제공된 버퍼에 복사
   - toInt() : String 객체에 있는 숫자의 정수 값을 리턴
   - toLowerCase() : 모든 문자를 소문자로 변환
   - toUpperCase() : 모든 문자를 대문자로 변환
   - trim() : 선행 후 후행 공백을 모두 제거
   - strtok_r(S1, c, S2) : S1 객체에서 c를 찾아  분리하여 S2에 저장
   - strcmp(S1, S2)

     S1, S2 객체의 문자열 비교하여 해당 값 리턴 

     S1 > S2    "1"

     S1 = S2    "0"

     S1 < S2    "-1"
   - strncmp(S1, S2, n) : S1과 S2 객체의 비교할 최대 문자수 n을 지정하여 비교 
   - itoa(N, buffer, n) : 숫자 N을 문자열 buffer에 n진수로 변환하여 저장(int형) 
   - ltoa(N, buffer, n) : 숫자 N을 문자열 buffer에 n진수로 변환하여 저장(long형) 
   - atoi(str) : 문자열을 정수로 변환(int형) 
   - atol(str) : 문자열을 정수로 변환(long형) 

 

■ Due 전용 함수

   - analogReadResolution() : 
   - analogWriteResolution() : 

 

■ 기타 함수
   - isDigit(ch) : ch가 0~9 사이의 ascii 인지 판별



댓글 0

조회수 1,038

등록된 댓글이 없습니다.

아두이노HOME > 아두이노 > 전체 목록

아두이노 목록
제목 작성자 작성일 조회
207 아두이노 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[5] 이미지첨부파일 rickio 18-08-08 59
답변 답변글 답변 : 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[2] 이미지 master 18-08-09 40
답변 답변글 답변 : 답변 : 아두이노 스텝모터(리니어 액추에이터) 제어 질문 드립니다. 댓글[7] 이미지 rickio 18-08-10 70
204 아두이노 아두이노 블루투스 연결 코딩 질문입니다 댓글[6] 보람찬시간낭비 18-08-08 55
203 아두이노 아두이노 저장,재생기능 댓글[1] 첨부파일 gksl 18-08-06 44
답변 답변글 답변 : 아두이노 저장,재생기능 댓글[1] master 18-08-06 42
답변 답변글 답변 2: 아두이노 저장,재생기능 master 18-08-06 26
답변 답변글 답변 3: 아두이노 저장, MIDI 재생기능 댓글[1] master 18-08-06 39
199 아두이노 아두이노 74138 시계 소스코드 여기까지 해봤는데.. hktsakura 18-08-04 37
답변 답변글 답변 : 아두이노 74138 시계 소스코드 여기까지 해봤는데.. 댓글[12] master 18-08-04 71
197 아두이노 와이파이 웹서버 댓글[1] 유케이 18-08-01 51
196 아두이노 와이파이 실드 오류 댓글[1] 이미지첨부파일 유케이 18-08-01 49
195 아두이노 아래 아두이노 질문 사진 다시올립니다. 댓글[6] 이미지 kkk9094 18-07-31 75
194 아두이노 아두이노 회로 질문이요! 댓글[8] 이미지 kkk9094 18-07-31 85
답변 답변글 답변 : 아두이노 펠티어 구동 회로 질문이요! 댓글[1] master 18-07-31 48
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017