'분류 전체보기'에 해당되는 글 35건

  1. 2015.04.03 NAZE32 세팅
  2. 2015.04.03 ORCA 280 쿼드콥터 전자장비 설치하기
  3. 2015.04.03 ORCA 280 조립기
  4. 2015.04.03 휴대용 GPS 위치 표시기
  5. 2015.04.03 아두이노 스케치
  6. 2015.04.02 QAV250 비행 5
  7. 2015.03.21 가변 저항
  8. 2015.03.21 저항기 - 전압배분
  9. 2015.03.21 LED 태우기
  10. 2015.03.19 QAV250 세팅 완료 1

NAZE32 세팅

항공우주 2015. 4. 3. 23:49

'항공우주' 카테고리의 다른 글

Ornithopter  (0) 2015.04.05
NAZE32 setting - CleanFlight  (0) 2015.04.03
ORCA 280 쿼드콥터 전자장비 설치하기  (0) 2015.04.03
ORCA 280 조립기  (0) 2015.04.03
QAV250 비행  (5) 2015.04.02
Posted by J1Lee
,

'항공우주' 카테고리의 다른 글

NAZE32 setting - CleanFlight  (0) 2015.04.03
NAZE32 세팅  (0) 2015.04.03
ORCA 280 조립기  (0) 2015.04.03
QAV250 비행  (5) 2015.04.02
QAV250 세팅 완료  (1) 2015.03.19
Posted by J1Lee
,

ORCA 280 조립기

항공우주 2015. 4. 3. 23:46

'항공우주' 카테고리의 다른 글

NAZE32 세팅  (0) 2015.04.03
ORCA 280 쿼드콥터 전자장비 설치하기  (0) 2015.04.03
QAV250 비행  (5) 2015.04.02
QAV250 세팅 완료  (1) 2015.03.19
CC3D setup  (0) 2015.03.14
Posted by J1Lee
,

자 이번에는 아두이노와 GPS 수신기, 그리고 LCD를 이용해서 휴대용 GPS 위치 표시기를 만들어볼까 해요. 


우선 준비물

아두이노 우노 -- 1EA

GPS           -- 1EA  (U-blox 6010) 



LCD           -- 1EA  (Dfrobot LCD Keypad shield)




배선 작업이 귀찮아서 실험실에 있던 LCD 쉴드를 약간 개조해서 사용했어요. 

쉴드는 아두이노 보드 위에 땜질 없이 핀만 맞추어서 끼우도록 제작된 제품이랍니다. 

우선 스케치는 다음과 같아요. 

조금 길어서 두 부분으로 나누었어요. 길다해도 반은 변수 지정이라... 실제 주요 부분은 간단합니다. 

아래 그림의 #include<TinyGPS.h> 는 TinyGPS.h라는 라이브러리를 불러오는 명령이에요. 

물론 저 라이브러리 부분을 스케치에 다 기술할 수도 있지만 자주 사용하는 것들은 라이브러리처럼 모듈화 해두면 나중에 쓰기가 참 편하겠죠. 

그리고 많은 사람들이 친절하게도 저런 라이브러리들을 무료로 배포하고 있답니다. 

필요한 사람은 가져다 쓰기만 하면 되겠죠. 

여기서는 TinyGPS와 LiquidCrystal 라이브러리를 가져왔어요. 

LiquidCrystal은 LCD구동용 라이브러리랍니다. 

그 다음 줄은 int, long, unsigned long, unsigned short 뭐 이런 것들이 나오는데 이것들은 "변수형" 이라고 하는 것들이에요. 


아두이노 변수의 종료와 범위는 다음 표를 참조하세요. 


나중에 따로 설명할 일이 있을테니 우선은 그런게 있다는 정도로 알면 되겠어요. 

그 아래에는 LAT이라는 함수가 오고 그 내용은 Latitude의 좌료를 도 분으로 계산해주는 내용을 담고 있어요. 

그 다음은 LCD화면에 출력하는 lcd.print가 나오고 

lcd.setCursor함수는 출력하고자하는 내용이 LCD화면의 어디에서 시작하는지를 지정합니다. 

함수에 대한 설명은 아두이노 홈페이지 arduino.cc 에 자세하게 나오니 확인하시기 바랍니다. 


다음은 이제 주 스케치 부분이 되겠어요. 

