3962浏览
查看: 3962|回复: 6

【自制无人机】“辛”路历程(七)L289N_PWM MPU6050模块

[复制链接]
【前言】
由于淘的桨叶还没有到, 就不用无刷电机来试了。准备用普通电机+L289N电机驱动板+闺女的玩具无人机上的桨叶(无人机已被我偷偷拆了,拆解视频以后放出,上面的飞控还没有研究)。
关于 L289N的使用,请参考下面的帖子:
Arduino利用三种方法产生PWM波使用L298N驱动电机(附电路连接图和pwm详解)

【测试一】
【自制无人机】“辛”路历程(七)L289N_PWM MPU6050模块图1

利用角度传感器,测试Leonardo+L289N,利用PWM控制电机转速。



(一只手操作,我好难!)

[mw_shl_code=java,false]int input1 = 5; // 定义uno的pin 5 向 input1 输出
int input2 = 6; // 定义uno的pin 6 向 input2 输出
int enA = 10; // 定义uno的pin 10 向 输出A使能端输出
int val;
void setup() {   
   pinMode(input1,OUTPUT);
   pinMode(input2,OUTPUT);
   pinMode(enA,OUTPUT);
   Serial.begin(9600);
}

void loop() {
   digitalWrite(input1,HIGH); //给高电平
   digitalWrite(input2,LOW);  //给低电平
   val=analogRead(A0);

   val=map(val,0,1023,0,254);
   analogWrite(enA,val);
     Serial.println(val);
}[/mw_shl_code]

【测试二】


Arduino Leonardo与Arduino Uno外形相同。Arduino Uno配备的是ATmega385芯片,而Leonardo配备了atmega32u4芯片。它有20个数字输入/输出引脚,20个引脚中,7个引脚可作为PWM输出,12个引脚可作为模拟输入,同时它板载了一个微型USB接口,一个电源插口,一个ICSP端口和一个复位按钮。


连接Arduino Leonardo和MPU6050
【自制无人机】“辛”路历程(七)L289N_PWM MPU6050模块图3

Arduino uno与mpu6050接线图


[mw_shl_code=java,false]//calibrate_air_mouse
#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>

MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();
  if (!mpu.testConnection()) { while (1); }
}
void loop() {
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  vx = (gx+300)/150;  // change 300 from 0 to 355
  vy = -(gz-100)/150; // same here about "-100"  from -355 to 0
  Serial.print("gx = ");
  Serial.print(gx);
  Serial.print(" | gz = ");
  Serial.print(gz);
  
  Serial.print("        | X = ");
  Serial.print(vx);
  Serial.print(" | Y = ");
  Serial.println(vy);
  

  
  delay(20);
}[/mw_shl_code]
使用MPU6050模块,如果arduino编译时 找不到I2Cdev.h,一直提示出现说fatal error: I2Cdev.h: No such file or directory,请按如下方法处理:
1、在github上下载并解压i2cdevlib后打开文件夹

2、打开里面的arduino文件夹
3、在那个arduino文件夹里还有一个名字叫i2cdev的文件夹,那个才是真正的库
4、把那个库添加到arduino的库里就能用了



编译时 找不到MPU6050.h同理

如果网站github访问不了或比较慢,可以使用修改Hosts方法,根据以下目录,用记事本打开hosts文件,将--------下面的内容粘贴到文件中,保存后,在运行(win键+R),输入CMD,命令行中输入ipconfig /flushdns,回车,完成刷新DNS网页缓存
Windows hosts目录:C:\windows\system32\drivers\etc\
DNS网页缓存刷新CMD指令:ipconfig /flushdns
----------------------------------------------------------------------------
# Github
192.30.253.113 github.com
151.101.185.194 github.global.ssl.fastly.net
203.98.7.65 gist.github.com
13.229.189.0 codeload.github.com
185.199.109.153 desktop.github.com
185.199.108.153 guides.github.com
185.199.108.153 blog.github.com
18.204.240.114 status.github.com
185.199.108.153 developer.github.com
185.199.108.153 services.github.com
192.30.253.175 enterprise.github.com
34.195.49.195 education.github.com
185.199.108.153 pages.github.com
34.196.237.103 classroom.github.com

【自制无人机】“辛”路历程(七)L289N_PWM MPU6050模块图2




【测试三】
可以测试一下,它提供的MPU6050有线控制电脑鼠标。代码测试有效。
[mw_shl_code=java,false]//calibrate_air_mouse
#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>
#include <Mouse.h>
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();
  if (!mpu.testConnection()) { while (1); }
}
void loop() {
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  vx = (gx+300)/150;  // change 300 from 0 to 355
  vy = -(gz-100)/150; // same here about "-100"  from -355 to 0
  Serial.print("gx = ");
  Serial.print(gx);
  Serial.print(" | gz = ");
  Serial.print(gz);
  
  Serial.print("        | X = ");
  Serial.print(vx);
  Serial.print(" | Y = ");
  Serial.println(vy);
  
  Mouse.move(vx, vy);
  
  delay(20);
}[/mw_shl_code]

DFHk-0ykaN8  见习技师

发表于 2020-3-12 18:26:08

沙发不错真香
回复

使用道具 举报

wangyirun  初级技匠

发表于 2020-3-13 15:03:01

这个电机太大太重了吧
回复

使用道具 举报

云天  初级技神
 楼主|

发表于 2020-3-13 17:43:01

wangyirun 发表于 2020-3-13 15:03
这个电机太大太重了吧

测试用,旧电机,好像原来是一个刮胡刀上的。
回复

使用道具 举报

wangyirun  初级技匠

发表于 2020-3-14 09:49:51

云天 发表于 2020-3-13 17:43
测试用,旧电机,好像原来是一个乱胡刀上的。

哦,好的,谢谢!
回复

使用道具 举报

gada888  版主

发表于 2020-3-25 14:37:54

支持
回复

使用道具 举报

20060606  高级技匠

发表于 2020-10-5 07:45:23

太重了,可能飞不起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail