[아두이노] 피에조부저 제어

IOT/아두이노|2019. 2. 4. 14:54

[아두이노] 피에조부저 제어



1. 회로도 구성


  • 준비물 : 피에조부조 1개, 아두이노우노
  • 내용 : 12번 핀을 주파수 출력핀으로 사용하여 멜로디를 만들어 보자.

회로 구성은 보는것과 같이 간단하다.



2. 코딩


  • 출처 : https://www.arduino.cc/en/Tutorial/toneMelody
  • 함수 : tone(핀번호, 주파수, 출력시간), noTone(핀번호), delay(시간값)
  • 내용 : 주파수 값은 해당 사이트에서 제공되는 값으로 도레미파솔라시도 출력해보자.

#define NOTE_C5  523   //도 (5옥타브 음계 데이터)
#define NOTE_D5  587   //레
#define NOTE_E5  659   //미
#define NOTE_F5  698   //파
#define NOTE_G5  784   //솔
#define NOTE_A5  880   //라
#define NOTE_B5  988   //시
#define NOTE_C6  1047 //도

int tonepin = 12;
int melody[] = { NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_G5, NOTE_A5, NOTE_B5, NOTE_C6 }; //도레미파솔라시도
int noteDurations = 1000 / 4; //톤길이(4분음표)

void setup() {
  for (int i = 0; i < 8; i++) {
    tone(tonepin, melody[i], noteDurations);
    int pauseBetweenNotes = noteDurations * 1.30;
    delay(pauseBetweenNotes);
    noTone(tonepin);
  }
}
void loop() {
}

첫번째 :
#define은 매크로 변수로 NOTE_C5란 변수명은 523이란 숫자를 지칭한다. 매크로상수라고만 이해하시면 된다. 523의 별명으로 NOTE_C5라고 불리운다라고 생각하면 될듯요. 각 주파수 값을 숫자로 이게 도인지 솔일지 모르잖아요. 그걸 별명으로 이름을 지어주는 거라고 생각하시면 됩니다.

두번째 :
setup()함수에 로직을 짠 이유는 loop()함수에다가 코딩해도 됩니다. 그런데 멜로디를 무한 반복해서 듣는건 좀 그래서 처음 한번만 수행하는 setup()함수에 1번만 멜로디를 듣도로 실험하기 위해서 setup()에 코딩했습니다. setup()에 코딩해야하는건 아니고 그냥 1회만 멜로디 출력시키기 위해서 이쪽에다 코딩했을뿐 의미가 있는건 아닙니다.

세번째 :
tone()과 notone()은 확실히 음과 음사이를 끊어주기 위한 것으로 하나의 음계의 소리가 귀로 들을때 들리는 음의 구별하기 위해서 처음과 끝을 나타내는 위치로 생각하시면 됩니다.
그리고 그 사이 delay() 함수의 길이가 1.3배함으로 음과 음의소리가 음과 음의길이사이의 딜레이가 발생시키게 합니다. 이걸 구별해서 이해하실려면 1.3대신에 더 큰 숫자를 넣고 돌려보세요. 음을 실제로 들어보면 왜 delay()함수를 넣은지 이해가 되실꺼에요.

melody[] 변수는 배열변수로 하나의 이름으로 여러개의 저장소를 갖는데 int melody[8]로 선언되면 8개의 그릇을 갖게 됩니다. 각 그릇은 다른 값을 저장이 가능합니다. 배열변수는 안에 숫자로 위치를 나타냅니다.
가령 melody[0]=523 , melody[1]=587, .... 이렇게 각 그릇해 주파수 값을 저장되어 있는 것이죠.

for문으로 0~7까지 루프를 돌잖아요.

tone(tonepin, melody[0], noteDurations);

이것은

tone(12, 523, 1000/4);

되는 것이죠.

하나의 음계의 동작은 도라는 음계를 4분음표이고 그걸 피에조부조로 들리게 한다면 아래와 같이 수행되게 됩니다.

tone(핀번호, 523, 1000/4); //도 4분음표
int pauseBetweenNotes = (1000/4) * 1.30; //4분음표 딜레이시간
delay(pauseBetweenNotes);
noTone(핀번호); 

여기서 도레미파솔라시도 총 8번 반복 수행해서 각 melody[i]값이 음계가 출력되는 것이죠.

3. 결과


마무리


오늘은 tone(), noTone()의 함수에 대해 배웠습니다. 이걸 통해서 피에조부저를 통해 멜로디를 만들었습니다.
그러면 한번 곰세마리를 악보를 보고 멜로디를 만들어 보세요.

참고할것은 여기서, 도레미파솔라시도는 4분음표로 고정해서 멜로디를 만들었습니다.
하지만 모든 음악이 4분음표만 있는게 아니죠.

힌트는,
1000/4은 4분음표면 1000/8은 8분음표겠죠. 1000/2은 2분음표이고요.
도레미파솔라시도의 4분음표일때
int noteDurations[]={4,4,4,4,4,4,4,4}; 이렇게 하면 음표 배열을 만들어지겠죠.
Durations=1000/noteDurations[i]으로 하면 해당 음계에 음표를 만들 수 있겠죠.

한번 곰세마리를 만들어 보세요.
내일 곰세마리 멜로디를 올리도 할께요.


댓글()

[아두이노] 스위치 버턴 제어

IOT/아두이노|2019. 2. 3. 10:51


[아두이노] 스위치 버턴 제어




스위치를 누르면 스위치 내부의 선이 연결되어 전류가 공급되고 LED가 켜지게 된다. 이걸 아두이노에서 제어해보도록 하자.

기본 동작



1. 회로도 구성 (풀업, 풀다운)


  • 준비물 : led 1개, 저항 220옴 1개, 10k옴 1개, 스위치 1개, 뻥판, 아두이노우노
  • 내용 : 스위치를 누르면 led의 불이 들어오게 한다.

풀업풀다운
회로도



풀업과 풀다운의 상태 값을 알아야 한다. 내부적인 전류 흐름을 이해해야 하지만 스위치 배치가 풀업과 풀다운으로 상태로만 처음 구별만 하자.
풀업은 전류가 공급되는데 스위치 버턴을 누르지 않은 상태면 7번으로 입력값이 1이 된다. 하지만 스위치를 누르면 전류가 gnd로 낮은 곳으로 흐르기 때문에 7번핀은 입력값이 0이 된다. 풀다운 반대로 스위치를 누르지 않은 상태에서는 전류가 흐르지 않기 때문에 7번핀의 입력값은 0이 되고 스위치를 누르면 전류가 흐르기 때문에 1의 값을 갖게 된다.

그럼 코딩은 살펴보도록 하자.

2. 코딩


void setup()
{
  pinMode(13, OUTPUT);
  pinMode(7, INPUT);
}

void loop()
{
  digitalWrite(13, digitalRead(7));  
}

첫번째 :
led를 켜기 위해서 pinMode()함수로 13번핀을 출력모드로 우선 선언하였다. 그리고 스위치 버턴을 눌렀을때 그 값을 입력을 받기 위해서 7번핀을 입력모드로 선언하였다. OUTPUT 전류를 밖으로 출력하는 것이고 INPUT은 전류를 안으로 입력받는 것이다. OUTPUT/INPUT만 구분하여 이해하면 된다.

두번째 :
led 켜기 위해서 digitalWrite(출력핀, HIGH/LOW)로 불이 들어오게 한다. 이건 지난 시간에 반복해서 실험한 함수이다.
그러면 입력받는것은 digitalRead(7)함수이다. 출력은 Wirte이고 입력은 Read란 단어만 숙지하면 된다.
digitalRead(7)은 7번핀을 전기신호를 입력받겠다는 의미로 이해하시면된다. 그리고 7핀에 들어온 값이 반환값으로 나오게 된다.

쉽게 말해서 임의의 stat변수 그릇이 있다면

state = digitalRead(7);

이러면 7번핀의 입력값이 1 or 0 값중 하나를 반환한다. 가령 전류가 흘러 입력값이 1이 된다면 이 함수를 통해 1이 반환되어서 state=1 이 된다.

풀업 회로도라면
초기 상태는 스위치가 누르기 전 상태는 digitalRead(7)은 1이 되고 digitalWrite(13,1)로 출력되어 led가 켜져있는 상태가 된다.누르면 0이 되어 led가 꺼진다.

풀다운 회로도라면
초기 상태는 스위치가 누르기 전 상태는 digitalRead(7)은 0이 되고 digitalWrite(13,0)로 출력되어 led가 꺼져있는 상태가 된다.누르면 1이 되어 led가 켜진다.

둘의 원리만 이해하면 된다.

3. 저항없이 풀업스위치 회로도 구성



저항이 없을때 INPUT_PULLUP모드로 내부 풀업 저항을 사용하기 위한 배치도 이다.

4. 저항없이 풀업스위치의 코딩

void setup()
{
  pinMode(13, OUTPUT);
  pinMode(7, INPUT_PULLUP);
}

void loop()
{
  digitalWrite(13, digitalRead(7));  
}

PinMode에서 OUTPUT/INPUT 모드 외에 INPUT_PULLUP모드가 있다. 이건 내부 풀업 저항을 사용하겠다는 건데 그냥 저항없이 입력모드로 사용하겠다고 간단히 이해만 하자.

모드만 INPUT_PULLUP만 이해 하면 된다.

5. 고민해야할 것

스위치를 누르면 불이 들어와야 풀업모드를 사용하면 위 코딩에서는 불이 먼저 들어오는게 불편함을 느껴야 합니다.
풀다운으로 해야하는게 아닌가라고요. 사실 풀업을 사용하는 이유는 아두이노 칩 자체가 전류가 공급되면 각 핀에서 소량의 전류가 흐르게 됩니다. 쉽게 말해서 노이즈로 생각하면 될꺼에요. 풀업모드가 이 문제점에 좋다고 하네요. 그래서 스위치 관련 아두이노 소스들을 찾아보시면 거의 다 풀업모드를 사용하더군요.

그런데 중요한것은 스위치를 누르면 불이 들어와야지 하겠죠. 위 코딩은 원리를 이해하기 위한 목적으로 코드를 최소한 한것이고요. 코드를 변경해야겠죠. 즉, 7번의 값으로 led 불이 들어오는 상태를 결정하는 건 동일하지만 누를때 우리가 생각하는 개념으로 불이 들어오게 하기 위해서 하나의 C문법을 배우도록 하죠.

C문법

if(조건문){
  처리문1;
}
else{
  처리문2;
}

예)

if(k>10){
     printf("k가 10보다 크다!\n");
}
else {
     printf("k가 10보다 크다!\n");
}

k가 10보다 크면 처리문1이 수행되고 k가 10보다 작으면 처리문2가 수행됩니다. 참일때 if문의 처리문1이 거짓일때 else의 처리문2가 수행됩니다. 한줄의 코딩일때는 괄호 생략이 가능함.

f(k>10) printf("k가 10보다 크다!\n");
else printf("k가 10보다 크다!\n");

그냥 else 문을 생략가능함

if(k>10) printf("k가 10보다 크다!\n");

k가 10보다 크면 printf문을 수행하고 크지 않으면 if문을 빠져 나온다.

다중 if문은

if(조건1) 처리문1;
elseif(조건2) 처리문2;
else 처리문3;

첫번째 조건1이 참이면 처리문1을 수행하고 끝나지만 조건1이 거짓이면 조건2로 넘어가서 참이면 처리문2를 수행하고 끝나고 거짓이면 else 처리문3문을 수행하고 끝난다. 한줄일때는 괄호를 생략했지만 처리문이 여러 명령문일때는 괄호로 묶어야 한다. 이점만 주의하면 if문을 사용하는데 어려움이 없다.

코딩

int state = digitalRead(7);
if(state ==1) digitalWrite(13, LOW);  
else digitalWrite(13, LOW);  

7번 핀의 초기값이 스위치 누르기 전 값은 1이기 때문에 state 그릇에 1의 값이 저장된다. 조건문에서 스위치를 누르기 전이니깐 led은 LOW가 되어야겠죠. 스위치를 누르면 7번핀은 0이 되고 state = 0으로 조건문은 거짓으로 led은 HIGH가 되면 되겠죠.

원리를 이해하시면 코딩이 바로 안되면 글로써 문장을 만들어보세요.

  1. 스위치를 누르지 않은 상태가 1이니깐 우선 그 값을 변수로 정해서 담아둬야지
  2. state변수가 초기 1의 값이니깐 조건문을 써서 led 불을 꺼진 상태로 둬야지 state==1일때 led 꺼져있어야겠지.
  3. state==0이면 스위치가 눌러지니깐 led 켜야겠지

이걸 문장을 코드로 바꾸시면 되겠죠. 2, 3번은 꼭 if(state==1)을 안해도 됩니다. if(state==0)을 해도 되겠죠. 그러면 명령어 처리문은 반대가 되겠죠.

