Difference between revisions of "F15: Quadcopter by Thomas"
From Embedded Systems Learning Academy
Proj user1 (talk | contribs) |
Proj user1 (talk | contribs) |
||
| Line 1: | Line 1: | ||
| + | |||
| + | ==Abstract== | ||
| + | The goal of this project is try to implement the basic function of a drone, fly and controlling the direction by remote control. | ||
| + | |||
| + | ==Design & Implementation== | ||
| + | |||
| + | ===PWM=== | ||
| + | The four motor on the done is controlled by the PWM (Pulse Width Modulation). The SJSUone board already gave us a good library to use, so we just have to set the frequency and pin at the beginning of the code. | ||
| + | |||
| + | |||
| + | The example of using the library. | ||
| + | <source lang="c"> | ||
| + | |||
| + | #define PWM_FREQ 500 | ||
| + | #include "lpc_pwm.hpp" | ||
| + | #include "uart0.hpp" | ||
| + | #include "stdio.h" | ||
| + | |||
| + | void motor_test() | ||
| + | { | ||
| + | |||
| + | PWM servo1(PWM::pwm1, PWM_FREQ); | ||
| + | PWM servo2(PWM::pwm2, PWM_FREQ); | ||
| + | PWM servo3(PWM::pwm3, PWM_FREQ); | ||
| + | PWM servo4(PWM::pwm4, PWM_FREQ); | ||
| + | |||
| + | |||
| + | Uart0& terminal = Uart0::getInstance(); | ||
| + | terminal.init(38400); | ||
| + | |||
| + | float p; | ||
| + | int num; | ||
| + | |||
| + | while(1){ | ||
| + | |||
| + | printf("NO="); | ||
| + | scanf("%d",&num); | ||
| + | printf("pwm percent="); | ||
| + | scanf("%f", &p); | ||
| + | |||
| + | switch(num){ | ||
| + | |||
| + | case 1: | ||
| + | servo1.set(p); | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | servo2.set(p); | ||
| + | break; | ||
| + | |||
| + | case 3: | ||
| + | servo3.set(p); | ||
| + | break; | ||
| + | |||
| + | case 4: | ||
| + | servo4.set(p); | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | return; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | </source> | ||
| Line 4: | Line 70: | ||
The picture of the SJdrone | The picture of the SJdrone | ||
| − | [[File:Thomas quad SJdrone.jpg]] | + | [[File:Thomas quad SJdrone.jpg|200px]] |
Revision as of 18:49, 2 September 2015
Abstract
The goal of this project is try to implement the basic function of a drone, fly and controlling the direction by remote control.
Design & Implementation
PWM
The four motor on the done is controlled by the PWM (Pulse Width Modulation). The SJSUone board already gave us a good library to use, so we just have to set the frequency and pin at the beginning of the code.
The example of using the library.
#define PWM_FREQ 500
#include "lpc_pwm.hpp"
#include "uart0.hpp"
#include "stdio.h"
void motor_test()
{
PWM servo1(PWM::pwm1, PWM_FREQ);
PWM servo2(PWM::pwm2, PWM_FREQ);
PWM servo3(PWM::pwm3, PWM_FREQ);
PWM servo4(PWM::pwm4, PWM_FREQ);
Uart0& terminal = Uart0::getInstance();
terminal.init(38400);
float p;
int num;
while(1){
printf("NO=");
scanf("%d",&num);
printf("pwm percent=");
scanf("%f", &p);
switch(num){
case 1:
servo1.set(p);
break;
case 2:
servo2.set(p);
break;
case 3:
servo3.set(p);
break;
case 4:
servo4.set(p);
break;
default:
return;
}
}
}