Ardunino Study 예제

1. 진수 변환
10 : DEC
16 : HEX
8 : OCT
2 : BIN

char ch = 13; // char 문자 선언
void setup(){
Serial.begin(9600); // 9600 bps
}
void loop(){
Serial.print(“ch :”);
Serial.print(ch);
Serial.print(” “);

Serial.print(ch, DEC); // ch을 10진수 출력
Serial.print(” “);

Serial.print(ch, OCT); // ch을 8진수 출력
Serial.print(” “);

Serial.print(ch, HEX); // ch을 16진수 출력
Serial.print(” “);

Serial.print(ch, BIN); // ch을 2진수 출력
Serial.print(” “);
delay(2000);
}

2. 디지털
digitalRead : 디지털 전압을 측정한다.
pinMode(핀번호, INPUT) : 입력을 받을 핀의 설정
HIGH : 전압이 약 5V일 때 (저항에 전류가 흐를 때)
LOW : 전압이 약 0V일 때 (저항에 전류가 흐르지 않을 때)
OUTPUT : 출력모드
INPUT : 입력모드

const 키워드는 변수가 상수로서 읽을 수는 있지만 값을
변경할 수 없음을 나타내는 키워드이다. 이 변수에 값을
저장하려고 하면 컴파일할 때 에러가 발생한다.

const로 정의된 상수는 변수의 범위 규칙에 따라 전역변수
또는 지역변수가 될 수 있기 때문에 같은 역할을 하는 #define을
사용하는 것보다 낫다고 할 수 있다. 배열의 경우에는 const를 사용해야 한다.

예시

const float pi = 3.14;
float x;
x = pi * 2 // 상수를 산술 연산에 사용해도 된다.

pi = 7; // 상수에 값을 치환할 수 없다. 컴파일 에러 발생.

const int led_pin = 13; // LED 13핀에 상수 선언
const int switch_pin = 19; // 스위치 19번핀에 상수 선언
void setup(){
pinMode(led_pin, OUTPUT); // LED 출력
pinMode(switch_pin, INPUT); // 스위치 입력
}
void loop(){
int check = digitalRead(switch_pin); // 스위치핀을 Read해 check로 넣음.
if(check == HIGH){ // check가 5V일때
digitalWrite(led_pin, HIGH); // LED on
}
else{ // if가 아니라면
digitalWrite(led_pin, LOW); // led off
}
}

3. 모터 제어

digitalWrite로 전류를 넣어 방향을 제시 (HIGH = 정방향) (LOW = 역방향)
analogWrite로 속도를 넣어줌

int r_motor = 8; // 모터 8핀 선언
int switch_pin = 19; // 스위치핀 19 선언

void setup(){
pinMode(r_motor, OUTPUT); // 모터를 출력
pinMode(switch_pin, INPUT); // 스위치핀 입력
}
void loop(){
int check = digitalRead(switch_pin); // 스위치핀을 Read해서 check로 넣음
if(check==LOW){ // check가 LOW일때
digitalWrite(r_motor, HIGH); // 모터는 HIGH(정방향) & 전류를 보냄
analogWrite(10,100); // 속도
delay(300); // 0.3s
digitalWrite(r_motor, LOW); // 모터가 LOW(역방향, 반대방향)
analogWrite(10,100); // 속도
delay(300);
}
else{ // if 조건문이 아니면 실행
analogWrite(10,0); // 속도
delay(300);
}
}

4. Sound
– 피에조(pinNumber : 4)
– 주파수 : hz
– 아날로그 : ux
– 디지털 : ns

void setup(){
pinMode(4, OUTPUT); // 피에조 4번핀 출력 선언
}
void loop(){
digitalWrite(4, HIGH); // 5V일때 출력
delayMicroseconds(2273); // us delay
digitalWrite(4, LOW); // 0V일때 출력
delayMicroseconds(2273);
tone(4,440,10); // 소리크기
}

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중