기초 11

아두이노 소프트웨어-xi. 함수 -시간함수

아두이노는 여러가지의 함수를 가지고 있는데요, 오늘은 시간 함수에 대해서 알아보도록 하겠습니다. 이번 포스트에서 소개할 시간 함수는 프로그램이 구동되고 '얼마만큼의 시간이 지났는 가'를 측정하는 -경과 시간 체크 함수-와, 프로그램을 지정한 시간만큼 멈추어 주는 -동작 시간 지연 함수-에 대해서 알아보겠습니다. 경과시간 체크 함수 경과시간 체크 함수에는 두 가지가 있습니다. millis micros millis 함수 unsigned long millis(void) 프로그램이 시작한 후의 경과 시간을 밀리초(milli-seconds, 1/1000초) 단위로 반환하는 간단한 함수입니다. 약 50의 시간이 경과하면 overflow로 인해 다시 0이됩니다. 경과시간은 4바이트 크기의 unsigned long 형..

아두이노 소프트웨어-ix. 객체지향

안녕하십니까 제타지니입니다. 오늘은 객체지향에 대해서 다루어 보고자 합니다. 언어는 함수 중심의 절차적인 프로그래밍 언어입니다. C++은 객체 중심의 객체지향 프로그래밍 언어입니다. what the.... 객체 지향...? 이것은 무슨 소리....? 도데체 객체지향이라 함은 무엇일까요? 객체 지향 - object oriented. 사전에서의 뜻은 다음과 같습니다. 객체(客體) - 작용의 대상이 되는 쪽, (손님 객 & 몸 체 ==> 객관적으로 존재하는 실체) 지향(指向) - 어떤 목표로 뜻이 쏠리어 향함. 또는 그 방향이나 그쪽으로 쏠리는 의지. (한자 뜻: 손가락이 가리키는 방향) 많은 분들이 여러가지 방법으로 객체 지향이라는 단어를 설명하고 있습니다만, 역시나 객체 지향이라는 개념을 이해하는 것은 쉽..

아두이노 소프트웨어-viii. C언어 함수, 포인터

안녕하세요 제타지니입니다. 이번 포스트에서는 C언어의 함수와 포인터에 대해서 다루어 보겠습니다. C언어는 '함수' 중심의 언어입니다. 전에도 말씀드렸다 시피, 아두이노 스케치의 경우 C스타일로 프로그램을 작성한다고 했지요. 아두이노 스케치의 경우 setup과 loop 함수 두 부분으로 이루어져 있다고 하였는데요, 일반적으로 사용자 정의 함수를 만들고(선언, 정의), setup 함수나 loop함수 내에서 사용자 정의 함수를 호출합니다. 자자, 그럼 아두이노에서 사용하는 함수는 우리가 일반 '수학'에서 말하는 함수와 다른 것일까요? 아니요. 같은 의미에서의 함수입니다. 수학에서는 입력 값으로 '정의역'이라는 단어를 쓰지요. 출력 값에 대해서는 '공역'이라고 하지요? C 언어에서는 단순히 정의역 = 입력,. ..

아두이노 소프트웨어-vii. 배열

안녕하세요 제타지니입니다. 오늘은 아두이노의 배열 함수에 대해서 다루어 보겠습니다. ARRAY! 이전의 포스트에서 아두이노 자료형에 관하여 올린 적이 있습니다. double, float, int, char.. 등등을 올렸습니다만. 실상 저렇게 자료형을 선언한다고 한들, 그 자료형을 사용하면 하나의 값만을 저장할 수 있어서, 여러개의 데이터를 한번에 다루기가 불편합니다. 그래서, 동일한 데이터형의 값을 여러 개 저장할 수 있는 '배열'을 사용합니다. 다만 기억하셔야 할 것은 ​이렇게 변수의 선언은 메모리 내에 변수의 값을 저장할 메모리 공간을 확보하는 일​이며 ​배열은 메모리의 연속된 번지에 할당된다는 점​입니다. 맨 처음 자료형에 대해서 설명을 드렸을 것입니다. char 형을 예로 들어 볼게요. char..

아두이노 소프트웨어-vi. 실행 흐름 제어

