본문 바로가기

아두이노 IDE/핵심프로그래밍 언어

14. 시간 핵심 아두이노 프로그래밍 언어 14 - 시간 1. millis() 2. delay() 1. millis() 밀리초, 즉 1/1000초 단위의 시간 값을 사용할 때 사용합니다. millis()의 값은 아두이노 보드가 켜질 때 자동으로 시작합니다. 약 50일이 지나면 millis()의 값은 0에서부터 다시 시작합니다. millis()의 값을 사용할 때에는 unsinged long 변수를 써야합니다. 다른 변수나 long 변수만을 사용하면 에러가 발생합니다. unsigned long Sec = 0; // Sec에 0을 저장시킵니다. void setup() { Serial.begin(9600); // 시리얼 통신을 시작합니다. } void loop() { if(millis() - Sec > 999) { // 만.. 더보기
13. switch case 조건문 핵심 아두이노 프로그래밍 언어 13 - switch case 조건문 if 조건문에 이어 switch case 조건문에 대해 알아보겠습니다 switch case 조건문은 하나의 변수를 다양한 값으로 비교 한 후, 비교 결과에 따라 원하는 작업을 실행하도록 만드는 명령어입니다. 먼저 사용 방법을 보겠습니다. switch (var) { // 비교대상을 var로 합니다. case 1: // 만약 var의 값이 1이면, 실행명령 1 // 실행명령 1을 실행합니다. break; // 이 조건문에서 벗어납니다. case 2: // 만약 var의 값이 2이면, 실행명령 2 // 실행명령 2를 실행합니다. break; // 이 조건문에서 벗어납니다. default: // 만약 var의 값이 1이나 2가 아니면, 실행명령.. 더보기
12. if 조건문 핵심 아두이노 프로그래밍 12 - if 조건문 1. if 2. else 3. else if 어떠한 조건에 따라 원하는 작업을 실행하도록 만들기 위해서는 조건문을 사용해야합니다. 아두이노 프로그래밍에서 조건문은 크게 2 가지로 나뉩니다. 하나는 if 조건문이고, 다른 하나는 switch case 조건문입니다. if 조건문은 조건을 판단해야할 보통의 경우에 많이 쓰이고, switch case 조건문은 여러 개의 조건들을 간편하게 판단할 때 쓰입니다. 상황에 따라 다르지만, 일단 조건문의 기본이 되는 if 조건문에 대해 먼저 알아보겠습니다. 1. if if는 두 개의 값을 비교한 다음, 비교한 결과가 참이면 if 조건문 안에 있는 작업을 실행하게하고, 거짓이면 실행하지 않게 합니다. 먼저 if 조건문의 사용 .. 더보기
11. 복합 연산 기호 핵심 아두이노 프로그래밍 언어 11 - 복합 연산 기호 1. ++ 2. -- 3. += 4. -= 5. *= 6. /= 7. %= 복합 연산 기호는 계산식을 더 간편하고 쉽게 하기 위해 만들어졌습니다. 1. ++ 변수 값을 1씩 더할 때 사용됩니다. 다만 변수명이 어디에 오느냐에 따라 변수의 값과 계산 결과가 달라집니다. 변수명이 앞에 올 경우 a++의 경우, 계산 결과는 a의 원래 값을, a는 1만큼 증가된 값을 저장합니다. a 값을 먼저 결과로 내보내고, 그 후에 a에 1을 더하기 때문입니다. b = a++; 을 쉽게 풀어보면 b = a; // 먼저 a 값을 b에 저장한 다음, a = a + 1; // a에 1을 더해서 저장합니다. 이 됩니다. 변수명이 뒤에 올 경우 ++a는 계산 결과와 a의 값이 .. 더보기
10. 부울 연산 기호 핵심 아두이노 프로그래밍 언어 10 - 부울 연산 기호 1. && 2. || 3. ! 부울 연산 기호는 비교 연산 기호로 얻은 참 또는 거짓의 결과들을 서로 비교하고 분석해서 판단할 수 있도록 도와주는 기호로, 알아두면 편리하게 사용할 수 있습니다. 1. && 비교 연산 기호를 통해 비교된 결과가 모두 참일 경우 참, 하나라도 거짓이 있을 경우 거짓으로 판단합니다. if ( a=1 && b=1) { 실행명령 } 만약 a가 1이고, b가 1이면 두 조건 모두 참이기 때문에 실행명령을 실행합니다. a가 1이 아니거나, b가 1가 아니거나, 둘 다 1이 아니면, 거짓이 되므로 실행명령을 실행하지 않습니다. 2. || 비교 연산 기호를 통해 비교된 결과 중 하나라도 참일 경우 참, 모두 거짓일 경우 거짓으로 판.. 더보기
9. 비교 연산 기호 핵심 아두이노 프로그래밍 언어 9 - 비교 연산 기호 1. == 2. != 3. 5. = 비교 연산 기호는 두 개의 값을 비교해서 참 또는 거짓을 판단해야할 때 사용됩니다. 두 개의 값을 비교해서 비교한 값이 맞으면 참, 맞지 않으면 거짓이 됩니다. 1. == 두 개의 값이 서로 같은지 비교해서 같으면 참이 됩니다. 비교를 할 때에는 반드시 ==을 써야 합니다. =은 오른쪽의 값을 왼쪽에 저장하는 기능하기 때문에 비교를 할 때는 사용해서는 안 됩니다. 비교가 필요한 상황에서 =을 쓰면 비교 결과는 무조건 참이 되기 때문에 비교의 의미가 없어집니다. 예) a == b // a와 b가 서로 같은지 비교해서 a와 b가 같으면 참, 다르면 거짓이 됩니다. 2. != 두 개의 값이 서로 다른지 비교해서 다르면 참.. 더보기
8. 계산 연산 기호 핵심 아두이노 프로그래밍 언어 8 - 계산 연산 기호 1. = 2. + 3. - 4. * 5. / 6. % 계산 연산 기호는 아두이노 프로그래밍에서 덧셈이나 뺄셈 등의 계산을 할 때 사용하는 연산 기호입니다. 1. = 처음 프로그래밍을 할 때 가장 헷갈리는 연산 기호입니다. 아두이로 프로그래밍에서 = 기호는 단순히 같다는 의미가 아닙니다. 아주 쉽게 이해한다면, =을 기준으로 오른쪽에 있는 것을 왼쪽에 저장할 때 사용하는 기호라고 보면 되겠습니다. 예를 보겠습니다. int val = 0; // val 라는 변수명에 0을 저장합니다. val = analogRead(0); // val에 아날로그 0번 핀의 입력 값을 저장합니다. 두 개의 값을 동일한 것인지 비교하는 연산 기호는 ==입니다. 따라서 양 쪽 값.. 더보기
7. 기본 데이터형 변수 핵심 아두이노 프로그래밍 언어 7. 기본 데이터형 변수 1. 변수란 2. 변수 사용 범위 3. 기본 유형 살펴보기 int unsigned int long unsigned long float boolean byte char 1. 변수란 변수는 프로그래밍의 편의를 위해 숫자 값을 저장하고 이름을 붙이기 위해 만들어졌습니다. 쉽게 이해가 되도록 예제부터 먼저 보겠습니다. int LED = 9; // LED라는 단어에 9라는 숫자를 저장합니다. void setup() { pinMode(LED, OUTPUT); // LED(9번핀)을 출력으로 설정합니다. } void loop() { digitalWrite(LED, HIGH); // LED(9번핀)에 5V의 전기를 출력합니다. delay(1000); // 1초 동.. 더보기
6. 상수-2 핵심 아두이노 프로그래밍 언어 6 – 상수 2 1. HIGH & LOW 2. true & false 3. LED_BUILTIN 1. HIGH & LOW HIGH 사용하고자하는 핀의 설정이 입력 모드냐 출력 모드냐에 따라 HIGH의 의미가 달라집니다. pinMode()를 OUTPUT(출력)으로 설정한 후에 digitalWrite()에서 HIGH를 사용하면, 설정한 핀에 5V의 전기가 출력됩니다. 3.3V 보드에서 사용하면 3.3V가 출력되지요. 반면 pinMode()를 INPUT(입력)으로 설정한 후에 해당 핀을 digitalRead()로 읽어 들이면, 입력되는 전압이 3.0V 보다 높을 때 입력 신호를 HIGH로 인식합니다. 다시 말하면 입력으로 설정된 핀에 3.0V 이상의 전압의 전기가 들어올 때에만 .. 더보기
5. 상수 - 1 핵심 아두이노 프로그래밍 언어 5 – 상수 1 1. INPUT 2. INPUT_PULLUP 3. OUTPUT 아두이노 IDE는 개발자가 아두이노 프로그래밍을 편리하게 할 수 있도록 몇몇 언어들을 활용 방법에 따라 미리 정해 놓았습니다. 이미 정해진 고정된 언어이기 때문에 이 언어들을 상수(constants)라고 부릅니다. 이번에는 상수 가운데 아두이노 핀의 입출력에 관련된 것들을 한 번 훝어보겠습니다. 1. INPUT 디지털 핀을 입력으로 설정할 때 사용합니다. 사용법을 한 번 보겠습니다. pinMode(핀번호, INPUT) 핀 번호에는 디지털 입력을 원하는 번호를 적으면 됩니다. 사실 아두이노 보드의 핀들은 핀모드를 입력으로 따로 설정하지 않아도 입력 모드로 초기화 돼 있기 때문에 굳이 INPUT을 쓸.. 더보기