单片机教程网

电脑版
提示:原网页已由神马搜索转码, 内容由www.51hei.com提供.
查看:4419|回复:14
打印上一主题下一主题

[现学现卖Arduino实战]二、头追式车载探照灯

[复制链接]
跳转到指定楼层
楼主
ID:560595发表于 2019-12-18 17:50|只看该作者|只看大图回帖奖励
本帖最后由 大猫8888 于 2019-12-20 19:23 编辑

喜欢自驾游,走的地方多了就发现车灯的照射角度有限,特别是在山路大角度转弯和大坑照射不到,所以有了用头追的方式控制探照灯的想法

基本想法是用3D打印件支撑两个55克的舵机,控制灯的水平和垂直转动。灯为美国可瑞L2单颗大功率LED,用单片机控制它实现长亮、爆闪、短闪几个挡位

我用arduino编写的程序很初级很简单,姿态控制用的是6050,实际应用时发现三个问题:
1、Arduino 进口UNO,上传程序后控制基本正常,两个舵机都有动作,但是一旦断电再上电,两个舵机只是通电瞬间动一下归位然后就再也没反应了,按复位按钮复位也没用。必须重新烧写一次才有反映,但依然不能断电。我用的是进口原装UNO,不知是什么原因?
2、6050的问题:xy轴基本正常,但Z轴要么没输出,要么就乱跳,换了两块6050都是同样的毛病。网上查了很多资料,6050的应用基本没看到用z轴的。。。不知道有没有熟悉6050的朋友?
3、UNO的pwm输出很不稳定,比如模拟输出200时,灯会象鬼火那样忽悠忽悠的乱闪(没有示波器看不到波形是怎么样的),有没有写过LED控制的朋友?

代码:
1、灯的控制:
void setup(){
   pinMode(5, INPUT);
   pinMode(4, INPUT);
   pinMode(10, OUTPUT);
   pinMode(3, INPUT);
}

void loop(){
   if (digitalRead(5) == LOW) {
   analogWrite(10,255);
   delay(50);
   analogWrite(10,0);
   delay(1000);

   } else {
   analogWrite(10,0);

   }
   if (digitalRead(4) == LOW) {
   digitalWrite(10,HIGH);

   } else {
   analogWrite(10,0);

   }
   if (digitalRead(3) == LOW) {
   analogWrite(10,255);
   delay(20);
   analogWrite(10,0);
   delay(50);

   } else {
   analogWrite(10,0);

   }

}



二、姿态控制:
#include<Servo.h>
Servo analogservo;
Servo analogservo2;

#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"

MPU6050 accelgyro;
int16_t ax, ay, az;
int16_t gx, gy, gz;

int16_t value
int16_t value2;

bool blinkState = false;
void setup() {

     analogservo.attach(10);
     analogservo2.attach(11);
}
void loop() {
     accelgyro.getMotion6(&ax,& ay,& az,& gx,& gy,& gz);
     value2=90-az/350;
     value=90+ay/350;  

     analogservo2.write(value2);
     analogservo.write(value);
     blinkState = !blinkState;
     delay(30);
}




其他设计
[现学现卖Arduino实战]一、盲人雷达
http://www.51hei.com/bbs/dpj-175950-1.html
(出处: 单片机论坛)







评分

黑币 +50
收起理由
+ 50
共享资料的黑币奖励!

查看全部评分

沙发
ID:668572发表于 2019-12-19 17:54|只看该作者
https://sourceforge.net/projects/arduinorclib/
舵机控制可以试试这个库
板凳
ID:560595发表于 2019-12-19 23:34|只看该作者
indrydock 发表于 2019-12-19 17:54
https://sourceforge.net/projects/arduinorclib/
舵机控制可以试试这个库

英文太烂。。。能不能帮忙传一个上来
地板
ID:668572发表于 2019-12-20 09:16|只看该作者
大猫8888 发表于 2019-12-19 23:34
英文太烂。。。能不能帮忙传一个上来

ArduinoRCLib-0.3.zip(1.36 MB, 下载次数: 10)
这是个RC遥控器的库,除了不仅是舵机控制,还可以做出完整的PPM遥控器
5#
ID:560595发表于 2019-12-20 12:01|只看该作者
indrydock 发表于 2019-12-20 09:16
这是个RC遥控器的库,除了不仅是舵机控制,还可以做出完整的PPM遥控器

