
标准版
高速不可控遥控车
5.4k
0
0
7
简介
非常适合自己组装玩的高速不可控遥控车 使用FSI6遥控器 距离500M以内没问题 起步过快 注意安全
简介:非常适合自己组装玩的高速不可控遥控车 使用FSI6遥控器 距离500M以内没问题 起步过快 注意安全开源协议
:创建时间:2021-03-09 01:34:54更新时间:2022-04-15 01:23:34
描述
遥控车太慢了!!!我受不了!自己做一个!说干就干,基于ARDUINO手机蓝牙控制,完成了这个超强的作品,全手工制造。欢迎学习。少走弯路!
作者:漫步在宇宙的边缘
https://www.bilibili.com/read/cv6217381
出处: bilibili
这是第11代成品车 性能有很大的提升了 项目公布了原理图和PCB大家可以自己下载使用
#include
#define LED 2
#define NUM_LEDS 6
CRGB leds[NUM_LEDS];
#define PINX A5
#define PINY A3
#define PINKG A1
#define PINLU 5
#define PINLD 6
#define PINRU 10
#define PINRD 9
int TZ=200;//速度调整
int speedcal=0;
int Direction;//方向原始数据
int correctionXR;//x修正后的X
int correctionXL;//x修正后的X
int spd=255;
unsigned long Speed;
unsigned long KGSG;
void motorprint();
void motorcontrol();
void dealX();//X方向调整
void motorprint()
{
pinMode(PINX, INPUT); //设置引脚为输入模式
pinMode(PINY, INPUT); //设置引脚为输入模式
pinMode(PINKG, INPUT); //设置引脚为输入模式
pinMode(A0, OUTPUT); //设置引脚为输入模式
pinMode(LED, OUTPUT); //设置引脚为输入模式
pinMode(PINLU, OUTPUT); //设置引脚为输出模式
pinMode(PINLD, OUTPUT); //设置引脚为输出模式
pinMode(PINRU, OUTPUT); //设置引脚为输出模式
pinMode(PINRD, OUTPUT); //设置引脚为输出模式
digitalWrite(PINLU,LOW);
digitalWrite(PINLD,LOW);
digitalWrite(PINRU,LOW);
digitalWrite(PINRD,LOW);
}
void motorcontrol()
{
if ((TZ>5)&&(Speed>Direction))
{
speedcal=(Speed-Direction);
analogWrite(PINLU,constrain(Speed,0,254));
analogWrite(PINLD,constrain(Speed,0,254));
analogWrite(PINRU,constrain(speedcal,0,254));
analogWrite(PINRD,constrain(speedcal,0,254));
}
else if (TZ<-5)
{
// speedcal=constrain(map((Speed+Direction),Speed,310,Speed,250),Speed,250);
speedcal=(Speed+Direction);
analogWrite(PINLU,constrain(speedcal,0,254));
analogWrite(PINLD,constrain(speedcal,0,254));
analogWrite(PINRU,constrain(Speed,0,254));
analogWrite(PINRD,constrain(Speed,0,254));
}
else
{
analogWrite(PINLU,constrain(Speed-5,0,254));
analogWrite(PINLD,constrain(Speed-5,0,254));
analogWrite(PINRU,constrain(Speed+1,0,254));
analogWrite(PINRD,constrain(Speed+1,0,254));
}
}
void setup()
{
// Serial.begin(19200);
motorprint();
FastLED.addLeds(leds, NUM_LEDS);
digitalWrite(A0,HIGH);
for(int i=0;i<6;i++)
{
leds[i] = CRGB ( 225,255,255);
}
FastLED.show();
}
void loop()
{
/*Speed =pulseIn(Y, HIGH,80000);
Direction =pulseIn(X, HIGH,80000);
KGSG = pulseIn(KG, HIGH,80000);*/
KGSG = pulseIn(PINKG, HIGH,80000);
if(KGSG<1100)
{
spd=3;
for(int i=0;i<6;i++)
{
leds[i] = CRGB ( 0,0,255);
}
FastLED.show();
}
else if(KGSG<1700)
{
spd=2;
for(int i=0;i<6;i++)
{
leds[i] = CRGB ( 225,0,255);
}
FastLED.show();}
else if(KGSG<2000)
{spd=1;
for(int i=0;i<6;i++)
{
leds[i] = CRGB ( 225,0,0);
}
FastLED.show();
}
else
spd=255;
Speed=(constrain(map(pulseIn(PINY, HIGH,80000),989,1968,0,250), 0, 250)/spd);
Direction =constrain(map(pulseIn(PINX, HIGH,90000),998,1982,-TZ,TZ),-TZ,TZ);
if (Speed<20)
{
Speed=0;
digitalWrite(A0,LOW);
motorcontrol();
}
else
{
digitalWrite(A0,HIGH);
motorcontrol();
}
}
设计图
原理图
PCB
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | 10uF | C6 | C0805 | 1 |
2 | 22pF | C7,C12 | C0603 | 2 |
3 | X322516MLB4SI | X2 | OSC-SMD_4P-L3.2-W2.5-BL | 1 |
4 | CMA51H-S-DC5V-A | K2 | RELAY-TH_CMA51H-X-XX-A | 1 |
5 | 100nf | C19,C20,C4,C1 | C0805 | 4 |

添加到专辑
0
0
分享
侵权投诉
评论