본문 바로가기

아두이노 쿼드콥터10

드론 DIY | 누구나 쉽게 만들 수 있는 드론 제작기 2부 드론 DIY, 코딩부터 조종까지 만드는 과정을 포스팅하려고 한 지 어느새 몇년이 흘렀다. 그 동안 취직을 포함해 이런저런 일들로 바빠서 포스팅을 못해왔는데, 다시 제대로 시작해보려고 한다.드론 DIY. 누구나 쉽게 만드는 드론 제작기 이 포스팅의 목적은, 미취학 아동부터 성인에 이르기까지 누구나 쉽게 만들 수 있는 드론 제작을 널리 알리기 위함이다. 4차 산업혁명에 대한 국민적 관심이 뜨거운 가운데, 그 일부를 이루는 드론 정도는 제작해볼 수 있지 않을까? 단지 조립에서 끝나는 것이 아니라, 세부적인 코딩부터 오픈소스를 활용하여 알고리즘을 구상하고, 실전에 적용하여 조종 모듈까지 만드는 게 최종 목표다. 조종기는 핸드폰 앱으로 하거나, 기타 통신 방식을 사용해 구현할 생각.1부에 대한 포스팅은 지금까지 .. 2017. 5. 4.
드론 DIY | 아두이노 PID 제어 코드 (코드 첨부) 지난 포스팅에서 PID의 원리가 뭔지, 대체 왜 필요한지에 대해 구구절절 설명했다.따라서 이번 포스팅에서는 사실 가장 중요한? 아두이노 코드에 대해 쓰려고 한다. 서술하기에 앞서, 아두이노라는 녀석이 어떻게 동작하는지 알 필요가 있다. 이미 C언어를 어느정도 아는 사람이라면 척보면 다 알지만, 코딩을 처음 해보는 사람들에게는 매우 생소할 것이므로! 처음 C를 배우는 사람도 할 수 있게끔 설명하고자 한다. 1. 아두이노 코딩을 위해 반드시 알아야할 팩트들 아두이노 IDE를 먼저 받아야하는데, 그건 지난 포스팅에 있으므로!오늘은 바로 코딩을 보도록 하겠다. 아두이노 IDE를 실행시키면 다음과 같은 문구들이 뜬다. void setup() { // put your setup code here, to run on.. 2016. 2. 12.
드론 DIY | 드론 PID 제어 이론 2 지난 포스팅을 요약하자면, 1. 드론 자세제어에는 PID가 필요하다.2. PID란, 비례 적분 미분의 약어이다.3. PID의 원리를 진자운동에 비유했는데, 이를테면 드론을 10도 기울여라~~ 란 명령을 주면, 드론은 사실은 11도까지 기울었다가, 다시 출력 조절하여 9도를 왔다가~ 다시 출력조절되서 10.5도갔따가~ 이러다가 10도에 딱 오게 된다는 것. 쉽게 얘기해서 위와 같은거고, 이제는 조목조목 따져보자. PID 이해를 위해 가장 중요한 것은, 바로 오차의 개념이다. 오차란? 말 그대로 오차다. 위에서 예를 들었듯이 만약 드론이 지금 수평상태로 있는데 내가 10도 기울이란 명령을 줬다고 하자. 그렇다면 지금 오차는 바로 10도가 되는 것이다. 시간이 흘러 드론이 11도까지 왔다면 오차는 -1도가 되.. 2016. 2. 11.
드론 DIY | 드론 PID 제어 이론 1 이번 편은 드론 자세 제어에 가장 많이 등장하는 PID 제어의 개념에 대한 포스팅 1편!! 처음 드론을 만드는 사람 입장에서는 제어라는 개념이 생소할 수도 있다. 거기에 PID.. 뭔지 모를 영어까지 나온다니 더 당황할만.먼저, 제어가 뭔지 생각해보자. 제어가 뭘까? 드론을 자세 제어한다고 하는데, 대체 제어란게 뭘까.쉽게 생각해보면 된다. 이 말 너무 많이하는 것 같은데 드론 자세제어는 별로 어려운 개념이 아니다.. 쿼드콥터는 프로펠러에서 발생하는 추력을 바탕으로 이동하게 된다. 4개의 프로펠러가 있으니, 그 4개의 프로펠러에서 나오는 추력이 동일하면 제자리에서 붕 뜰까??? 절대 아니다. 애초에 지면 상태가 다소 기울었을 수도 있고, 4개의 추력이 절대 같을 수가 없기 때문이다. http://www... 2016. 2. 11.
드론 DIY | 아두이노 mpu6050 각도 코드 및 이론 음.. 사실 이 드론 DIY 포스팅의 목적은, 누구나 쉽게 이해할 수 있도록 서술하는 것이다. 음... 조금만 목적을 바꾸기로 했다.누구나 조금만 관심있게 찾아본다면 드론을 만들 수 있도록? 그리고 기존에 이 드론의 형상은 말그대로 비행기형상이었다. 두개의 프로펠러를 가지고, 가벼운 비행기 형태의 프레임으로 제작하려고 했는데 상황이 상황인만큼, 그냥 일반적인 쿼드콥터로 진행해보려고 한다. 이번 포스팅에서는 mpu6050 이라는 각도 센서에서 각도를 추출하는 방법과 기본적인 회전 이론에 대해 다루고자 한다. 지난 포스팅에 아두이노가 대체 왜 필요한지에 대해 서술했다. 대체 아두이노란 녀석이 드론에서 뭐하는 녀석인지.. 정리하자면 바로 두뇌였다. 내가 원하는 움직임을 위해 모든 명령을 전달할 놈이 바로 아두.. 2016. 2. 9.
드론 DIY | 아두이노 프로그래밍 드론 DIY | 아두이노 프로그래밍 4편. 본격적인 아두이노 탐구 지난 편에, 드론의 두뇌같은 역할을 하는 게 아두이노라고 하였다. 그렇다면 아두이노에 어떻게 프로그래밍하는지, 즉 두뇌라는 녀석을 어떻게 설계하는지를 이번 편에서 다뤄볼 예정이다... 아마 프로그래밍 자체는 안할 것 같긴한데.. 그래서 이번 포스팅이 참 애매하다. 만약에 드론 DIY 포스팅을 책으로 출판한다면야 열심히 해서 아두이노 예제들까지 다 올려볼텐데... 아직 그건 아니므로!! 일단은 아두이노는 C언어 기반이라고 한다. 나도 컴퓨터 전공자는 아니기 때문에, AVR 공부도 딱히 해본 적도 없기 때문에 아주 기초적인 수준에서 이야기를 풀어나가고자 한다. 아두이노는 일종의 중간 매개체이다. 명령을 따르고 수행해주는 녀석이랄까. 음...... 2015. 12. 9.