모터 회전 구현하기-Processing- 목표 Processing에서 GUI 형태로 매개변수(게인)값을 조정해서 아두이노로 시리얼 통신을 통해 값을 전달해 주는 코드 작성하기 소스코드 import controlP5.*; import processing.serial.*; ControlP5 cp5; Serial comPort; void setup(){ size(700, 360); noStroke(); cp5 = new ControlP5(this); cp5.addTextlabel("", "Drone PID Tunning") .setPosition(200, 10) .setColorValue(0xffffff00) .setFont(createFont("Lucida Sans", 30)) ; cp5.addSlider(..
모터 회전 구현하기 -Arduino IDE- 목표 프로세싱에서 받은 매개변수(게인) 및 throttle 값에 따라 모터 회전 속도를 구현하는 코딩 순서 1. 프로세싱에서 받은 값에 따라서 모터 속도를 구현2. 프로세싱에서 매개변수 및 throttle 값을 변경할 수 있는 코드 작성(다음 포스팅에서 함) 소스코드 #include const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; void setup() { initMPU6050(); //MPU-6050 센서에 대한 초기 설정 함수 Serial.begin(115200); //Serial 통신 시작 calibAccelGyro(); //센서 보정 initDT(); //시간 간격에 대한 초기..
PID 출력값에 따라 모터속도 계산하기 목적드론이 어느 방향으로 기우느냐에 따라서 모터 속도가 컨트롤 되면서 드론이 수평을 유지하도록 하는 것 입니다. 해햐할 부분기존 PID 출력값을 프로세싱을 보냈는데 이제는 프로세싱으로 보내는 대신 PID출력값을 계산해서 모터로 보내어 속도를 제어하는 부분을 추가해야 한다. 소스코드 #include const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; void setup() { initMPU6050(); //MPU-6050 센서에 대한 초기 설정 함수 Serial.begin(115200); //Serial 통신 시작 calibAccelGyro(); //센서 보정 initDT(); //시간 간격에 ..
전달 받은 매개변수를 아두이노에 적용시키기 목표 프로세싱에서 시리얼 통신을 이용해서 시리얼 포트롤 통해 보낸 매개변수를 아두이노에 적용을 시켜서 GUI 그래프 차트상으로 매개변수 변경함에 따라서 차트 변화 확인하기 소스코드 /* * 목표 : 프로세싱에서 보낸 매개변수를 아두이노에서 받아서 드론으로 구동시키기 * 기술 : 프로세싱에서 시리얼 통신으로 시리얼 포트를 통해 보내준 9개의 매개변수 값들의 설정을 적용시키기 */ #include const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; void setup() { initMPU6050(); //가속도 자이로 센서 값을 읽음 Serial.begin(115200); calibAccelG..
프로세싱에서 PID 매개변수 설정하기 목표 프로세싱에서 매개변수를 설정해주고 설정 한 값들을 시리얼 포트를 이용해서 아두이노로 값을 전달한다(여기서는 매개변수 설정만 해주고 아두이노로 전달하지는 않는다.) 소스코드 import processing.serial.*; //Library to Serial import controlP5.*; //Library to ControlP5 ControlP5 cp5; Chart rollChart, pitchChart, yawChart; Serial Comport; void setup() { size(700, 440); noStroke(); cp5 = new ControlP5(this); //creative Objecy GUI cp5.addTextlabel("","Dron..
Processing 으로 PDI 출력 구현 목표 이전 포스팅(아두이노에서 PID 출력값을 프로세싱으로 보내기)에서 받은 PID 출력 값을 확인할 수 있도록 하기 소스코드 import processing.serial.*; //Library to Serial import controlP5.*; //Library to ControlP5 ControlP5 cp5; Chart rollChart, pitchChart, yawChart; Serial Comport; void setup() { size(700, 200); noStroke(); cp5 = new ControlP5(this); //creative Objecy GUI cp5.addTextlabel("","Dron PID Output") .setPositio..
아두이노 IDE에서 프로세싱으로 PID 출력 보내기 목표Arduino IDE에서 PID 출력 값을 Processing IDE로 보내기 소스코드 /* * 목표 : 1. 프로세싱을 이용해서 GUI 형태의 그래프 형태로 PID 출력 값 살펴보기 * 2. 프로세싱에서 제공하느 슬라이더를 이용해서 PID 매개변수(게인)를 조절 */ #include const int MPU_addr = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; void setup() { initMPU6050(); //가속도 자이로 센서 값을 읽음 Serial.begin(115200); calibAccelGyro(); //센서 보정 루틴 initDT();// 시간 간격에 대한 초기화 } void loop..
아두파일럿(아두이노 드론) 공부 순서 1. Arduino Micro Pro에 대한 설명 -> Ardupilot의 프로세서인 ATmega32u4(아두이노 마이크로 프로)2. ESP8266에 펌웨어 업로드 시키기 3. Transparent Bridge를 이용해서 Esp8266에 펌웨어 업로드 시키기4. 모터를 동작 시키기 위한 millis() 함수 알아보기5. Ardupilot에 사용되는 Motor 소개 및 간단한 테스트6. 프로세싱과 ESP8266을 이용해서 와이파이 통신으로 드론 모터 조절하기_17. 프로세싱과 ESP8266을 이용해서 와이파이 통신으로 드론 모터 조절하기_28. MPU-6050 센서란?9. 자이로 센서란? (추가설명)10. 가속도 센서 값 해석하기11. 자이로 센서 값 해석하기12. 프..