셋업 함수에서는 시리얼 통신과 LCD화면 시작점 지정 및 초기 문구 출력을 하네요. 

Serial.begin(38400); 의 의미는 시리얼통신을 38400bps로 시작한다는 의미에요. 

시리얼 통신은 두 개의 기기간 정보를 주고 받는 통신 방법 중 한 가지 방법이에요. 

GPS test라는 문구를 LCD의 0,0 좌표에서 시작한다는 내용이고 2초간 표시합니다. 


그 다음은 Loop 함수가 나오고 

GPS의 data를 읽어서 윗 부분의 스케치에서 나왔던 LAT, LON 함수에 읽은 정보를 보내면 LAT, LON 함수에서 지정하는 방법으로 GPS로 부터 받아온 정보를 LCD에 표시하게 됩니다. 


다소 스케치가 어렵게 느껴질 수도 있는데 그럴 수 있어요. 

항상 프로그래밍을 배우면서 처음 하는게 Hello World 이런거만 하다 보니까 재미도 없고 진도도 안나가는데.. 조금 난이도 있는 걸 잘 모르더라도 따라서 해보면 뭔가 되는 것 같고 하면 좀 의욕이 생기지 않나요? 

그래서 거꾸로 한 번 해보고 그것을 구성하는 내용들을 차근 차근 공부해 가면 왜 그게 필요한지 알기 때문에 의지가 더 생기는 것 같아요. 

아무튼 연결하고 스케치를 업로드 하면 다음과 같이 표시되죠.. 숫자는 물론 GPS를 연결하지 않아서 저렇게 나오는 거구요. 아래사진은 스케치를 업로드하고 LCD쉴드만 연결한 생태에요. 

GPS에서 나오는 선은 4가닥으로 5V, GND, 시리얼통신(RX,TX)로 구성되어 있어요. 

GPS의 RX는 아두이노의 TX, GPS의 TX는 아두이노의 RX에 연결하고 전원선은 아두이노에서 나오는 5V전원을 연결해주면 하드웨어 세팅은 끝. 

아래 사진의 너저분한 선들이 GPS와 연결되는 선들이고 아래쪽은 전원 윗쪽은 시리얼 통신 선이 되겠습니다. 

잘 알겠지만  GPS는 실내에서는 위성신호를 받을 수가 없어 먹통이 되서 위 사진처럼 9자만 나올 수도 있어요. 

밖에 나와서 전원을 넣고 잠시 기다리면... 아래 사진과 같이 위, 경도가 LCD화면에 표시된답니다. 


다음 포스팅에서는 오늘 내용의 구성 부분인 LCD에 대해서 알아보도록 하죠.




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

아두이노 스케치  (0) 2015.04.03
아두이노 LED 구동  (0) 2015.03.06
Posted by J1Lee
,

지난번 LED 깜빡이기 포스팅에 대한 설명입니다. 

엄청 오랜 시간이 지나버렸네요. 

아래 그림은 아두이노의 하드웨어에 우리가 원하는 동작(LED 깜빡거리기)을 할 수 있도록 소프트웨어를 입력하기 위한 입력창이라고 보면 되겠어요. 

전문용어로는 "스케치"라고 한답니다. 

위쪽으로 스크롤 해보면 회색 글씨로 뭐라뭐라 영어로 막 써있어요. 

뭐 그닥 중요한 내용은 아니에요. "주석" 이란 말 들어봤나요? 금속 주석이 아니고 설명문을 뜻하는 거죠. 

그냥 코딩만 써놓으면 나중에 내가 뭔 짓을 해 놨는지 알 수 없을 때가 많아요. 

주석은 // 로 시작하고 //는 그 줄만 주석 처리되는 거랍니다. 

긴 문단을 주석처리하려면 /* 문단 */ 이렇게 하면 돼요. 그리고 주석부분은 프로그램에 아무런 영향을 주지 않는답니다.


자 이제 중요한 본론으로 넘어가서 아두이노에는 아래 그림 처럼 꼭 

void setup() {

}

void loop(){

}

가 들어가 줘야해요. 

void ***()는 함수에요. 

그러니까 아래 코드에는 setup이라는 함수와 loop라는 함수로 구성된거죠. 

setup은 말 그대로 설정이에요. 기본 설정을 하는거죠... 