코딩은 표현하고 싶은데로 자연스럽게 표현 하시면 됩니다.

6. 결과



마무리


간단히 INPUT_PULLUP 모드를 이용한 스위치 버턴 제어를 해 보았습니다.
사실 Led 관련 응용 예제를 오늘 거론하고 싶었지만 약간 프로그램코딩에 치우치는 경향도 있고 둘이상의 부품의 조합을 하는 것들이라서 나중에 거론할까 합니다.
우선은 하나하나의 부품 제어를 통해 부품을 이해하는게 더 중요하다고 생각되어 당분간 부품 제어에 초점을 맞추겠스니다.


'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 곰세마리멜로디(피에조부저)  (0) 2019.02.05
[아두이노] 피에조부저 제어  (0) 2019.02.04
[아두이노] 3색 LED 제어  (0) 2019.02.02
[아두이노] 코딩 구조  (0) 2019.01.31
[아두이노] LED 제어  (0) 2019.01.30

댓글()

Fritzing 회로도 디자인

유용한팁|2019. 2. 3. 10:47

Fritzing 회로도 디자인



오늘은 회로도를 그리는 사이트를 하나 소개하도록 하겠습니다. 아두이노를 어느정도 공부하셨던 분이라면 이 사이트를 아마도 알고 계시거나 사용하고 있으시겠죠. 아두이노를 배운지 얼마 안되신 분들을 위해서 소개합니다. 사실 다음 실험에 사용될 부품이 가상시뮬레이터에서는 제공되지 않는 부품이라서 어쩔 수 없이 Fritzing으로 디자인 하게 되었네요. 그래서 바로 사용하는 것보다 이런 소프트웨어가 있다는 것을 미리 설명하는게 좋을 것 같아서 포스팅을 하게 되었습니다. 그러면 Fritzing에 대해 살펴보도록 하죠.

1. Fritzing 소프트웨어 다운로드


상단에 공식홈페이지를 링크를 걸어 놓았습니다. 거기로 들어가시면 아래와 같은 홈페이지가 열립니다.

여기서 다운로드를 누르시면 다운로드 페이지로 넘어 갑니다.

여기서, 'No Donation' 클릭하시고 다운로드를 클릭하시면 됩니다. 이 창은 무료로 소프트웨어를 제공하는데 비영리사이트라서 후원이 필요한 부분인데 후원을 하실분들은 금액을 누르고 다운로드 하시면 되고 그렇지 않는 분들은 'No Donation'를 눌러서 받으셔도 됩니다.

참고로 설치 소프트웨어가 아니라 무설치 실행 소프트웨어입니다. 소프트웨어는 압축형태로 제공되며 압축을 플고 바로 실행하시면 됩니다.

2. Fritzing 실행


실행 첫 페이지는 Welcom항목 페이지가 열려 있는데 브레드보드로 눌러주시면 위와 같은 창으로 보이게 됩니다. 가상시뮬레이터랑 사용법은 동일합니다. 사용할 부품을 드래그를 통해 이뤄집니다. 가상시뮬레이터에서 제공되지 않는 다양한 부품들을 제공하기 때문에 디자인할 때 꽤 유용한 프로그램입니다.

아두이노 쇼핑몰 같은 곳에서 부품들을 판매할 때 다자인 그림을 많이 활용 사용합니다. 그만큼 유용한 프로그램이라는 소리인 거죠.

사용법은 가상시뮬레이터에서 부품을 드래그 하고 배치하는 것은 동일하지만 차이점은 선을 연결할 때 좀 다릅니다. 가상시뮬레이터는 꺽이는 지점에서 한번 쉬고 다시 그 지점에서 다시 이동하는데 Fritzing 은 시작점과 끝나는 점을 먼저 연결한 뒤에 꺽을 지점을 마우스로 클릭해서 드래그하면 선이 꺽이게 됩니다.

아래 그림처럼 꺽을 지점에서 클릭한 상태로 아래로 마우스를 드래그 하면 클릭한 위치의 선이 꺽이게 됩니다

처음에는 가상시뮬레이터의 선 연결과 Fritzing의 선연결하고 살짝 혼동이 올 수 있는데 그렇게 어렵지 않습니다. 몇번 연습하시다보면 자연스럽게 사용할 수 있을 꺼에요.

3. Fritzing을 외부 부품 가져오기


Fritzing은 설치하면 모든 부품을 제공하지는 않습니다. 많은 부품을 제공하기는 하지만 그렇다고 해서 모든 부품을 다운받은 프로그램 안에는 없습니다. 기본 부품들만 제공 되니깐요.

여기서, 없는 부품은 디자인을 포기해야 할까요. 그렇지 않습니다. 많은 오프라인 Fritzing 족들이 github에 공개하고 있습니다. 우리는 검색을 통해서 해당 부품이 있는 github 주소로 찾아가서 다운로드를 받고 그걸 여러분들이 사용하는 Fritzing에 import 시키면 됩니다.

1) 부품 검색법

대충 어떤 느낌으로 검색하면 되겠죠.



2) 부품 가져오기

아래 그림에서 CORE Parts에 세모 모양의 클릭이 있을 꺼에요 그걸 클릭하시면 "Import ..." 있는데 다운로드 받은 것을 Import 폴더로 옮겨서 여기서 여시면 부품은 부품 목록이 있는 곳으로 옮겨지게 됩니다. 아니면 부품 목록에서 마우스 커서를 위치하고 마우스 오른쪽 버턴을 누르면 창이 나타납니다 클릭을 하시든 마우스 오른쪽 버턴을 누르든 편하신 방식을 선택하시면 됩니다.

3) 부품 확인

정상적으로 부품을 가져왔네요. 외부 부품을 가져온게 MINE항목의 My Parts에 해당조이스틱 부품이 등록되어 있습니다.

이 부품을 배치하고 선을 연결하면 회로도를 완성 할 수 있겠죠.

마무리


Fritzing 소프트웨어에 대해서 간단히 살펴 보았습니다. 다음 포스트 내용이 조이스틱이라서 가상 시뮬레이터에서 제공되지 않는 부품이라 그림으로 표현하기 참 애매해서 Fritzing을 사용하였습니다. 바로 쓰기에 앞서 간단히 Fritzing을 소개하는게 좋을 것 같아서 오늘의 포스팅 주제로 결정 했네요.

한번 다운로드 받으셔서 간단히 사용을 해보셨으면 합니다.

은근 회로도 표현 디자인이 재미가 있습니다. 그리고 PCB모드도 있고 코드창도 있어 나중에 아두이노로 어떤 것을 만들었는데 한번에 디자인과 코드를 해놓고 파일 형태로 보관해 놓으시면 아주 유용하겠죠. 필요할 때 꺼내 쓸 수 있으니깐요. 디자인도 없는 부품은 외부에서 오픈 디자인 파일을 가져다가 디자인도 할 수 있으니깐요. 가상시뮬레이터면 없는 부품은 해당 부품의 사진을 가져다가 포토샵같은 곳에서 그려야 하는데 Fritzing은 그럴 필요가 없다는 것이 정말 좋은 것 같아요.

아두이노로 뭘 표현하고 정리용으로 Fritzing에서 마무리 표현을 하시면 보관용으로 사용하기 좋은 소프트웨어겠죠.

댓글()

[아두이노] 3색 LED 제어

IOT/아두이노|2019. 2. 2. 12:34

[아두이노] 3색 LED 제어




이번 시간에는 3색 Led를 제어하는 시간입니다. 한개의 3색 led를 어떻게 RGB 색으로 나타내는지 실험하도록 하죠.

1. 회로도 구성


  • 구성 : 3색LED 1개, 저항 220옴 3개, 뻥판, 아두이노우노

3색 LED의 각 꼭지점에 마우스를 대면 red, green, blue란 단어가 보여진다. 각각 보기 편하게 전선을 각 색상선으로 바꿔 준다. 저항은 클릭한 뒤에 Ctrl+C로 복사 한 뒤에 원하는 위치에 마우스 대고 Ctrl+V하면 복제가 된다.

그리고 두번째 검정색선(Gnd)로 연결하면 회로도 구성은 끝난다. 그런데 실제 부품은 제품 정보를 보시고 색선을 구별하셔야 합니다.

2. 코딩


  • 함수 : pinMode(핀번호,모드), analogWrite(핀번호, 색값), delay(시간값)
  • 코딩 내용 : R->G->B로 3색을 순차적으로 간단히 출력하는 로직을 짜본다.

int rpin=11;
int gpin=9;
int bpin=10;

void setup()
{
  pinMode(rpin, OUTPUT);
  pinMode(gpin, OUTPUT);
  pinMode(bpin, OUTPUT);
}

void loop()
{
  analogWrite(rpin, 255);
  analogWrite(gpin, 0);
  analogWrite(bpin, 0);
  delay(1000);
  
  analogWrite(rpin, 0);
  analogWrite(gpin, 255);
  analogWrite(bpin, 0);
  delay(1000);
  
  analogWrite(rpin, 0);
  analogWrite(gpin, 0);
  analogWrite(bpin, 255);
  delay(1000);  
}

첫번째 :
변수 선언에서 int은 자료형으로 변수의 그릇의 크기를 나타낸다. rpin, gpin, bpin으로 3개의 변수를 선언하고 그 변수 그릇에 각각 해당핀 값을 저장시켜 놓는다.

두번째 :
setup()함수는 초기화 작업 코딩하는 부분으로 11, 10, 9핀을 OUTPUT(출력모드)로 아두이노에서 외부로 전류를 보내는 출력모드로 사용하겠다는 것이다.
여기서, 주의할 것은 사용된 핀이 다른 디지털핀과 다르다는 것이다. 0~13번 디지털 핀 중에 6개의 핀은 앞에 (~)에 붙은 핀들이 있는데 아두이노우노 보드를 보면 표시 되어 있다. 이것은 아날로그값을 출력으로 내보낼 수 있는 핀이다. 즉 0~255의 전류로 신호를 출력할 수 있는 특수한 핀이다. 실제 아날로그 값이 나가는게 아니라 아날로그 값이 나가는 것처럼 느낌의 전류 신호를 제어해서 내보낼 수 있는 핀으로 생각하면 된다.
3개의 RGB 핀은 각각 0~255의 값의 범위로 해서 다양한 색상을 만들어 낼 수 있다.

3번째 :
loop()함수에서 기존의 digitalWirte(rpin,100)하면 안된다. 디지털출력은 0과 1의 값만 OV와 5V만 존재한다. 즉, 0이 아닌 값은 무조건 5V의 전류가 흐르게 된다. 그렇게 되면 다양한 색을 만들어 낼 수 없다. (~핀)을 사용하기 위해서는 analogWrite(rpin,100)을 해야 합니다. 0~255사이의 전기신호를 보내기 위한 함수 이고 이 함수를 통해서 아날로그 100의 값의 전기신호를 내보내게 된다. 그래서 RGB Led은 rpin을 통해서 100이란 전기신호값의 색밝기로 보여지게 된다.
여기서는 1초 단위로 max 값 255로 R->G->B로 색이 나오도록 출력한 코딩입니다.

rpin을 255의 전기신호를 보내고 gpin, bpin은 0의 전기신호를 보내면 자동으로 Red 색이 출력되겠죠. 함수의 의미만 잘 이해하시면 다양한 색으로 출력이 가능합니다.

3. 고민해야 할 것


여기서 고민을 해야 합니다. 색을 만들기 위해서 analogWrite()함수가 세번 loop()함수에 표현을 해야하는게 불편함을 느껴야 합니다.
여러가지 색을 표현하고자 한다면 매번 3개의 함수를 loop()함수 안에서 코딩으로 표현하는 것은 엄청 비효율적이지요. 그래서 C언어 문법 하나를 배우도록 하죠.

C언어 문법


  • 문법 : 외부사용자함수()

외부사용자함수란 프로그래머가 직접 함수를 만드는 것이죠. 특정 중복되는 동작을 함수로 묶어서 그 함수를 호출하여 해당 동작을 수행할 수 있게 만들 수 있습니다. 즉, pinMode(인자1, 인자2); 이렇게 함수에 2개의 인자값을 넣어서 pinMode()함수 동작을 수행되는데 이런식으로 직접 프로그래머가 함수를 만들어서 RGB 인자값을 넣어서 색을 출력하는 함수를 만들면 간단한 코딩이 되겠죠.
3개의 analogWrite()함수로 RGB led의 색이 결정되는 원리를 배웠습니다. 그러면 이 원리를 이용해서 하나의 새로운 함수를 만들어 보죠.

void Color(int red, int green, int blue)
{
  analogWrite(rpin, red);
  analogWrite(gpin, green);
  analogWrite(bpin, blue); 
}