非常感谢!
6#
ID:560595发表于 2019-12-24 19:34|只看该作者
想加个摇杆,却苦找了很久也没有找到不会自动回中的,就做了个机械装置来“止回”,摇杆可以停留在任何角度。
辛苦没有白费,虽然手感没有那么轻松顺滑了,但作为在车上这种颠簸环境下还是适用的


7#
ID:693445发表于 2020-2-15 11:00|只看该作者
大哥,我按照你的方法写代码测试,第一个问题我也遇到了,我更惨,只能运行一次,断电再烧都不行了,传感器没数据回来了,不知道为什么啊,  请问你解决了吗?如何解决的?
8#
ID:830831发表于 2021-5-3 14:55|只看该作者
过两天来试试,这么邪门?
9#
ID:844772发表于 2021-5-6 11:33|只看该作者
楼主动手能力真强啊! 有几个问题:1。灯的控制和舵机都使用了10口,怎样防止冲突呢?2。开灯的程序,并行3个if判断,会不断进入else关灯的,也就是不管按哪个开关都会灯都会闪烁啊?3。LED灯的驱动是什么啊,能否支持PWM?
10#
ID:560595发表于 2021-5-13 11:51|只看该作者
喜欢自驾游,几次夜路跑山道,发现弯急需要预判的地方灯光根本照不到!几次历险后萌发了这个跟踪头部动作引导灯光的想法。其实设计是去年做的,搞了个半截就去忙其他事情了,这两天比较闲就又从箱底翻出来继续做完。只可惜中间这一年多时间中多次做电脑系统,结果原始设计文档全部丢失,明明记得网盘备份过的,结果也找不到,郁闷。

开始是用6050做头追跟踪,结果发现Z轴效果太差,要么没反映,要么就发狂!现在换了DY-25发现效果不错,下来要搞的是手动切换和灯光的多档调光,希望在51假期前能挂到车上,跑跑山路,实际测试
11#
ID:560595发表于 2021-5-13 11:52|只看该作者
喜欢自驾游,几次夜路跑山道,发现弯急需要预判的地方灯光根本照不到!几次历险后萌发了这个跟踪头部动作引导灯光的想法。其实设计是去年做的,搞了个半截就去忙其他事情了,这两天比较闲就又从箱底翻出来继续做完。只可惜中间这一年多时间中多次做电脑系统,结果原始设计文档全部丢失,明明记得网盘备份过的,结果也找不到,郁闷。

开始是用6050做头追跟踪,结果发现Z轴效果太差,要么没反映,要么就发狂!现在换了DY-25发现效果不错,下来要搞的是手动切换和灯光的多档调光,希望在51假期前能挂到车上,跑跑山路,实际测试
https://www.bilibili.com/video/BV1H5411w7We?share_source=copy_web
12#
ID:560595发表于 2021-5-13 11:54|只看该作者
omom 发表于 2020-2-15 11:00
大哥,我按照你的方法写代码测试,第一个问题我也遇到了,我更惨,只能运行一次,断电再烧都不行了,传感器 ...

换Larduino w/ LGT8F328D就好了
13#
ID:560595发表于 2021-5-13 11:55|只看该作者
glinfei 发表于 2021-5-6 11:33
楼主动手能力真强啊! 有几个问题:1。灯的控制和舵机都使用了10口,怎样防止冲突呢?2。开灯的程序,并行3 ...

哈哈,是两片单片机。不知道在一片上怎么完成这两部分。。。
14#
ID:560595发表于 2021-5-13 11:57|只看该作者
不可以发b站的视频链接吗?
3D打印】【Arduino】猜猜这是什么?头追。。。
15#
ID:560595发表于 2021-5-13 12:00|只看该作者
b站上我发了最近又重新开始搞的视频:
【3D打印】【Arduino】猜猜这是什么?头追。。。
【3D打印】【Arduino】车载头追探照灯,看哪照哪!
【3D打印】【Arduino】头追探照灯停车场测试
喜欢的可以上b站按标题搜一下

手机版|小黑屋|51黑电子论坛|51黑电子论坛6群QQ管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网