제타지니 두둥등장! 오늘의 포스트는 실햄 흐름 제어! 반복문과 조건문입니다. 아두이노 역시 C/C++처럼 위에서 아래로 순차적으로 실행됩니다 . 그런데, 이 실행 흐름을 제어할 수 있는 것이 바로 ​조건문​과 ​제어문 입니다. 조건문은 주어진 조건을 만족시키는 경우에만 특정 블록을 실행하도록 하기 위해 사용되며, if - else문과 switch-case 문이 있습니다. 반복문은 특정 블록의 문장을 지정한 횟수만큼 또는 주어진 조건을 만족하는 동안 실행하기 위해 사용되며, while문, do-while문, for문이 있습니다. 조건문 1. if - else if 안에 주어진 조건을 만족시키는 가에 따라서, 실행하는 코드의 순서가 달라집니다.. ex) if(조건문){ //문장1 } else{ //문장2 }..

아두이노 소프트웨어-v.연산자

제타지니 등장! 오늘은 연산자에 대해서 다루어보겠습니다. 아두이노 프로그래밍에서는 C/C++에서 사용하는 연산자들을 모두 사용할 수 있습니다. 분류는 산술 연산자, 비교 연산자, 논리 연산자, 비트 연산자, 복합 연산자 등으로 나눌 수 있습니다. 산술 연산자(Arithmetic Operators) C/C++에서 정수 및 실수형 값에 표시에 대해서 위와 같은 산술 연산자를 제공합니다. '=' 는 대입입니다. 예제에서 볼 수 있듯, x = 2; 라는 코드는, x라는 변수에 2라는 값을 대입하라. 라는 의미이죠. 밑에 부터는 y값이 8 이라고 가정하겠습니다. '+' 는 더하기 입니다. 예제 x = y + 2; 라는 의미는, x라는 변수에 y +2 라는 값을 대입하라. 이니까, y+2 = 10이므로, x = 1..

아두이노 소프트웨어-iv.변수

안녕하세요 제타지니입니다. 인생에는 참 변수가 많죠 오늘은 아두이노의 변수형에 대해서 배워보고자 합니다. 변수에 대해서 알아봅시다. 애초에 변수란 변할 수 있는 수를 뜻하고, 상수란 변할 수 없이 정해진 수를 말하지요? 애초에 C/C++에서 중괄호 내에 위치하는 코드는 하나의 블록을 형성합니다. 이 하나의 블록은 여러 개의 하위 블록을 포함할 수 있으므로, 블록들은 '계층 구조'를 이루고 있습니다. 블록이 중첩된 경우에는 유효 범위가 가장 좁은 변수가 우선하며, 이 우선순위는 동일한 이름의 변수가 여러 개 존재할 때 유효한 변수를 결정하기 위해 사용됩니다. 하지만, 하나의 블록 내에서 동일한 이름의 변수가 두개 이상 존재할 수 없다는 점은 알아 두시길! 여하튼, 변수는 두 가지로 나뉘는데, 지역변수와 전..

아두이노 소프트웨어-iii.변수의 자료형(데이터형)

안녕하세요 제타지니이고요 오늘은 변수의 자료형과 데이터형으로 다루어보겠습니다 ㅎㅎ 데이터형 함수는 메모리에 저장되어 있는 값을 해석하는 기준을 제시하기 위하여 필요합니다. 예를 들어, 65라는 값이 있다고 하면.. -정수라고 해석한다면 65라는 값이 그대로 나오겠지만, -문자라고 해석하면, ASCII 코드 값인 'A'가 나오겠지요 즉, 동일한 값이 있다고 하더라도, 해석하는 기준에 따라 의미가 달라지겠지요 아두이노 프로그램은 C/C++에서 사용되는 데이터형과 거의 동일한 데이터형을 사용합니다. 데이터형의 함수에는 다음과 같은 것들이 있습니다. 하나하나 설명을 해보겠습니다. boolean -true 혹은 false 의 논리값을 저장하기 사용함 -논리값 저장은 1비트로 가능, 하지만 메모리의 최소 처리 단위..

아두이노 소프트웨어-ii. code - 출력, main함수

제타지니의 등장입니다. 오늘은 아두이노 코드의 기초에 대해서 배워보겠습니다. 우리가 프로그래밍 언어로 작성하는 것들을 '코드'라고 하지요? 아두이노에서는 이 코드를 'C/C++ 언어'로 작성합니다. 는 C언어 스타일로 작성하는 반면, 는 C++언어 스타일의 클래스로 배포됩니다. 따라서 이번 포스트에서는 C/C++ 언어의 기본적인 형태부터 차근차근 살펴 보지요. 출력 함수 ​ ​ 위의 그림에서 볼 수 있듯이 아두이노 프로그램에는 시리얼 모니터가 같이 있는 것을 볼 수 있습니다. 여기 시리얼 모니터 버튼을 딱 클릭하면~! 요론 창이 뜹니다! 이 시리얼 모니터 창은 아두이노와 컴퓨터 사이에 시리얼 통신으로 주고 받는 데이터를 확인할 수 있도록 해줍니다! 그러니까 실행 결과를 모니터링 할 수 있지요! 그렇다면,..

아두이노 소프트웨어-i.아두이노 스케치 시작하기

제타지니의 또다른 포스트는 아두이노 스케치입니다. 이제, 아두이노 자작도 어느정도 완성되어 가는 듯 하니, 아두이노 소프트웨어에 대해서 알아보도록 하겠습니다. 아두이노 소프트웨어 (Arduino Software, IDE, Integrated Development Environment 통합 개발 환경) 아두이노 소프트웨어는 다음의 페이지에서 받을 수 있습니다. ↓↓↓↓↓ http://www.arduino.cc Arduino - Home www.arduino.cc 실상, 프로그램을 깔고, 실행시키는 것은 그다지 어렵지 않습니다. 소프트웨어를 다룰 수 있는 것이 문제입니다. 따라서, 이번 '소프트웨어' 포스트에서 다룰 것은 여러 함수를 다루어 보려고 합니다. 물론, 'c언어'를 배우셨던 분들은 이해하기 매우 ..

728x90