이렇게 Color라는 함수를 만들면 이 함수를 표현하여 RGB 색을 출력할 수 있게 됩니다. loop()함수 안에다 아래와 같은 방식으로 코딩하면 좀 더 깔끔한 코딩이 되겠죠. 여기서 인자값 (255,0,0)은 (red,green,blue)라는 변수에 저장되게 됩니다. 그 값이 3개의 analogWrite()함수에 각각 인자값이 대입하여 전기 신호를 출력하게 되는 것이죠. 간단한 원리죠.

Color(255,0,0);
delay(1000);
Color(0,255,0);
delay(1000);
Color(0,0,255);
delay(1000);

또, 고민을 해보세요. 지난 시간의 for()문을 이해 했다면 for()문을을 이용해서 RGB의 각 값을 순차적으로 변화시켜서 여러가지의 색을 만들어 볼 수 도 있겠죠.

웹언어를 공부하신분이라면 색을 나타날때 아래 예처럼 16진수로 각각 두자리가 RGB로 3개의 색을 나타내는 것을 알고 있을 겁니다.

예) #ff0000(red), #00ff00(green), #0000ff(blue)

참고 자료를 보시면 색을 좀 더 자세히 나눌 수 있겠죠.
각각 00~ff의 16진수 범위를 10진수 0~255로 색의 범위를 잡아서 색을 정하면 되겠죠.

4. 결과






마무리


RGB led를 한개를 제어해 봤습니다. 이전 led 제어 코딩에서 analogWrite()라는 함수를 새롭게 한개 배웠습니다.
이 함수로 하나의 RGB Led에 원하는 색으로 표현할 수 있게 된 거죠.
그러면 이것을 현실에서 이용하는 것들이 무엇일까요?
가장 가까운것은 현재 당신이 보는 스마트폰이나 pc 모니터를 생각하시면 됩니다. 쉽게 bmp 이미지 파일을 생각하는게 더 이해가 쉬울지 모르겠군요. bmp 이미지 파일은 픽셀단위로 해서 각 픽셀당 RGB색값이 할당 되고 이게 합쳐져서 이미지로 보여줍니다. RGB led 한개를 하나의 픽셀로 생각해 보세요. 수많은 RGB led를 각각 픽셀로 색의 값으로 밝혀진다면 이걸 다 연결하면 하나의 이미지 처럼 픽셀 이미지가 완성 되겠죠.
대충 어떤 느낌이신지 아시겠지요. 실험에 사용한 RGB led은 집중된 밝기가 아니고 분산된 밝기여서 사실상 이미지화 한다는 것이 무척 어렵지만 특수 led의 경우는 가능하겠죠.
네오 픽셀이라는 RGB 색을 만들어 내는 부품이 있습니다. 이걸로 실제 모니터로 구현한 외국인분들도 있습니다.
유사 표현으로는 주변 전광판을 생각하시면 되겠죠.

그리고 상상을 해보세요. RGB led은 3색을 섞어서 다양한 색을 만들어 낼 수 있습니다. 그러면 이걸로 뭘 할 수 있을까 끊임없이 상상해보세요. 0~255까지의 값의 색을 지정할 수 있다. 그러면 센서를 이용해서 그 센서의 값에 따라 밝기를 나타낸다면 뭔가 시각적인 데이터 표현이 가능하겠죠. 그러면 이걸 어떤부품과 연결해서 표현하면 좋을지 상상을 더해 보세요.

원한 하나의 부품을 사용하고 그 원리를 이해하면 단순히 거기서 끝나면 안됩니다.
그 부품이 다른 부품만 결합하면 또 다른 시너지 효과를 발휘 할 수 있으며 또 그 부품의 원리를 잘 이해하면 그 자체의 기능만으로 재밌는 표현이 가능하게 됩니다.

단순히 한개의 RGB를 제어했지만 이걸 어떻게 제어 하느냐에 따라서 표현하고자 하는 목적에 따라 당신이 생각하는 그 이상의 표현을 할 수 있으며 그런 표현들을 현실에서 아두이노를 다루는 분들이 작품으로 만들고 있습니다.
현재의 여러분들이 이걸 통해서 어떤 상상을 하느냐에 따라서 그 가치가 달라지는 점을 유념하세요.

끊임없이 의문을 갖고 생각을 통해 많은것들을 표현하길 바래요.
다음은 이전 시간에 led와 이번시간의 설명한 내용을 기반으로 상상할 수 있는 것들을 이야기 해보도록 하죠.


'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 피에조부저 제어  (0) 2019.02.04
[아두이노] 스위치 버턴 제어  (0) 2019.02.03
[아두이노] 코딩 구조  (0) 2019.01.31
[아두이노] LED 제어  (0) 2019.01.30
아두이노의 기초  (0) 2019.01.27

댓글()

논문 검색

유용한팁|2019. 2. 2. 12:29

논문 검색 




오늘은 논문을 검색하는 방법을 살펴보도록 하죠. 주제는 아두이노로 국내 아두이노를 이용한 연구 자료들을 쉽게 찾을 수 있고 깊게 공부하고 싶은 분들에게 이용 할 만한 사이트으로 RISS 통합 검색과 국회전자도서관을 소개합니다. 무료로 논문 자료들을 공개되어 있어서 온라인상에서 쉽게 자료를 다운 받을 수 있습니다. 구지 학교도서관이나 근처 지역도서관에 방문하셔서 논문을 찾을 필요 없이 인터넷에서 쉽게 논문 자료를 수집할 수 있습니다. 대학생들이라면 레포트 쓸 때 참고자료용으로 많이 이용하시고 계시겠죠. 그리고 꼭 아두이노가 아니더라도 다른 학문 분야에 관심 있는 분들도 한번쯤은 위 논문 사이트를 이용해 보셨을 거라 생각됩니다.

그러면 간단히 어떻게 논문을 검색하는지 살펴보도록 하겠습니다.

1. RISS 통합 검색 사이트



위 링크된 사이트에 가시면 아래와 같은 창이 뜨고 검색어는 "아두이노"만 치시면 됩니다.

관련 자료는 단어 형태로 검색하시면 아두이노 뿐 아니라 다른 분야의 논문들을 쉽게 찾을 수 있습니다.

아두이노라는 단어로 현재 학위논문이 131편이고 국내학술지논문 521편이네요.

무료 or 유료 or 기관내 무료 형태로 논문을 제공하는데 무료로 많이 제공하니깐 한번씩 읽어보시는 것도 재미 있습니다. 현재 국내 학생과 연구자들이 어떤 창의적인 아이템으로 논문을 섰는지 한눈으로 확인할 수 있고 많은 참고 지식을 얻을 수 있기 때문에 읽어보시면 지식적 측면에서 꽤! 아두이노에 대한 시야가 넓어질거라 생각 됩니다.

실제로 특정 논문을 클릭하시면 기본 정보를 제공하고 원문보기를 누르시면 보시는 것처럼 확인이 가능합니다.

경우에 따라 로그인이 필요한 경우에는 구글ID로 로그인하시면 됩니다.

2. 국회전자도서관



위 링크된 사이트에 가시면 아래와 같은 창이 뜨고 검색어는 "아두이노"만 치시면 됩니다.

여기서 "아두이노" 검색어로 치면 아래와 같은 창이 뜹니다.

여기서, 학위논문과 학술지 자료가 있네요. 특정 논문 자료를 선택 해봤네요.

위 그림처럼 특정 논문 하나를 선택했네요. 아래 "원문보기"를 누르면 국회전자도서관은 논문을 볼 수 있게 프로그램을 설치해야 합니다. 이게 좀 불편하네요. 논문 내용은 보기 편하게 되어 있는데 그걸 하기 위해서는 프로그램을 설치해야 한다는 불편함이 있습니다.

마무리


자주 사용하는 사이트는 RISS 통합 검색 사이트를 이용 합니다. 여러분들도 시간이 날때 마다 한번 아두이노를 가지고 어떤 실험들을 국내에서 하고 있는지 읽어 보셨으면 합니다. 아두이노 시야가 한단계 더 업그레이드 될 거라 생각됩니다.

댓글()

구글 스케치업으로 온라인 3D 도면 디자인 하기

유용한팁|2019. 2. 1. 14:10

구글 스케치업으로 온라인 3D 도면 디자인 하기






이번에 소개할 프로그램은 온라인 상에서 3D 도면 디자인하는 프로그램을 소개 합니다. 초보자도 쉽게 3D 도면 디자인할 수 있는 입문자용으로 딱 좋은 프로그램입니다. 구글 스케치업 프로은 30일 평가판이 있으며 온라인상에서 실시간으로 가볍게 사용할 수 있는 구글 스케치업 프리가 있습니다. 예전에 구글 스케치업 프로로 잠깐 강좌를 따라 다뤄본게 전부라 실력은 없습니다. 온라인상에서 3D 도면 디자인을 즐길 수 있어서 한번 도면그리기와 벽체 세우는 강좌 동영상을 보면서 따라서 해봤는데 스케이업 프리도 괜찮은 프로그램이여서 아는분들도 많겠지만 한번 암것도 모른사람도 유튜브 동영상 강좌보고 따라하면 이정도 할 수 있다는 걸 보여주기 위해서 소개를 합니다.

1. 구글 스케치업프리 사이트



구글 계정이 있으면 작업할 것을 저장할 수 있습니다. 로그인 필요 없이 한번 따라서 작업해 보시는 것도 좋아요. 단 저장을 할 수 없다는 게 단점이고요. 저장을 할려면 로그인 해야하고 스케치업 계정을 만들던지 구글 계정으로 로그인하든지 둘 중 하나입니다.

제품소개에 스케치업 프로는 pc에 설치하는 프로그램이고요 좀 더 전문적인 다양한 기능을 제공합니다. 그 아래 스케치업 프리가 있는데 이건 온라인상에서 간편하게 3D 도면을 작업할 수 있습니다. 모델링 시작하면 온라인상에서 디자인할 수 있는 창으로 넘어갑니다.

왼쪽 작은 아이콘들을 디자인할 도구 목록이고요 오른쪽 아이콘들은 선택한 객체의 재질, 스타일 등 속성들을 설정해주는 것들입니다. 설치용 스케치업 프리에서 사용되는 기능들이 최소한으로 구성되어 있지만 간편하게 3D 도면 작업을 수행할 수 있게 한 최적의 프로그램이라고 생각 되네요. 프로 평가판을 사용하다가 사용할려고 하니깐 일부 기능이 좀 불편하게 첨에 느꼈지만 오랫만에 스케치업 동영상 강좌를 따라해보니 그리 어렵지 않더군요.

2. 구글 스케치업프리 편집해보기







첨에 새로만들기에서 저는 밀리미터 형태로 연습해 봤어요. 동영상에서 수치를 밀리미터로 하기 때문에 햇갈리 수 있어서 세번째 밀리미터 형태로 새 모델 만들기를 하였습니다.

선을 그을때는 시작점에서 선을 그릴때 시작점과 끝점으로 구성됩니다. 시작점을 누른 상태에서 그릴 방향으로 약간 움직였다가 수치를 입력하면 수치만큼 선을 만들어 줍니다. 그래야 정교하게 길이 계산을 할 수 있습니다. 마우스로 드래그하면 그려지지만 정확한 수치으로 옮기기 힘드니깐 대충 시작점 클릭하고 선을 그릴 방향으로 대충 이동시켜놓고 창 오른쪽 하단에 숫자를 입력하는 텍스트박스가 있는데 거기다 수치를 입력하시면 되니깐 어려워 하지 마세요. 그리고 자동으로 보조해주는 기능들이 많으니깐 유튜브에서 아무 스케치업 강좌를 검색하셔서 따라서 흉내를 내면 됩니다.

  • 선을 만들때에 진행 방향으로 대충 클릭한 상태에서 오른쪽 하단 텍스트 박스에 2000입력한다. 텍스트 박스에 커서를 옮길 필요는 없다 그냥 숫자를 치면 텍스트 박스에 입력된다.

  • 2000을 입력하고 엔터를 치면 아래와 같이 진행방향으로 정확히 2000 만큼 선이 그어진다.

  • 선을 그을때 보조 자동 기능이 있는데 바로 빨간(x)축에서 선을 초록(y)축으로 정사각형을 만들고자 그을때 마우스로 움직이면 선이 초록으로 바뀌는 때가 있습니다. 그때가 y축과 평행을 이룰때를 나타냅니다. 초록선이 나오면 대충 그 방향을 이동했다가 원하는 사각형의 길이 세로 값을 입력하시면 됩니다.

  • 선을 다 연결하면은 면이 나옵니다.

  • 밀기/끌기를 해당 면에 근처에 마우스를 가져가면 영역이 선택된 모습을 보실 꺼에요 그 상태에서 클릭하고 드래그 하면 3D 모형으로 만들어 지게 됩니다.

  • 여기에 색을 입히면 좀 더 그럴싸하게 바뀌게 됩니다.

참 쉽죠. 대충 만져보시면 어렵지 않을꺼에요. 곡선이나 기하학적 모형을 만들때만 그리기 좀 복잡하고 힘들지만 나머지는 3D 디자인 하기 참 쉽고 재미 있습니다.

집 만드는 과정



(1) 평면도면 그리기

강좌 출처에 나온 평면도 그리기 내용에서 한번 간단히 따라서 해봤어요. 사용법은 유튜브 강좌를 보시면 쉽게 다룰 수 있을거에요. 따라 해보는데 어렵지 않더군요. 대충 도면을 그려봤네요.

(2) 색상 입히기

좀 더 그럴싸하게 보이죠. 왼쪽 아이콘 목록들은 3D 도면 디자인 도구라고 했죠. 오른쪽 아이콘들은 선택한 객체에 속성들을 디자인하는 도구로 선택한 방바닥이면 외벽들 화장실 타일등으로 입혀서 좀 더 그럴싸하게 표현 된 모습입니다.

(3) 벽체 올리기

오른쪽 아이콘 중에 밀기/끌기라는 아이콘이 있는데 선택한 면에 클릭한 상태에서 마우스로 이동하면 벽체를 올릴 수 있습니다. 이렇게 올림으로 3D 형태로 디자인 할 수 있게 됩니다. 여기서 선을 그리는 것과 마찬가지로 벽체를 대충 진행방향으로 올리고 오른쪽 하단 텍스트 박스에 수치를 입력하면 정확하게 원하는 높이까지 벽체가 올라갑니다.

(4) 지붕 만들기

우선 지붕을 만들 범위를 지정했고요

한쪽 지붕을 만들 삼각형 면을 만들때 마우스를 사이드 면선에 대면서 그 선을 따라서 움직이면 중심점에 도달하면 중심점이라고 프로그램이 알려줍니다. 그 지점을 시작점으로 해서 파란(z) 축으로 선을 진행방향을 맞추고 대충 지붕높이값을 하단 텍스트박스에 수치로 입력해서 선을 그렸고 다시 양쪽 사이드 끝점에 선을 이여주니깐 면이 완성되었습니다 그 상태에서 밀기/끌기 땡기니깐 지붕이 만들어졌네요.

아래 바닥 모습입니다. 참고로 벽체를 밀기/끌기로 올렸기 때문에 구멍이 뚤려 있습니다. 하지만 대충 선을 이으면 면이 생기고 그걸 바닥으로 두면 됩니다.

(5) 완성

딱 완성 해놓고 오른쪽 아이콘에 있는 재질을 이용해서 지붕과 벽면에 색을 입히니깐 그럴싸하게 집이 완성 되었네요. 안타깝게 지붕을 올리기 전에 안에 벽지를 좀 바르고 나올 껄 아깝게 됐네요. 수정하면 되는데 이상태로 마무리 합니다.

(6) 외부 이미지 입히기

외부 pixabay 무료이미지에서 대충 다운받아서 입힌거라서 별로 보기에는 좋지 않습니다. 편집창 왼쪽 상단의 폴더이미지 모양있는데 거기 클릭하면 새로만들기 열기... 등이 있는데 Insert를 누르면 외부 이미지를 불러 올 수 있습니다. 이미지와 재질로 선택해서 불러옵니다. 여기서 불러오실때 이미지로 선택하면 이미지를 평면을 배치할 위치에 클릭하면 시작점이 되고 드래그 해서 마지막 지점을 클릭하면 이미지 크기가 결정되는 데 결과물에서 땅 이미지가 그 이미지 불러오기로 불러와서 배치한것입니다. 그리고 재질로 이미지를 선택 재질쪽 이미지가 넘어가고 재질에서 선택해서 선택한 면에 페인트를 할 수 있게 됩니다. 아래 그림에서 벽과 지붕을 외부 이미지로 불러와서 입혀 봤네요.

마무리




전문적으로 다루지는 못합니다. 건축의 건자도 모르니깐요. 대충 동영상 강좌에 나온 대로 사용하다 보니깐 프로그램 다루는데 별로 어렵지 않더군요. 이걸 통해서 3D 모형을 만드는데도 사용하기 편할 듯 싶네요. 잠깐이지만 어렵지 않고 쉽게 다룰 수 있으니깐 한번 도전 해보세요.

참고로 제가 이 스케치업 프로그램이 가장 매리트가 있었던 것은 이렇게 건물을 만들어 놓은걸 유니티로 옮겨 올 수 있다는 것입니다. 게임에 사용 할 건물을 여기서 만들어서 옮겨오면 재미 있겠죠.

암튼 사용법은 저도 전문적인거 모릅니다. 그냥 간단한 기능만 사용만 해도 이정도는 쉽게 만들어 낼 수 있으니깐 재미삼아 즐겨보세요. 설치할 필요도 없고 온라인 상태에서 그냥 다룰 수 있기 때문에 부담이 전혀 없으니깐 한번 해보시면 재미있을꺼에요.

'유용한팁' 카테고리의 다른 글

Fritzing 회로도 디자인  (0) 2019.02.03
논문 검색  (0) 2019.02.02
Ideone.com을 이용한 웹컴파일러  (0) 2019.01.31
Tinkercad로 온라인 3D 디자인 하기  (0) 2019.01.30
OpenToonz로 작화 애니메이션 편집  (0) 2019.01.29

댓글()

[아두이노] 코딩 구조

IOT/아두이노|2019. 1. 31. 13:46

[아두이노] 코딩 구조




void setup() {
//초기화 작업
}

void loop() {
//수행한 명령어 로직
}


setup()함수와 loop()함수로 구성되어 있는데 아두이노에 전원이 공급되면 처음 한번만 setup()함수가 수행되고 난 뒤 loop()함수가 전원이 공급되는 동안 무한 반복 호출 된다.


그래서 setup()함수에는 한번만 수행할 명령 코드를 이곳에다 표현하고 계속 반복되는 동작의 명령 코드를 loop()함수에 표현하게 된다.

1. 코딩 연습


  • 주제 : 아두이노에서 LED를 깜박이게 하고자 한다.
  • 명령어 : pinMode(), digitalWrite(), delay()함수

원래는 회로를 먼저 설계한 뒤에 설계한 회로가 원하는 동작을 수행하도록 코딩을 그 다음에 한다. 하지만 여기서는 코딩을 연습하는게 목적임으로 코딩하는 법을 먼저 배워보자.

세개의 함수에 대해서 간단히 이해하자.
pinMode(핀번호, 모드)로 아두이노 해당 핀번호를 입력/출력 모드를 지정하는 함수이다. 즉, 해당 핀을 전류를 받는 입력모드로 쓸지 전류를 내보내는 출력모드로 쓸지를 정하는 것이다. 여기서 LED를 깜박이게 하는건 LED로 전류를 보내야 한다. 그렇기 때문에 LED와 연결된 핀을 출력모드로 지정해야 합니다.

만약 13번핀을 이용해서 LED에 전류를 공급하고 싶다면

pinMode(13,OUTPUT); 라고 표현이 됩니다. 13번 핀을 통해서 LED로 전류를 공급하겠다는 의미인거죠.

13번 핀을 출력모드로 준비상태가 되었습니다. 그러면 이제 깜박이게 한다는 것은 전류가 흐를때 LED 불은 켜지고 전류가 흐르지 않을때 LED 꺼지겠지요.
이제 전류를 보내는 명령을 써야겠지요. 13번 핀을 출력모드로 전류를 외부로 보내는 준비 상태였다면 이제 전류를 실제 공급하는 명령어를 표현해야 됩니다.

digitalWirte(13, HIGH); 라고 표현을 하게 되면, 디지털13번 핀을 HIGH로 한다는 명령어 입니다. HIGH은 매크로 상수로 고정 숫자값인데 그 값을 우리가 이해하기 쉬운 네임으로 지정한 것이죠. (HIGH=TRUE=1) 와 (LOW=FALSE=0)의 표현으로 1과 0을 매크로(#define선언 된) 네임으로 생각하시면 됩니다. 여기서 중요한게 아니라 HIGH은 1로 5V의 전류란 의미로 이해하시고 LOW은 0으로 0V의 전류라고 생각하시면 됩니다.
결론은 13번 핀에 5V의 전류를 보내라는 뜻인거죠.

1초 단위로 LED를 깜박이게 하고 싶다고 상상을 해보세요. 13번핀에 5V의 전류가 흘렀다가 1초후 0V로 전류가 안흘렀다가 다시 1초후 5V가 흐르게 하면서 이렇게 반복적인 수행을 하면 1초 단위로 LED를 깜박이게 되겠죠.

delay(1000); 함수는 1000은 1초를 나타납니다. delay=대기 1초간 대기하라는 뜻이죠. LED를 1초 단위로 깜박이고 싶다면 1초동안 켜지고 1초동안 꺼져야 겠죠. 즉, 1초동안 전원이 공급된 상태로 대기해야 한다는 뜻이죠. 그래서 이 함수를 사용하게 됩니다.

이 세개의 함수를 이제 배치를 해야합니다. setup()함수와 loop()함수에 배치해야 하는데 어떻게 해야할까요.
처음 한번만 수행하는 함수는 setup()함수에 코딩한다고 했죠. 13번이라는 핀을 전류를 밖으로 내보내는 출력모드로 사용한다고 했습니다. 그런데 매번 13번을 출력모드를 쓸거야 하고 반복할 필요가 없죠.
그래서

void setup() {
pinMode(13, OUTPUT);
}

이렇게 한번만 수행해도 되니깐 setup()함수에 넣으면 좋겠죠. 다음으로는 LED를 1초 단위로 깜박이는 하는데 한번만 깜박이는게 아니고 계속 반복해서 깜박이잖아요. 그래서 setup()함수에 넣어서 한번만 깜박일 이유가 없죠. loop()함수에서 반복해야지 1초 단위로 깜박이게 되는 것이죠. 그래서 loop()함수에 코딩하는 것이죠.

배치가 가장 중요합니다. 함수의 기능에 대해서 잘 이해하시고 나면 배치가 무난할 거에요.

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000); 
}

코드를 자세히 보면 13번핀을 HIGH(5V)의 전류을 내보내라고 명령합니다. delay()함수로 1초동안 대기하게 됩니다. 그러면 1초동안 아두이노에서 5V의 전류가 외부로 1초동안 공급하게 됩니다. 다시 13번핀을 LOW(0V)의 전압을 내보내라고 명령합니다. 이말은 0V니 전류가 흐르지 않는 것이죠. delay()함수로 1초동안 대기하게 됩니다. 1초동안 LED에 전류가 공급 안되니 꺼져있겠죠. 반복함수이니 다시 loop() 첫문장 13번에 HIGH(5V)의 전류를 내보내는 명령을 반복 수행합니다.
결론은 1초 단위로 LED는 깜박이게 되는 것이죠.

setup()함수와 loop()함수의 사용 목적을 잘 이해하고 거기에 맞게 명령어를 잘 배치하여 로직을 설계하시면 됩니다.

13번 핀을 출력모드로 지정한 후 13번 핀에 1초동안 5V의 전류를 공급과 0V의 전류 공급을 반복하는 코딩을 해 보았습니다. 핀 모드를 지정하는 법과 디지털핀에 전류를 공급하게 하는 명령어와 대기함수만 잘 사용하면 아두이노를 이미 절반은 배웠다고 생각하시면 됩니다.

2. 회로 설계


  • 재료 : LED 1개 , 저항 220옴 1개, 아두이노보드, 뻥판


3. 결과




실제 시뮬레이터를 돌리면 빨간 LED가 1초 단위로 무한 깜박이게 됩니다.
보는 것 같이 깜박이면 정상적으로 동작된 것이죠. 여기서 유심히 보면 보드 자체에 작은 LED 전구가 깜박이는걸 보실꺼에요.
이건 13번 핀에 보드 자체가 연결되어 있는 LED라서 특이 사항은 아니고 원래 13번 핀 자체가 특정한 목적 기능을 가진 핀이라서 그걸 보드상에서 확인하기 위한 LED라서 나중에 13번을 구지 선택해서 쓸 필요 없고요. 다른 핀으로 실험하시는걸 추천 드려요.

마무리


코딩을 잘 하기 위해서는 C언어의 변수와 상수란 개념과 문법은 IF, FOR, WHILE문의 개념만 잡으시면 왠만한 표현을 자유자재로 표현이 가능합니다. 몇가지 실험을 하다보면은 자연스럽게 해당 문법을 다루다보면 이해가 가게 됩니다. 구지 프로그램언어를 모른다고 해서 코딩을 못하는게 아니고 단순히 블록처럼 함수 단위로 코드를 상상하시면 됩니다.
우리가 일기장에 일기를 쓰듯이 어떤 동작을 글로 써서 그 글에 맞게 명령어함수를 순차적으로 배치만 하시면 됩니다.
코딩은 어렵지 않고 너무 깊은 사고를 요구하지도 않으면 쉽게 상상을 코딩화 하면 됩니다.

'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 스위치 버턴 제어  (0) 2019.02.03
[아두이노] 3색 LED 제어  (0) 2019.02.02
[아두이노] LED 제어  (0) 2019.01.30
아두이노의 기초  (0) 2019.01.27
아두이노 가상시뮬레이터  (0) 2019.01.24

댓글()

Ideone.com을 이용한 웹컴파일러

유용한팁|2019. 1. 31. 13:30

Ideone.com을 이용한 웹컴파일러




다양한 프로그램 언어를 공부할때 간편하게 사용할 수 있는 아주 유명한 웹컴파일러로 프로그램을 좀 다룬다고 하는 분들은 대부분 이 사이트를 알고 있을거라 생각되네요. 혹시 프로그램 언어를 배워보고 싶은 분들은 잘 모를 수 있어서 간단히 소개할 까 합니다. 저는 C언어 로직이 떠오르거나 설치 없이 실시간으로 온라인 상에서 C언어를 돌리고 싶을 때 가끔 씁니다. 참고로, 다양한 언어들도 돌려 볼 수 있어서 초보 프로그램 언어를 배우고자 하는 분에게 유익한 사이트라고 생각되네요.

1. Ideone.com 구성



c언어 처음 기본창입니다. 혹시 다른 언어를 다루고 싶다면 아래와 같이 선택버턴을 눌러서 원하는 언어를 선택하시면 됩니다.

그리고 기본창에서 코딩하시고 Run을 누르시면 실행됩니다.

2. 코딩(C언어 기준)



c언어 코딩창에서

printf("HELLO! WORLD! \n);

이 문장을 삽입하고 Run눌러주세요. 그러면 결과창으로 넘어갑니다.

3. 결과창



결과창으로 전환되고 stdout에 결과가 나타납니다.

4. 편집창


결과창에서 상단에 edit을 누르면 편집창으로 갑니다. 아래와 같이 여기서Ideone.it!을 누르면 바로 코딩한 결과를 확인이 됩니다. 코딩하면서 결과를 아래 창으로 바로 보여지는 것이죠.

마무리



편하게 프로그램 컴파일러를 설치하지 않고 온라인 상에서 기초프로그램 언어를 공부하면서 결과를 볼 수 있습니다. 아두이노를 하면서 어떤 로직이 머리속에서 떠올랐다면 그 로직을 여기서 간단힌 코딩해보고 가상 데이터를 넣어서 원하는 결과가 나오는지 확인 할 수 있어 편하게 사용할 수 있습니다.


댓글()

[아두이노] LED 제어

IOT/아두이노|2019. 1. 30. 19:45

LED 제어(아두이노)




1. 발광다이오드(LED)



다리가 긴쪽이 +(애노드), 짧은 쪽 -(캐소드) 이다. 애노드와 캐소드 용어로 구지 생각하지 말고 다리길이에 따라 +, -만 구분하시면 된다.

참고로 발광다이오드는 색깔에 따라 필요한 전압이 다릅니다. 일일히 표로 만들기 귀찮아서 괜찮은 표가 있어서 해당 블로그 표를 인용합니다.


출처 : Arduino - LED 저항값 달기
기본적으로 필요 전압이 golsufan09 블로그의 발광다이오드 표를 인용했습니다.

계산법 - 옴의 법칙


V(전압)=I(전류) * R(저항)

R= V/I = (5V-1.8V)/20mA

기본적으로 LED은 표에서 보는 것 처럼 약 2~3V의 전압에 작동을 하는데 아두이노가 5V의 전압을 제공함으로 최소 100옴을 저항이 필요합니다.

그냥 5V의 전압이 공급되면


감당할 수 없는 전압 LED은 그냥 터지고 만다. 그래서 저항을 붙이는데 저항은 흐르는 전류의 양을 조절해주는 수도꼭지 같은 역활을 한다. 즉, 수도꼭지를 돌리면 물의 양을 조절하는 것처럼 저항의 값에 따라서 전류의 양을 조절 가능하다. 그래서 아두이노에서 부품과 모듈을 사용할때에 아두이노의 나오는 전압과 부품과 모듈에서 필요로 하는 전압이 다를때 저항을 사용한다. 특수한 경우를 제외하고는 거의 모듈 형식의 부품을 사용하기 때문에 초보분들은 그렇게 깊게 생각 안하셔도 된다. 그냥 머리속에서 수도꼭지만 생각하시면 된다.

5V의 전압에 저항(220옴)을 붙이면



위 사진과 전류의 변화를 잘 비교하면 된다.

참고로 직접 회로도를 제작하지 않는 이상은 그냥 모듈로 만들어진 부품을 아두이노와 연결해서 자신이 원하는 표현만 잘 해내면 된다.

2. 뻥판



구멍이 촘촘히 뚤려 있다. 여기서 각 점에서 파란선을 주목하길 바란다. 뻥판 내부에 파란선이 그어진 만큼 각 점들은 내부선으로 연결되어 있다. 그래서 LED와 저항을 배치할때에 겹치지 않고 분리 해서 구분하여 배치해야한다.
점들 내부에는 선으로 저런식으로 연결되었구나를 머리속에 담아 놓으시면 됩니다.

실제로


이렇게 연결된 느낌으로 이해하시면 된다. 하지만 이렇게 할려면 각 부품을 납땜해야 한다. 부품마다 분리 되어 있는데 납땜하면 한번 실험하고 말것도 아니고 계속 다양한 실험을 하기 위해서 뻥판을 사용한다. 뻥판에 부품을 꼽기만 하면 납땜을 하지 않아도 부품간 연결을 쉽게 할 수 있어 주로 뻥판을 사용한다.

3. LED 실험



이전 시간에 13번 핀을 출력모드로 깜박이는 실험을 하였다. 아래와 같이 회로도를 배치하고 코딩도 1초 단위로 깜박이는 예제이다.



void setup() {
pinMode(13, OUTPUT);
}

void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000); 
}


여기서 여러개의 LED를 제어해보자

회로도


  • 준비물 : led 5개, 저항 220옴 5개, 뻥판, 아두이노우노

components 클릭하시면 부품 이미지들이 하단에 나오고 해당 부품을 드래그 하시면 자동으로 불러오게 된다.
그리고 뻥판에 배치하시고 저항값을 지정하고 선은 마우슨 왼쪽으로 클릭해서 선을 연결하시면 됩니다. 자동으로 마우스 왼쪽 버턴을 누르면 해당 위치에 선이 생성되고 다음 마우스 왼쪽 누른 위치에 끝점이 되어 선이 생성된다.

코딩 - 블록 체크되어있는 걸 누르면 해제된다. 순수 코딩창으로 넘어간다.


  • 내용 : 순차적으로 LED 깜박이기



void setup()
{
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(9, OUTPUT);
}

13,12,11,10,9번 핀을 출력모드로 선언한다. pinMode()함수는 이전 시간에 공부했기에 출력모드로 5핀을 지정만 해주면 된다.

void loop()
{
  digitalWrite(13, HIGH);
  delay(1000); 
  digitalWrite(13, LOW);
  digitalWrite(12, HIGH);
  delay(1000); 
  digitalWrite(12, LOW);
  digitalWrite(11, HIGH);
  delay(1000); 
  digitalWrite(11, LOW);
  digitalWrite(10, HIGH);
  delay(1000); 
  digitalWrite(10, LOW);
  digitalWrite(9, HIGH);
  delay(1000); 
  digitalWrite(9, LOW);  
}

로직은 13번 핀이 5V가 전류가 공급되고 1초 대기했다가 13번핀을 0V를 보내고 동시에 12번핀에 5V의 전류를 보낸다. 이런식으로 1초 단위로 13번에서 부터 9번핀까지 순차적으로 전류를 공급했다가 끊어주기만 하면 간단한 원리이다.

자세히 보면 뭔가 함수명이 중복해서 코드를 선언하고 실행 명령을 내리는 느낌을 받았을 것이다.10개이상의 LED를 깜박인다고 생각해보자. 10개이상의 핀을 선언하고 10개 이상의 핀을 HIGH, LOW를 시키는 코딩을 일일히 표현해야 한다면 얼마나 비 효율적인 코딩이겠는가 여기서 C언어 문법 하나를 배워서 간단히 코딩을 바꿔 보자.

C언어 문법


  • 구조
    for(초기값1, 조건식2, 증감연산4){
    처리문3;
    }

예) 1부터 10까지 더하기
int i,sum;
sum=0;
for(i=1;i<=10;i++){
sum=sum+i;
}

int i, sum; 에서 자료형 int은 담을 수 있는 그릇의 크기이고, i와 sum은 변수명으로 어떤 값을 저장하는 그릇으로 생각하면 된다.
자료형이랑 작은 접시냐 큰 접시냐로 값을 저장할 수 있는 크기를 결정하는 표현으로 생각하면 된다. i와 sum의 변수의 그릇을 int형 크기의 그릇으로 선언했다는 정도만 지금은 이해하면 된다.

for문은 동작 순서는 1->2->3->4->2->3->4->2->3->4.... 이렇게 순차적으로 반복 수행한다. 2번의 조건식이 참이면 처리문을 반복 수행하고 거짓이면 for문을 빠져나오게 된다.

그래서 for문 i은 1로 초기값을 지정되고 조건식 i<=10로 i가 10보다 작거나같은가 묻는다. 조건식이 참인가 거짓인가 비교하게 된다. 초기값이 1이기 때문에 조건식은 참이 되어 처리문3을 수행한뒤 i++(증감) i=i+1과 같다. 1씩 증가하는 증감연산자이다.
초기값이 1이고 조건식이 참이여서 sum = sum +1이 된다. sum은 초기값이 0이기 때문에 sum=0+1로 sum=1이 된다.
i++로 i은 2가 되고 다시 2은 10보다 작거나같냐고 물으면 참이기 때문에 sum=sum+2로 이전 sum값이 1이기 때문에
sum=1+2로 sum=3이 저장된다.
이런식으로 i는 다시 1이 증가하여 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이 될때까지 반복하게 된다. i가 11이 되면 거짓으로 for문은 더이상 수행하지 않고 빠져나오게 된다.
그래서, 1부터 10까지의 합 55가 최종적으로 sum에 저장된다.

sum = 1+2+3+4+5+6+7+8+9+10; 이렇게 일일히 다 표현한다면 10개니깐 이렇게 했지만 1000까지 합으로 구한다고 생각해보자 1000개의 숫자를 다 코딩한다고 상상해 보자 엄청 힘들고 비효율적이게 된다.
간단히 sum=sum+i로 i를 1000번 반복해서 sum에 누적 합계를 구하면 쉽고 간단하게 코딩으로 해결이 가능하다.

이처럼 아두이노에서 led가 5개면 대충 위 코딩처럼 일일히 표현이 가능하겠지만 10개이상이면 저걸 다 일일히 코딩하는 건 엄청 비효율적이다. 이럴때 for문을 사용한다면 단 몇줄로 쉽게 해결할 수 있게 된다.

int i;
void setup()
{
  for(i=13;i>8;i--){
    pinMode(i, OUTPUT);
  }
}

i 변수가 13으로 초기화 하고 i는 8보다 크다가 조건식이다 참임으로 처리문 pinMode()함수에서 13번 핀을 출력모드로 선언한다. 여기서는 감소연산자 i--은 i=i-1이다. 1씩 감소한다. 즉 다음핀 12번이 8보다 큰가 조건식이 된다. 참임으로 12번핀이 출력모드로 선언된다. 이런식으로 13번핀부터 9번핀까지 출력모드로 선언하게 된다.
pinMode()함수를 중복해서 코딩할 필요 없이 for문으로 5번 반복하게 된다.

이와 같이 5개핀을 이제 깜박이게 하는 원리도 동일하다.

void loop()
{
  for(i=13;i>8;i--){
    digitalWrite(i, HIGH);
    delay(1000); 
    digitalWrite(i, LOW);    
  }
}

동일한 for문으로 13번 핀을 5V전원을 공급하고 1초 대기했다가 13번핀을 0V가 된다. 이때 다시 i가 12로 감소하고 12번핀에 5V의 전원이 공급되고 1초 대기했다가 다시 0V가 된다. 이런식으로 9번핀까지 깜박이고 i가 8이 되면 for문을 빠져나오고 loop()문이 끝나고 다시 재 반복되게 된다. 계속 13번핀에서 9번핀까지 1초 단위로 깜박이게 된다.

4. 결과




마무리


