
标准版
高速不可控遥控车
6.4k
0
0
9
简介
非常适合自己组装玩的高速不可控遥控车 使用FSI6遥控器 距离500M以内没问题 起步过快 注意安全
简介:非常适合自己组装玩的高速不可控遥控车 使用FSI6遥控器 距离500M以内没问题 起步过快 注意安全开源协议
:创建时间:2021-03-09 09:34:54更新时间:2022-04-15 09: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();
}
}
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。










