728x90
아두이노(Arduino)는 임베디드 시스템 개발을 위한 강력한 도구로, 다양한 하드웨어 컨트롤 작업을 수행하는 데 사용됩니다. 아두이노 프로그래밍에는 몇 가지 기본 함수가 있으며, 이러한 함수들을 이해하고 활용하는 것이 중요합니다. 이 블로그 포스트에서는 아두이노에서 자주 사용되는 기본 함수들을 소개합니다.
시간 함수
1. delay() 함수
지정한 시간(밀리) 초 동안 프로그램 멈춤. (1초는 1000 밀리 초)
delay(1); // 0.001초 기다림
delay(10); // 0.01초 기다림
delay(100); // 0.1초 기다림
delay(1000); // 1초 기다림
시간을 지연시키기는 가장 쉬운방법이지만 지연하는동안 모든작업이 스톱이 된다는 단점이있다.
2.delayMicroseconds() 함수
지정한 시간(마이크로) 초 동안 프로그램 멈춤. (1초는 1000000 마이크로 초)
delayMicroseconds(50); // 50 마이크로 초 쉰다
delayMicroseconds(100); // 100 마이크로 초 쉰다
delayMicroseconds(500); // 500 마이크로 초 쉰다
이함수는 3~1683마이크로 초 에서 정확성이 나온다.
이 역시 시간지연하는동안 모든작업이 스톱된다.
3. micros() 함수
아두이노 보드가 현재 프로그램을 돌리기 시작한 후의 마이크로 초 수를 반환한다.
unsigned long time;
void loop() {
time = millis();
//timer0_millis = 0; // millis에서 사용되는 카운트를 0으로 재셋팅할수있다.
}
아두이노 보드가 현재 프로그램을 돌리기 시작한 후 지난 마이크로 초 수를 반환. (unsigned long) 이 수는 약 70분 후 오버플로우(0으로 돌아감)된다.
Serial 함수
1. Serial.begin() 함수
시리얼 직렬통신을 Enable하며 데이터 전송속도를 지정합니다.
2.Serial.available() 함수
시리얼 포트에서 읽을수 있는 바이트의 수를 가져옵니다. 최대 저장버퍼수는 64바이트입니다.
3. Serial.end() 함수
시리얼 직렬통신을 Disable하며 RX,TX PIN이 일반 입출력 핀으로 전환됩니다.
4.Serial.read() 함수
들어온 시리얼 데이터를 읽는다.
5. Serial.print() 함수
시리얼데이터를 ASCII 형태로 전송한다.
6. Serial.write() 함수
시리얼데이터를 HEX 형태로 전송한다.
int incomingByte = 0; // for incoming serial data
void setup() {
Serial.begin(9600); // 9600 bps로 시리얼통신 연결
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) { //수신받은 시리얼데이터가 0개이상이면
// read the incoming byte:
incomingByte = Serial.read(); // 시리얼 데이터를 읽어 incomingByte에 저장
// say what you got:
Serial.print("I received: "); // 시리얼로 I received: 를 전송
Serial.println(incomingByte, DEC); // 수신받은 incomingByte DEC형식으로 전송
}
}
반응형
'arduino' 카테고리의 다른 글
아두이노 서보모터 제어 : 초보자를 위한 완벽한 가이드 (0) | 2023.10.04 |
---|---|
아두이노 네오픽셀(WS2812B) 제어: 초보자를 위한 완벽한 가이드 (0) | 2023.10.04 |
아두이노 자주 사용되는 기본함수 정리(기본,디지털입출력,아날로그 입출력) (0) | 2023.09.27 |
아두이노 PWM 제어: 초보자를 위한 완벽한 가이드 (0) | 2023.09.26 |
아두이노 LED 제어: 초보자를 위한 완벽한 가이드 (0) | 2023.09.25 |