처음 Led 한개를 깜박였다면 순차적으로 5개의 led를 깜박이게 했다. 그러면 한번 상상을 해보자 홀짝으로 깜박이게 한다면 어떻게 해야할지를 핀 값을 홀짝만 나눠서 전원을 공급하면 되겠죠.
5개 핀이니깐 홀수 3개핀 짝수 2개핀으로 정해서 3개핀에 전원을 동시게 5V공급했다가 1초후 전원을 OV로 한뒤에 짝수 2개핀을 5V로 공급하면 되겠죠.
이걸 홀짝으로 나눠서 반복하면 홀짝으로 깜박이게 됩니다.
그럼 다시 정순으로 순차적으로 깜박이게 했는데 정순으로 깜박인 후 다시 역순으로 깜박이게 한다면 로직을 상상해 보세요.
또 다른 방식으로 Led를 깜박이게 상상해보세요.
그리고 led을 깜박이는 원리를 적용가능한 것들을 현실세계에서 찾아보세요.
대표적인 예로 신호등 제어를 들 수 있겠죠.
만약 led를 이용해 신호등을 만든다고 상상해보세요. 신호등의 원리를 이해하면 그 원리에 맞게 led를 깜박이게 하면 되겠죠.
이외도 한번 led를 깜박이게 한다 그러면 현실에서는 어떤 것들이 이와 유사한 것들이 있는지 상상해 보세요.
다음에는 led가 과연 어떠한 표현이 있는지를 살펴보도록 하죠.


'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 스위치 버턴 제어  (0) 2019.02.03
[아두이노] 3색 LED 제어  (0) 2019.02.02
[아두이노] 코딩 구조  (0) 2019.01.31
아두이노의 기초  (0) 2019.01.27
아두이노 가상시뮬레이터  (0) 2019.01.24

댓글()

Tinkercad로 온라인 3D 디자인 하기

유용한팁|2019. 1. 30. 11:26

Tinkercad로 온라인 3D 디자인 하기






오늘은 즐거운 토요일입니다. 매주 토요일이면 하나씩 무료로 사용할 수 있는 프로그램을 소개하는데 이번주 소개할 무료 툴은 팅커캐드입니다. 초보자도 쉽게 3D 디자인할 수 있는 입문자용으로 딱 좋은 프로그램입니다. 물론 윈도우 10이 설치된 분이라면 앱으로 3D 디자인 할 수 있는 무료 프로그램이 몇개 있지만 오늘 소개하는 프로그램은 설치 없이 온라인상에서 3D 디자인 편집이 가능하고 아이들도 쉽게 조작할 수 있는 프로그램일 것 같아서 소개합니다.

1. 팅커캐드 사이트




간단히 이메일 계정으로 회원가입하시면 됩니다.

갤러리 누르시면 작품들이 화려하죠. 이걸 다운로드 받을 수 있고 복사해서 내 계정으로 옮겨올 수 있습니다. 작품들을 보면 감히 범접 할 수 없는 화려한 작품들을 소개하고 있네요. 내계정으로 복사해와서 어떻게 만들어졌는데 분해 해보시고 따라하시면 대충 감이 잡히실 꺼에요.

그리고 알아보기에서 샘플 튜토리얼 교육이 있습니다. 그런데 영어로 되어 있어 다소 불편하실 수 있지만 그냥 그림만 보고 대충 따라하실 수 있습니다.

알아보기 페이지 하단에 참고로 단축키 목록이 나와 있으니깐 살펴보시고 이용하시면 편하게 3D 디자인을 할 수 있습니다. 마우스로만 해도 되는데 단축키에서 Ctrl+화살표와 Shift+화살표, Shift 누른상태에서 물체들을 클릭이나 Shift+마우스왼쪽키, Ctrl+마우스왼쪽키 등 몇개가 더 있는데 연습하시다 보면 단축키를 사용으로 편하게 편집을 할 수 있다는 것을 느끼실 꺼에요. 마우스 하나로 해도 되기는 하는데 나중에 좀 불편해지니깐 꼭 단축키를 숙지하세요.

2. 팅커링 편집해보기





딱 계정을 만들면 디자인(팅커링), Circuits(아두이노편집기), 교육(알아두기튜토리얼을 클릭하면 자동으로 여기 저장) 이렇게 구성되어 있습니다. 디자인을 누르면 편집창을 새로 만들 수 있습니다. 2달전 만져보고 포스팅 할려고 잠깐 만져 봤네요.

편집창

기본창에서 보면 기본 쉐이프가 몇개 없고 덩그러니 창 하나만 있습니다. 갤러리에서 본 작품들은 화려한데 도대체 이걸로 어떻게 만들었지 하고 의문이 들꺼에요. 저도 처음에 기본 쉐이프을 가지고 어떻게 모먕을 만들지 갑갑 했었습니다. 모양을 만드는 것이 참 도특한 방식이더군요. 모양을 만들때 이게 모양을 만드는 것이 아니라 모양을 깍는다는 원리로 모양을 만들더군요. 아래 모양을 만드는 과정을 자세히 보시면 왜 모양을 깍는다란 표현인지 아실거에요.

어떻게 모양을 만드는지 과정을 설명하겠습니다.

(1) 사각형과 원형의 모형이 있습니다.

(2) 원형안에 사각형을 배치하고 속성창에서 솔리드와 구멍이 있는데 구멍을 클릭하여 변경합니다.

여기서 물체가 정상적으로 보이는 상태는 솔리드이고 물체를 투명하게 보이게 하는게 구멍입니다. 구멍이라는 표현이 번역이 좀 이상하게 된건지 좀 우낀 표현이지요.

(3) Shift 누른상태에서 두 물체를 클릭해줍니다. 범위가 지정되면 위쪽 상단에 그룹만들기가 활성화 되어 있고 그걸 눌러주면 묶여집니다.

(4) 완성


이렇게 모양이 하나 완성됩니다. 이게 팅커벨의 핵심입니다. 이런식으로 해서 독특한 모양을 만들어 냅니다. 여러개의 쉐이프 들을 붙이기 해서 하나로 그룹화하고 거기서 구멍을 파거나 깍을때 그 위치에 도형들을 배치하고 솔리드 대신 구멍 속성을 변경하고 파거나 깍는 부분에 덮어 씌우면 덮어진 범위은 사라지게 됩니다.

참 쉽죠. 이런식으로 작품을 만들어 내면 됩니다. 쉽기는 한데 이게 웹상에서 하기 때문에 컴 사양을 좀 타는 것 같아요. 웹브라우저 인터넷 성능이 느릴때는 좀 버벅거릴 꺼에요. 다 좋은데 이게 단점이네요. 온라인상에서 설치 없이 하는거라 그정도 단점은 감수할 만 할거에요. 아이들 작품도 꽤 잘 만든것 봐서는 쉽게 아이들도 3D 디자인을 할 수 있는 편집기인것 같아요.

3. 짧게 연습해서 만들어 봤어요.




초보수준으로 연습없이 사용법도 간단하고 무대포로 대충 만들어 봤네요. 포스팅 할려고 잠깐 짬내서 짧게 대충 만들었습니다. 공부안하고 이정도로 만들어지는 걸 봐서는 아마 아이들도 사용법만 알면 무자 쉽게 3D 디자인을 할 수 있을 거라 생각되네요.

마무리




전문적으로 하시고 싶다면 3D 게임엔진인 블렌드와 유니티 프로그램을 다운 받아서 설치하시면 되고요. 건축캐드용인데 아주 쉬운 툴로는 스케치업이 있는데 한달 무료 사용이라서 이걸 작년에 한달 놀았는데 아쉽더군요. 더 사용은 되는데 한달 후에는 다른 일부는 사용 못하게 되더군요. 이것도 전문 3D 캐드가 어려운분들이 스케치업으로 공부하면 꽤 쉽게 3D 디자인을 할 수 있어 편집기로 매리트가 있는 프로그램 입니다. 여기서 만든 건물들을 유니티 게임엔진으로 옮겨와서 게임에 사용되는 건물로 쓸 수 있어서 만들기도 쉽고 게임개발 공부할 때 사용하면 괜찮은 프로그램 같아요.

댓글()

OpenToonz로 작화 애니메이션 편집

유용한팁|2019. 1. 29. 08:19

OpenToonz로 작화 애니메이션 편집






이번에 소개할 무료 툴은 OpenToonz 입니다. 작화 2D 애니메이션을 편집할 수 있는 입문자용으로 딱 좋은 프로그램입니다.

1. 다운 받기




OpenToonz 사이트에 가시면 무료로 다운로드 받으실 수 있습니다.

따로 회원가입은 없으며 2D 애니메이션 작화 편집기로서 무료로 사용할 수 있다는 것이 매리트가 있네요. 3D 애니메이션에 관심이 있다면 블렌더 게임 엔진이나 유니티 엔진을 다운받아서 3D 공부랑 사용법을 배워야 겠지만 애니메이션에 관심있는 입문자에게는 OpenToonz가 괜찮아 보이네요.

2. OpenToonz 시작 창




첫창은 새롭게 만들 프로젝트를 생성하는 창입니다.

3. OpenToonz 편집창




해당 기초 사용법들을 설명하자니 애매해서 안본격애니메이션제작소의 기초 강좌 동영상 주소로 가셔서 유튜브로 간단한 예제를 따라해보세요. 대충 기초사용법은 잘 나와있을꺼에요. 참고로 외국꺼 튜토리얼은 좀 기능들을 좀 더 디테일적으로 다루는 것이 나와 있는데 상단에 출처를 링크걸려 있으니깐 가서 참고하시면 되겠습니다.

앞장면 뒷장면을 한번에 볼 수 있는 단축키 사용법과 이미지에 색깔 넣기 위해서 스타일 블록 만들어서 각각 색상을 입힐 수 있고 1초당 프레임을 정하고 이미지 장수를 조절 가능하고 글보다 강좌 유튜브로 가셔서 한번 따라해 보세요.

4. OpenToonz 영상파일로 저장하기




그냥 save 저장하면 OpenToonz 파일로 저장되기 때문에 동영상으로 만들어서 유튜브 같은곳에 올리고 싶다면 Output Settings...를 눌러주세요.

아래 그림처럼 창이 하나 뜨고 여기서 애미메이션 사이즈 이름등 기타 조정할 수 있으며 사진에서 표시 해놓은 곳에 보시듯 여러형태로 저장할 수 있습니다. avi 형식으로 만드시고 싶다면 선택하시고 Render를 누르시면 저장하게 됩니다. 참 쉽죠.

5. 발로 그린 재능없는 테스트 영상




그림은 유치원 수준의 대충 작화를 어렵지 않게 할 수 있다는 것을 보여주기 위해서 챙피를 무릎쓰고 올립니다.


마무리




기초 테스트가 목적으로 발로 그렸다고 생각하세요. 기초강좌영상만 보고 대충 사용법은 터득한 뒤에 강좌 영상 없이 혼자서 한번에 다이렉트로 촬영하면서 찍은거라 원래 그림 소질이 없고 마우스로 그림 그린다는 자체가 너무 힘들어서 유치원생 그림이 되었네요. 사용법이 그리 어렵지 않고 다 만들어진 애니메이션을 avi 동영상 파일로 저장할 수 있어서 그림에 소질있는 작화분들이 한번 작화 애니메이션을 그리기 입문용으로 좋은 것 같아요
너무 유치하게 그림을 그려서 영상을 빼야하나 했는데 그래도 초짜도 사용하기 쉽다는 것을 보여주기 위해서 챙피를 무릎쓰고 올립니다.

무료 애미메이션 제작툴로써 애미메이션 입문자들에게 참 좋을 것 같아서 소개합니다.


'유용한팁' 카테고리의 다른 글

Ideone.com을 이용한 웹컴파일러  (0) 2019.01.31
Tinkercad로 온라인 3D 디자인 하기  (0) 2019.01.30
LMMS 작곡프로그램  (0) 2019.01.28
뮤즈스코어로 악보만들기  (0) 2019.01.27
원격 제어용 TeamViwer 사용  (0) 2019.01.26

댓글()

LMMS 작곡프로그램

유용한팁|2019. 1. 28. 23:00

LMMS 작곡 프로그램




  • 공식홈페이지 다운로드 : LMMS



음악을 자유롭게 표현이 가능한 프로그램입니다. 
뮤즈스코어에서 악보를 만들어 봤다면 여기서는 박자의 느낌을 실시간으로 느끼면서 자신의 필을 마음껏 발휘 할 수 있습니다. 다운받아서 설치 하시고 나서 실행시키면 아래와 같은 창이 기본으로 뜹니다.


노래편집기에서는 곰세마리 악보를 보고 멜로디를 시간 상 미리 작업한 상태이고 비트편집창은 아직 박자를 안넣은 상태입니다.

사용법

노래편집기



노래편집기의 TripleOscillator의 빈공간에 더블 클릭하거나 상단의 피아노 건만 아이콘을 클릭하시면 피아노-롤이 나타나고 마우스 왼쪽은 표시, 오른족은 지우기입니다. 그리고 노래편집창에 표시를 할때는 블록으로 쪼개져 있을때는 CTRL누른상태에서 복사할 블록을 클릭하고 원하는 위치로 드래그 하면 복사가 됩니다.
또한 블록을 지우고 싶을때는 개별적으로 삭제해도 되지만 마우스 가운데버턴(스크롤)을 누르면 블록이 삭제됩니다.

멜로디는 곰세마리를 표현한 예제입니다.

비트 박자편집기




왼쪽 여러 악기중에서 드럼 한개를 추가해서 기본 베이스 박자를 마우스 왼쪽을 클릭하면 표시되고 다시 동일한 위치를 클릭하면 삭제 됩니다. 박자는 원하는 스타일로 클릭만 해주면 비트박자가 완성됩니다.
Beat/Bassline 0을 더블클릭하면 이름을 바꿀 수 있으면 노래편집기에서 트랙앞에 옵션마크가 있는걸 클릭하시면 복제도 가능합니다. 여러개의 박자를 만들어 낼 수 있습니다.

아래 제어렉과 믹스 상자가 있는데 여러개의 플러그인을 제공하는데 사실 전문적인 부분이라서 이 부분은 다루는데 좀 어렵더군요. 좀 더 전문적인 제어를 하실때 사용하는데 기초 설명이라서 생략합니다.

내보내기



lmms의 파일 형식으로 저장되 되지만 내보기기 기능으로 wav 파일로 데모 음악파일을 만들 수 있습니다.

간단한 곰세마리 영상




마무리



음악을 만들기에는 재능이 부족하고 간단히 비트 박자를 짧게 만들때 사용합니다. 성인들 장난감 작곡프로그램으로 괜찮은 프로그램인것 같아요.
우선 무료족 입장에서는 이정도 성능이면 꽤 쓸만한 프로그램이라고 생각 됩니다. 왼쪽 옆에 음악 데모들이 여러개 있어서 초보분들은 한번 음악들이 어떻게 만들어졌는데 데모 파일들을 열어서 표현을 보시고 그 파일을 약간 편집을 해보면서 사용법을 터득하는게 빠를 듯 합니다


댓글()

아두이노의 기초

IOT/아두이노|2019. 1. 27. 15:01

아두이노의 기초



1. 아두이노 구조




      • 상단
        Digital pin : 핀번호 0~13핀으로 구성되었으며 0(0V) 과 1(5V)의 신호를 보내고 받을 수 있다. 여기서 PWM핀은 6개의 핀을 제공하면 아날로그 출력(0~255)를 내보낼 수 있다.
        시리얼통신핀 : TX(출력1번), RX(입력0번)
        GND(핀) : 전류 마이너스(-) 핀

      • 하단
        Power 부분: 하단 왼쪽 POWER(3.3V, 5V, Gnd, Vin)으로 구성되어 있다.
        Analog pin : 아날로그 입력을 받을 수 있는 핀으로 0~1024(2의 10승)값을 받을 수 있다. 총 6개의 핀으로 구성되어 있다. 여기서 디지털핀으로 핀모드를 지정해주면 사용도 가능하다. 핀모드를 지정안해주면 본래 목적으로 아날로그 값을 입력받는데 사용된다.



지금 각 핀에 대해서 이핀은 무슨 핀이고 저 핀은 무슨핀이다라고 설명해 봤자 의미가 없다. 아두이노를 실제로 실험을 하다보면 아 이 핀이 이런 핀이구나라는 걸 이해할 것이다. 단지 여기서는 핀 구성이 대충 이런식으로 되었다는 정도만 머리속에 담아 놓으시면 된다.

2. 아두이노 Atmega328P 구조




전압 = 5V
디지털핀 14핀(6의 PWM핀제공)
아날로그입력핀 6핀
플래쉬메모리 : 32kb
SRAM : 2kb
클럭 속도 : 16MHz


이 Atmega328P는 사용하기 위해 전원 공급과 통신 등 몇가지 기능을 추가하여 덕지 덕지 붙여 놓은게 아두이노우노입니다. 기본적으로 이 칩은 내부 클럭이 최대 8Mhz정도의 클럭속도는 냅니다. 그래서 크리스탈을 붙여 16Mhz의 속도를 낼 수 있게 합니다. 이 칩에 프로그램을 이식할 수 있는게 32kb 만큼의 용량의 프로그램 밖에 이식할 수 없으며 변수공간도 2kb인가로 아주 제한적이여서 사용 용도로도 아두이노는 복잡한 계산 보다는 단순 작업에 사용됩니다.

쉽게 말해서 Atmega328P 칩에 전류를 공급하고 이 칩에 기록된 프로그램 명령어를 전류가 공급되는 동안 칩 핀을 통해서 입력받거나 출력하는 동작을 계속 반복한다고 생각하시면 된다.

칩 각 핀에는 고유의 역할이 있고 그 핀을 통해서 디지털 신호나 아날로그 신호를 받거나 내보내는 작업을 잘 수행하기 위해서 아두이노를 배우는 것이죠. 아두이노는 종류도 다양하고 칩도 다른데 중요한것은 머리속에서 칩에다 전류를 공급되면 칩에 기록된 명령어를 핀을 통해서 수행한다는 개념만 머리속에 담아 놓으시면 기본 베이스는 끝납니다.

그리고 아두이노를 배우는 것은 이 칩에 기록할 명령어 로직을 짜는법을 배우는 것이라는 점만 머리속에 담아 두세요. 여기서 코딩은 어렵지는 않습니다. 과거에는 하나에서 열까지 전부 다 개발자가 머리속에서 짜내어야 했지만 현재는 기본적인 라이브러리가 다 제공되고 엑셀처럼 각 함수의 의미만 잘 이해하면 쉽게 함수(블록)단위로 코딩이 가능합니다. 그래서 예술쪽 있는 분들이 아두이노와의 결합 작품을 많이 시도하고 만들어내는 이유이기도 하죠.


마무리




아두이노를 공부하는 분들은 어느정도 깊게 들어가면 아두이노로 이것저것을 붙여가면서 좀 복잡한 연산 작업을 수행할려고 한다. 뭔가 아두이노로 두뇌 역활을 하는 작업을 수행하려고 배보다 배꼽이 더 큰 모듈들을 붙여가면서 억지로 그 기능을 구현 시키기도 한다.

뭔가 좀 복잡한 연산이나 다양한 기능을 추가하면서 제어를 하고 싶다면 차라리 라즈베리파이와의 연동을 추천 드립니다. 재밌는 것은 라즈베리파이를 배우는 분들은 반대로 단순작업을 수행하는데 라즈베리파이를 이용하는 경우가 많다. 그냥 아두이노로 표현하는게 더 나을 작업을 구지 라즈베리파이로 구현 시킬려는 분들도 많다. 그래서 아두이노를 배우고 나서 라즈베리를 배우는게 가장 이상적이라고 저는 생각되네요.

'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 스위치 버턴 제어  (0) 2019.02.03
[아두이노] 3색 LED 제어  (0) 2019.02.02
[아두이노] 코딩 구조  (0) 2019.01.31
[아두이노] LED 제어  (0) 2019.01.30
아두이노 가상시뮬레이터  (0) 2019.01.24

댓글()

뮤즈스코어로 악보만들기

유용한팁|2019. 1. 27. 14:45

뮤즈스코어로 악보만들기





현재 버전2로 음악에 관심있는 초보분이나 아이들이 가지고 놀기에 괜찮은 무료 악보 프로그램을 소개합니다. 오래 전에 이 프로그램을 찾을려고 꽤 고생했는데 최근에 글들이 많이 올라와서 쉽게 관련 검색어만 치면 노출이 되네요.

사용법


도움말->온라인 안내서 누르면아래와 같이 확인 할 수 있습니다.

한글로 기초 사용법에 관하여 잘 소개 되어 있어서 잠깐 읽으시면 사용하는데 별 무리는 없을 거에요.

음표입력



기본적 N(음표입력)을 누른뒤 마우스로 원하는 음계를 마우스로 왼쪽 클릭하시면 그자리에 음표를 표시가 됩니다. 위에 4분, 8분, 16분.... 등의 음표들은 숫자키를 누르시면 대충 위치를 파악될꺼에요. 숫자를 누르고 마우스 누르면 해당 숫자의 음표를 누른 위치에배치되게 됩니다. 방향키로 음표 이동이 가능합니다.

그리고 입력을 중단하고 빠져나올 때 Esc키를 누르면 됩니다.

팔레트



팔레트의 여러 표현을 악보에 넣을때는 해당 이미지를 악보에 넣을 위치에 드래그 하면 됩니다.

가사입력



음표를 클릭하고 CTRL+L를 누르면 가사입력을 할 수 있으면 방향키 다음 음표의 가사를 입력을 할 수 있습니다. 그리고 속성창에서 수직오프셋의 값을 변경해서 가사의 적당한 위치로 변경 가능합니다.

내보내기 기능




PDF파일로 악보를 만들 수 있을 뿐만 아니라 이미지파일, 오디오 파일로 까지 만들 수 있다. 즉, wav, mp3, mid 파일로 만들어서 음악을 들을 수 있다.




그 외 좀 더 다양한 기능을 알아야 하지만 위에서 설명한 정도만 알아도 간단한 악보를 만드는데 무리가 없을 거에요. 사용도 쉽고 간단하기 때문에 온라인 안내서를 읽고 사용하셔도 되고 YOUTUBE에서 뮤즈스코어를 치시면 강좌가 은근 많네요. 보고 공부하셔도 됩니다.


댓글()

원격 제어용 TeamViwer 사용

유용한팁|2019. 1. 26. 10:44

원격 제어용 TeamViwer 사용






pc간 원격 제어가 필요할 때나 파일전송할 때나 또는 스마트폰으로 서로 원격 제어가 필요 할 때 사용하기 좋은 프로그램이라서 소개합니다.

1. PC에서 설치 없이 실행만 :


TeamViwer 정식 홈페이지에 가시면 비상업적 목적으로는 무료로 사용 가능합니다. 그리고 TeamViewer_Setup 파일을 다운 받습니다. 실행시 실행만을 선택하셔서 사용하시면 됩니다.

2. 스마트폰에 설치 :


원격 제어용 TeamViewer :

스마트폰에서 PC를 원격제어가 가능합니다. 스마트폰에서 pc바탕화면을 볼 수 있습니다. 파일원격제어도 속도가 빠른편이고요.
단점으로는 pc에서 스마트폰으로의 원격되어가 되지 않습니다. pc버전TeamViewer로 쌍방 원격제어가 가능하지만 스마트폰 어플은 PC로만 원격제어가 가능합니다.
추가로 Teamviewer QuickSupport를 설치해야합니다. 어플을 실행하면 첫 화면에 하단에 원격제어 허용을 위해 Quicksupport를 설치를 유도합니다.

Teamviewer QuickSupport

이 어플을 설치하시면 pc와 스마트폰, 스마트폰과 스마트폰끼리 쌍방원격제어가 가능합니다.
기본 기능을 다 사용 가능하지면 원격제어 창을 보기 위해서는 에드온 설치해야 합니다.

3. 사용법


대표적으로 두가지 기능이 있습니다. 원격제어와 회의기능이 있지만 회의 기능은 회원가입해야함으로 전 사용하지 않습니다. 원격제어를 할때만 유용하게 사용중이죠.
실행시키면 PC, 스마트폰, 테블릿 마다 각자 고유의 ID가 처음 생성됩니다. 재실행하셔도 ID는 고정으로 나타남으로 하지만 비밀번호는 재실행할때 새로운 번호로 갱신됩니다.

상대 ID는 한번 사용하면 자동으로 기록이 남아있게 됩니다. 다음에 접속할때는 재입력할 필요는 없습니다. 새로 생성된 비밀번호만 입력하시면 됩니다.


pc 간 연결시

TeamViewer를 서로 켜놓고 상대 ID와 비밀번호를 입력하시면 됩니다.
pc서 노트북으로 연결하게 되면 아래 화면처럼 나타납니다.


스마트 폰 연결시

스마트론에서 Teamviwewr QuickSupport가 실행시키고 ID를 입력하시면 스마트폰에 연결을 요청하게 됩니다.
스마트폰에서 허용을 누르게 되면 연결 됩니다.

파일원격제어

다중으로 여러대의 기기에 pc 한곳에서 동시에 접속과 제어가 가능합니다.
실험에서는 스마트폰과 노트북을 동시에 접속해서 실험하였어요.
pc와 스마트폰과의 채팅도 가능하고 pc에서 자유롭게 스마트폰을 원격제어를 할 수 있습니다. 스마트폰 원격제어 프로그램들이 대부분 속도가 느리고 이 프로그램 역시 느린 편이지만 그래도 쓸만한 프로그램입니다.

마무리