loop라는 함수는 뜻대로 계속 도는거에요. loop함수 내의 내용이 무한 반복되는거죠. 



setup함수에 뭐가 있나 볼까요? 주석 빼고는 

pinMode(13,OUTPUT); 

이것 밖에 없네요. 지난번 포스팅에서 보면 우리가 LED를 13번 핀에 연결했어요. 기억 안나면 한번 다시 가서 보세요. 

13번에 연결된 LED를 켜려면 뭔가 전원을 출력해줘야 하겠죠? 

그래서 출력 이라는 뜻의 OUTPUT을 적어줍니다. 

"13번핀의 모드를 출력으로 바꿔라" 이런 의미인거죠

이번에는 loop함수 안에는 뭐가 있나 보죠. 

주석 빼고 

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

이라고 되어 있어요

디지털 쓰기 (13, 하이) 이런의미죠. 알다시피 디지털은 0과 1로 되어 있어서 1은 HIGH, 0은 LOW입니다. 당연히 HIGH라고 써주면 13번 핀에 1을 출력 하겠죠. 아두이노는 내부 전압이 5V로 동작하므로 HIGH를 해주면 5V가 출력됩니다. 0인 LOW를 입력하면 당연히 꺼져서 0V가 나오니까 LED가 동작하지 않아요. 

delay란 함수는 말그대로 지체를 의미합니다. delay 함수 안에 씌여진 1000이란 숫자는 1000ms를 뜻합니다. 그러니까 1초가 되겠죠. 

위의 내용을 무한 반복하면 LED가 켜지고 1초후 꺼졌다가 다시 1초후 켜짐을 무한 반복하게됩니다. 

깜빡이는 속도를 변화시키려면 delay함수 안의 숫자를 바꾸면 되겠죠. ^^



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

휴대용 GPS 위치 표시기  (0) 2015.04.03
아두이노 LED 구동  (0) 2015.03.06
Posted by J1Lee
,

QAV250 비행

항공우주 2015. 4. 2. 08:51

세팅후 두번째 비행입니다.


기체 : Lumenier QAV-250

모터 : Lumenier FX2206-13 2000KV

ESC : Lumenier 12 amp ESC with SimonK Firmware

FC : CC3D



'항공우주' 카테고리의 다른 글

ORCA 280 쿼드콥터 전자장비 설치하기  (0) 2015.04.03
ORCA 280 조립기  (0) 2015.04.03
QAV250 세팅 완료  (1) 2015.03.19
CC3D setup  (0) 2015.03.14
QAV250 미니 쿼드콥터 - 조립편  (1) 2015.03.14
Posted by J1Lee
,

가변 저항

전기전자 2015. 3. 21. 22:00

이번 포스팅에서는 가변저항을 알아보겠습니다. 

실험실에 있는 걸 찾아보니 포텐셔미터, 트림팟, 광센서, 이렇게 3가지가 있네요. 

준비물

1x 파워서플라이

1x LED 

2x 100Ohm 저항

1x potentiometer

1x Trim pot

1x photo resistor


회로 연결은 다음과 같이 하고 





'전기전자' 카테고리의 다른 글

모터 구동  (0) 2015.04.06
트랜지스터 NPN? PNP?  (0) 2015.04.06
저항기 - 전압배분  (0) 2015.03.21
LED 태우기  (0) 2015.03.21
오옴의 법칙- 직렬회로  (0) 2015.03.17
Posted by J1Lee
,

저항기는 주로 전기회로의 전류를 제한하기 위한 수동 전기 소자에요. 

과도한 전원 공급으로 소자가 망가지는 것을 방지하거나, 전압 배분 등에 주로 쓰이게 됩니다. 

본 포스팅에서는 몇 가지 실험을 통해서 저항의 역할을 알아보도록 할거에요. 

우선 필요한 것

1x 파워서플라이

1x 빵판(브레드보드)

1x LED

2x 100ohm 저항

1x 포텐시오미터

1x 트림팟

1x 광 저항기

점퍼와이어 여러개


먼저 LED에 과도한 전원을 연결하면 LED가 망가지는 걸 지난 포스팅에서 봤습니다. 

http://benzydad.tistory.com/33


우선 회로 구성은 다음과 같아요. 


저항을 왜 이렇게 연결하는 지는 LED 포스팅에서 알아봤어요. 

위 회로에는 전압을 5V로 입력했어요. 여기에 적절한 저항값은 다음과 같이 계산이 됩니다.

R=(5-1.8)/0.015 = 213Ohm로 약 200Ohm의 저항이 필요하죠. 

200Ohm짜리가 없어서 100Ohm짜리 2개를 직렬로 연결했어요. 


이 회로에서 우리는 저항을 이용한 전압 분배를 확인할 수 있는데요. 



1-4번의 전압을 측정하면 당연히 5V가 나오겠죠.

일반적인 LED의 요구 전압은 약 1.8V, 전류는 약 15mA로 알려져있습니다.

그럼 2-4 구간의 전압은 5-1.8=3.2V가 되겠군요. 

R1과 R2의 저항값이 100Ohm으로 같다면 1.6V씩 흐르겠지요. 

자 동영상으로 확인해볼까요?


영상을 보면 LED에 걸리는 전압이 2.08V네요. 우리가 생각했던 전압보다 조금 높군요. 

그럼 나머지 저항에 걸리는 전압은 2.92V가 되겠고 각각의 저항에 걸리는 전압은 2.92/2 V로 1.46V 정도가 됩니다. 영상 보면 대략 그렇게 나오죠. 저항값이 완전 정확하게 100Ohm이 아니라서 차이는 좀 있어요. 


'전기전자' 카테고리의 다른 글

트랜지스터 NPN? PNP?  (0) 2015.04.06
가변 저항  (0) 2015.03.21
LED 태우기  (0) 2015.03.21
오옴의 법칙- 직렬회로  (0) 2015.03.17
LED  (0) 2015.03.06
Posted by J1Lee
,

LED 태우기

전기전자 2015. 3. 21. 19:09

LED에 대한 내용은 지나 포스팅 http://benzydad.tistory.com/27 을 참조하세요. 

지난 포스팅에서 다루었던 것처럼 LED는 적절한 구동 전압, 구동 전류를 사용하여야 하며 이를 넘어서는 입력을 주게되면 수명이 짧아지거나 망가지게 됩니다. 

이번 포스팅에서는 그걸 실험해 볼건데요. 

우선 필요한 것은 

1x 파워서플라이

1x LED

파워서플라이에 LED를 다음과 같이 연결합니다. (극성에 주의하시고...)

아 참.. 악어손 핸디맨이 LED를 들고 있는데 수고해주었군요 ^^



위 사진에서 보면 맨 왼쪽의 1번 채널에 연결했어요. 파워서플라이 화면에 보면 맨 좌측 부분의 값을 조절해야겠지요. 


동영상 보면 2V, 10mA 정도에서 LED에 불이 들어오고 

3V일때 4mA 정도 사용하고 

4V일때 64mA 정도를 사용하면서 LED가 엄청 밝아지네요.. 

5V, 168mA 정도를 쓰면서 더 밝아지다가 

6V가 넘어가니 LED가 망가지고 말았어요. LED가 단선이 되니 당연히 전류가 더 이상 흐르지 않고 0A가 되겠죠.


'전기전자' 카테고리의 다른 글

가변 저항  (0) 2015.03.21
저항기 - 전압배분  (0) 2015.03.21
오옴의 법칙- 직렬회로  (0) 2015.03.17
LED  (0) 2015.03.06
저항기  (0) 2015.03.06
Posted by J1Lee
,

QAV250 세팅 완료

항공우주 2015. 3. 19. 19:25


5"X 3" propeller로는 간신히 뜨네요. 

오늘 배송받은 5"x 4" propeller가 딱 맞는듯.

총 무게는 597g이구 

띄워보니 워블링없이 영상이 깔끔하게 잘 나오네요. 

기체 : Lumenier QAV250

모터 : Lumenier FX2206-13 2000KV

프롭 : Gemfan 5040

배터리 : Zippy 3S 1300mAh

배터리 알람 : 하비킹 제품(2~6S)

FC : CC3D

CAM : Mobius 

FPV 장비 : XXX


'항공우주' 카테고리의 다른 글

ORCA 280 조립기  (0) 2015.04.03
QAV250 비행  (5) 2015.04.02
CC3D setup  (0) 2015.03.14
QAV250 미니 쿼드콥터 - 조립편  (1) 2015.03.14
NAZA V2 위치정밀도  (0) 2015.02.27
Posted by J1Lee
,