PC에 뭘 설치하는걸 싫고 필요시에만 원격 제어를 하고 싶다면 굳이 원격프로그램을 설치까지 하지 않아도 TeamViewer_Setup 파일만 있으면 여기서 실행만 선택하시면 PC 설치하지 않고 편하게 사용가능합니다. PC버전은 이것 하나지만 스마트폰에서는 해당 어플은 설치해야 사용할 수 있습니다.

댓글()

동영상 편집기(Lightworks )

유용한팁|2019. 1. 25. 13:19


라이트웍스(Lightworks)로 동영상 편집





1. 다운 받기


라이트웍스 공시 홈페이지 가시면 자신의 운영체제게 맞게 다운로드 받으시면 됩니다. 참고로 회원 가입을 하셔야 합니다. 회원 가입을 안하시면 7일간 무료 사용 후 더이상 사용할 수 없게 됩니다. 7일 이후에도 사용하기 위해서는 로그인을 하셔야 합니다.

2. 라이트웍스 시작 창


첫창은 영상을 새롭게 만들 프로젝트를 생성하는 창입니다. 여기에서는 7일단위로 로그인을 갱신해야하는 것 같더군요.
로그인만 하시면 계속 사용할 수 있어요.

7일이 지나면 로그인 하지 않으면 더 이상 사용할 수 없습니다.
설치하고 나서 바로 로그인 하시면 기본창 하단부분에 빨간글씨로 사용기간 표시가 사라집니다.

환경설정은 Flexible로 바꾸셔야 합니다. 그 이유는 제가 처음에 공부할때에 위에 소개한 강좌 블로그를 보고 연습하기 위해서는 바꾸셔야 합니다.Flexible로 강좌가 구성되어 있어서 처음 Flxed로 하시면 햇갈릴 수 있어요. 초보분들은 소개한 azel41 티스토어 블로그님의 강좌로 공부하시면 쉽게 기본적인걸 다룰 수 있을꺼에요.

구글 검색어로 라이트웍스 한글언어팩이라고 검색하시면 관련 글을 찾을 수 있고 거기에 다운받을 수 있는 주소를 링크 걸려있는데 그걸 참고하시고 설치하시면 됩니다. 참고로 그냥 영어버전으로 쓰는걸 추천 드려요. 언어가 좀 이상하게 번역된 느낌도 있어서 그냥 영어버전으로 쓰시는게 더 나을 꺼에요.

처음은 만들때 Frame rate에서 Mixed rates로 해서 하나 만들어서 시작하세요.

3. 라이트웍스 편집창


편집창으로 들어가면 아무것도 없습니다. Tools에 아이콘을 하나씩 눌러보시면 창 하나씩 뜨는데 대충 뜬 창만 보더라도 어떤 기능인지 쉽게 알 수 있을거에요.

아래 모습은 몇가지 창을 띄우고 나서 이전 시간 실험한 영상을 한번 올려봤어요.

ToolsTools창에 아이콘을 몇개 눌르고 영상 하나 불러 옴

그리고 영상은 외부에서 드래그 해도 되고 Toos의 두번째 아이콘을 누르면Select files to import로 경로를 지정하고 불러올 수 있다.

그냥 Tools를 한번씩 누르시면 쉽게 이해가 가실꺼에요.

4. 특수 효과창


여기에는 타이틀, 자막, 크로마킹, 모자이크, 화면 분활 등 다양한 특수 효과를 사용할 수 있습니다. 동영상편집 툴을 사용하는 이유가 이 기능 때문이겠죠. 왠만큼의 특수 기능을 사용할 수 있다는게 큰 장점이지만 그렇다고 해서 정교한 특수 효과는 없습니다. 라이센서 구매를 하지 않으면 제한된 기능과 720p가 최대 크기입니다. 그 이상을 사용할려면 구매하셔야 겠죠.

기본 핵심인 특수효과는 위 강좌가 링크된 곳을 보고 연습하시면 되기 때문에 따로 설명은 생략하겠습니다.

5. 저장


보시는 것과 같이 YouTube로 720p까지 지원 됩니다. 그 이상 쓸려면 구매하셔야 겠죠. 중요한것은 720p도 충분하다는 것이죠.

6. azel41의 강좌 소개


처음 무료 동영상 편집기 중에 그나마 기능이 많은 라이트웍스를 알게 되었고 이분의 블로그를 통해서 기초를 배우게 되었습니다. 꽤 잘 정리된 동영상 강좌입니다. 환경설정은 Flexible로 바꾸시면 이 강좌를 그대로 따라 연습하시면 될꺼에요.




마무리


아직은 저는 기초 수준뿐이 다룰 수 없습니다. 기초 강좌를 보고 대충 사용법은 터득했고요. 사용법도 다른 동영상 편집기보다 쉽습니다. 그래서 동영상 편집 입문자용으로 추천드립니다.








댓글()

아두이노 가상시뮬레이터

IOT/아두이노|2019. 1. 24. 15:08

아두이노 가상시뮬레이터






https://www.tinkercad.com


tinkercad에 가입하시면 3D 디자인과 Circuits(아두이노가상시뮬레이터)를 이용하실 수 있습니다. 이메일로 회원을 가입하시고 아두이노를 온라인 상에서 무료로 실험하세요.


제가 아두이노를 가상시뮬레이터에서 실험했던 일부 내용들 입니다.




이런 것들을 실제 아두이노를 구입하지 않더라도 편하게 온라인상에서 실험 할 수 있어서 처음 입문하시는 분들에게 많은 도움이 됩니다. 참고로, 처음 공부하시는 분들은 +, - 연결과 핀 연결의 오류가 발생하면 부품 or 아두이노 보드의 손상이 발생 할 수 있는데 가상시뮬레이터에서 충분히 연습하시면 오류를 최대한 줄일 수 있습니다. 


그리고, 실제 제작하는 시간에 비해 가상시뮬레이터 구현이 빠르기 때문에 순간 순간 마다 떠오르는 상상력을 바로 구현하여 결과를 확인 할 수 있어 아두이노 공부하시는 분들에게 큰 도움을 줍니다.


처음에는 많이 연습을 가상시뮬레이터로 하시고 나서 실제로 먼가를 만들고 싶을 때 필요한 부품들만 실제 구매하여 제작하시는 것이 아두이노 제작비를 줄일 수 있습니다. 처음 공부하시는 분들은 키트나 다양한 불필요한 부품들을 다 사서 한번씩 실험하는데 굳이 그럴 필요는 없습니다. 가상으로 기본 베이스 실험을 하고 실제로는 필요한 부품들만 최소 구매하여 실험하시면 됩니다. 그리고 작품을 만들 때 그 때 큰돈을 들여서 뭔가를 만드시면 됩니다.




다음으로, 3D 디자인을 놀이를 이 곳 사이트에서 할 수 있습니다. 은근 중독성이 있고 갤러리를 보시면 다양한 작품들이 있는데 복사해 와서 자신이 직접 수정하거나 보고 따라서 디자인을 할 수 있으니깐 한번 즐겨 보십시오.






'IOT > 아두이노' 카테고리의 다른 글

[아두이노] 스위치 버턴 제어  (0) 2019.02.03
[아두이노] 3색 LED 제어  (0) 2019.02.02
[아두이노] 코딩 구조  (0) 2019.01.31
[아두이노] LED 제어  (0) 2019.01.30
아두이노의 기초  (0) 2019.01.27

댓글()

애니메이션 이미지 편집기(Animated GIF Maker)

유용한팁|2019. 1. 22. 18:42

Animated GIF Maker 




애니메이션 이미지를 만들 때 사용하기 괜찮은 온라인 편집용이네요. 재미있는 애니메이션 이미지를 만드는데 장소에 구애받지 않고 실시간으로 온라인 상에서 만들 수 있다는 점이 괜찮네요. GIF or Video 원본 소스를 가지고 애니메이션 효과를 추가하거나 또는 Video영상을 GIF 파일로 만들어 낼 수 있다는 것이 꽤 매리트가 있는 사이트 입니다.




이미지 편집 과정


[ 1단계 ] : 이미지 불러오기

여러장의 이미지 파일을 한번에 선택합니다. 여기서 사용한 이미지는 SteemIt에서 쓰는 훈장 이미지를 가지고 애니메이션 효과를 부여해 보았습니다. 애니메이션 효과를 부여 할 5장의 훈장 이미지를 선택하고 Uload and make a Gif 버턴을 클릭하면 한번에 편집창으로 넘어갑니다.


[ 2단계 ] : 이미지 옵션 변경하기


위 그림에서 보는 것 처럼 타이머와 기타 옵션 기능이 있는데 원하는 형태로 세팅을 하시면 됩니다. 참고로 영어로 보기 불편한 분들은 크롬창에서 페이지번역하기를 눌러서 한글로 보시면서 세팅하셔도 됩니다.


간단히 기본 옵션을 변경하고 Make a GIF! 버턴을 누르시면 자동으로 애니메이션 이미지가 생성됩니다. 미리보기창으로 보는걸로 생각하시면 됩니다.


[ 3단계 ] : 이미지 다운받기


여러 ICON이 있고 추가적으로 효과를 부여하거나 편집할 수 있지만 간단히 사용실험이 목적이기에 SAVE 누르시면 내컴퓨터로 다운로드 됩니다.


[ 결과 ]






추가로, Video 영상을 GIF로 다이렉트로 만들 수 도 있습니다. 

단, 기본 세팅으로 만들 경우 5초 분량의 영상이 GIF파일이 4mb가 넘기 때문에 약간은 보정이 필요 합니다.


'유용한팁' 카테고리의 다른 글

LMMS 작곡프로그램  (0) 2019.01.28
뮤즈스코어로 악보만들기  (0) 2019.01.27
원격 제어용 TeamViwer 사용  (0) 2019.01.26
동영상 편집기(Lightworks )  (0) 2019.01.25
온라인 이미지 편집기(Pixlr Editor)  (0) 2019.01.21

댓글()

온라인 이미지 편집기(Pixlr Editor)

유용한팁|2019. 1. 21. 17:23

Pixlr Editor




Pixlr Editor은 Google 이미지 검색하셔서 원본 이미지주소나 무료사이트 이미지를 가져와서 온라인상에서 쉽게 이미지를 편집할 수 있습니다.  참고로 이미지 주소만으로 이미지를 다이렉트로 Online Pixlr Editor로 불러 올 수 있다는 점이 가장 마음에 듭니다. 만약, 이미지를 다운로드 한 뒤에 내컴퓨터에 저장 된 이미지를 다시 Online Pixlr Editor로 불러 온다면 참 번거롭겠죠. 그부분을 Online 상에서 해당 이미지 주소를 알고 있다면 직접 URL로 불러 올 수 있어 괜찮더군요.




이미지 편집 과정


[ 1단계 ] : 이미지 불러오기

  • 새 이미지 생성 : 빈 이미지 만듬
  • 컴퓨터로부터 이미지 열기 : 컴퓨터 저장된 이미지 열기
  • URL로부터 이미지 열기 : 웹상 이미지를 주소를 알고 있다면 다이렉트로 열기
  • 라이브러리로부터 이미지 열기 : 회원가입해야 사용 가능함


[ 2단계 ] : URL로부터 이미지 열기


  • URL로부터 이미지 열기 : 웹상 이미지를 주소를 알고 있다면 다이렉트로 열기

해당 웹상에서 마우스 오른쪽 버턴을 누르고 이미지 주소 복사를 눌러주면 URL를 Copy할 수 있다. 그리고 나서 이미지 불러오기에서 URL로부터 이미지 열기를 누르면 아래와 같은 창이 나온다.




그리고 나서 열린 이미지를 편집하시면 된다.


[ 3단계 ] : 이미지 편집하기




여기서 이미지를 불러오면 레이어에 자물쇠가 잠겨져 있다. 이미지를 편집하면 수정이 안된다. 자물쇠로 잠긴 모양을 더블 클릭하게 되면 풀리게 되고 이미지를 편집할 수 있게 된다. 우선 배경이미지와 삽입이미지 두장을 두고 왼쪽 도구상자에서 마술봉 도구를 사용하여 채굴 이미지에 있는 배경을 제거하였다. 좀 더 다듬어야 하는데 여기서는 기본적인 이미지를 편집하는 할 수 있는 Editor 소개로 대충 케릭터의 이미지만 남기고 배경은 제거하였다. 여러분들이 한번 pixabay 무료 이미지를 가져와서 다양한 표현을 해보는 것도 서 많은것들을 표현할 수 있습니다.



[ 결과 ]




보시는 것과 같이 온라인 상에서 쉽게 이미지를 편집이 가능합니다.






'유용한팁' 카테고리의 다른 글

LMMS 작곡프로그램  (0) 2019.01.28
뮤즈스코어로 악보만들기  (0) 2019.01.27
원격 제어용 TeamViwer 사용  (0) 2019.01.26
동영상 편집기(Lightworks )  (0) 2019.01.25
애니메이션 이미지 편집기(Animated GIF Maker)  (0) 2019.01.22

댓글()