资料介绍
描述
几天前,我从童年时代发现了一辆漂亮的遥控车,但它的遥控器坏了,所以我想为什么不把这辆车改装成高速 Arduino 遥控车。
所以现在就在这里,我已经把它变成了一辆高速 Arduino 遥控车,今天我将与你分享我是如何做到的。我用于这个项目的应用程序可以从这里下载。
高速 Arduino 遥控车的功能
这款高速 Arduino 遥控车的功能如下
- 前灯
- 背光灯
- 中心的 RGB 灯会让它看起来不错
- 喇叭
- 全方位旋转
- 速度控制
所需组件
高速 Arduino 遥控车所需的组件如下
- 带电机的旧车
- 阿杜诺
- HC-05 或 HC-06 蓝牙模块
- L298N电机驱动器
- 蜂鸣器
- RGB LED
- 2 个红色 LED
- 2 个白色 LED
- 2 X 3.7V 可充电电池
- 9V电池
- 7 X 220 欧姆电阻
硬件
我使用了两个 3.7V 的可充电电池来运行这些电机。这些电池可以反复使用,也可以快速运行电机。
如果您想了解更多关于 Arduino 与 RGB 模块接口的信息,请阅读本教程 | Arduino RGB LED 教程
如果您想了解更多关于蓝牙模块与 Arduino 接口的信息,请阅读本教程 | Arduino蓝牙模块教程

按照上面的电路图完成所有连接后,我的汽车连接电路如下图所示。


将顶部车身安装在其上后,这辆车看起来就像一辆原始的兰博基尼。中间连接的RGB让它看起来更漂亮,它的高速使它可以与市场上的遥控车竞争。



代码
//including the libraries
#include // TX RX software library for bluetooth
#include
//Defining pins for RGB led
#define GREEN 13
#define BLUE 5
#define RED 4
#define delayTime 3
#define LED_NUM 3
LEDFader leds[LED_NUM] = {
LEDFader(4),
LEDFader(5),
LEDFader(13)
};
//Initializing pins for bluetooth Module
int bluetoothTx = 2; // bluetooth tx to 2 pin
int bluetoothRx = 3; // bluetooth rx to 3 pin
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
//Front Motor Pins
int Enable1 = 6;
int Motor1_Pin1 = 7;
int Motor1_Pin2 = 8;
//Back Motor Pins
int Motor2_Pin1 = 9;
int Motor2_Pin2 = 10;
int Enable2 = 11;
//Front Light pins
int front_light1 = A0;
int front_light2 = A1;
//Back light pins
int back_light1 = A2;
int back_light2 = A3;
int horn = 12;
char command ; //variable to store the data
int velocity = 0; //Variable to control the speed of motor
void setup()
{
//Set the baud rate of serial communication and bluetooth module at same rate.
Serial.begin(9600);
bluetooth.begin(9600);
//Setting the L298N, LED and RGB LED pins as output pins.
pinMode(Motor1_Pin1, OUTPUT);
pinMode(Motor1_Pin2, OUTPUT);
pinMode(Enable1, OUTPUT);
pinMode(Motor2_Pin1, OUTPUT);
pinMode(Motor2_Pin2, OUTPUT);
pinMode(Enable2, OUTPUT);
pinMode(front_light1, OUTPUT);
pinMode(back_light1, OUTPUT);
pinMode(front_light2, OUTPUT);
pinMode(back_light2, OUTPUT);
pinMode(horn, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
pinMode(RED, OUTPUT);
//Setting the enable and RGB LED pins as HIGH.
digitalWrite(Enable1, HIGH);
digitalWrite(Enable2, HIGH);
digitalWrite(GREEN, HIGH);
digitalWrite(BLUE, HIGH);
digitalWrite(RED, HIGH);
}
void loop(){
if(bluetooth.available() > 0){ //Checking if there is some data available or not
command = bluetooth.read(); //Storing the data in the 'command' variable
Serial.println(command); //Printing it on the serial monitor
//Change pin mode only if new command is different from previous.
switch(command){
case 'F': //Moving the Car Forward
digitalWrite(Motor2_Pin2, LOW);
digitalWrite(Motor2_Pin1, HIGH);
digitalWrite(Motor1_Pin1, LOW);
digitalWrite(Motor1_Pin2, LOW);
break;
case 'B': //Moving the Car Backward
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor2_Pin2, HIGH);
digitalWrite(Motor1_Pin1, LOW);
digitalWrite(Motor1_Pin2, LOW);
break;
case 'L': //Moving the Car Left
digitalWrite(Motor1_Pin1, LOW);
digitalWrite(Motor1_Pin2, HIGH);
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor2_Pin2, LOW);
break;
case 'R': //Moving the Car Right
digitalWrite(Motor1_Pin2, LOW);
digitalWrite(Motor1_Pin1, HIGH);
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor2_Pin2, LOW);
break;
case 'S': //Stop
digitalWrite(Motor2_Pin2, LOW);
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor1_Pin2, LOW);
digitalWrite(Motor1_Pin1, LOW);
break;
case 'I': //Moving the Car Forward right
digitalWrite(Motor2_Pin2, LOW);
digitalWrite(Motor2_Pin1, HIGH);
digitalWrite(Motor1_Pin2, LOW);
digitalWrite(Motor1_Pin1, HIGH);
break;
case 'J': //Moving the Car backward right
digitalWrite(Motor1_Pin2, LOW);
digitalWrite(Motor1_Pin1, HIGH);
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor2_Pin2, HIGH);
break;
case 'G': //Moving the Car Forward left
digitalWrite(Motor2_Pin2, LOW);
digitalWrite(Motor2_Pin1, HIGH);
digitalWrite(Motor1_Pin1, LOW);
digitalWrite(Motor1_Pin2, HIGH);
break;
case 'H': //Moving the Car backward left
digitalWrite(Motor2_Pin1, LOW);
digitalWrite(Motor2_Pin2, HIGH);
digitalWrite(Motor1_Pin1, LOW);
digitalWrite(Motor1_Pin2, HIGH);
break;
case 'W': //Front light ON
digitalWrite(front_light1, HIGH);
digitalWrite(front_light2, HIGH);
break;
case 'w': //Front light OFF
digitalWrite(front_light1, LOW);
digitalWrite(front_light2, LOW);
break;
case 'U': //Back light ON
digitalWrite(back_light1, HIGH);
digitalWrite(back_light2, HIGH);
break;
case 'u': //Back light OFF
digitalWrite(back_light1, LOW);
digitalWrite(back_light2, LOW);
break;
case 'V': //Horn On
tone(horn,494);
break;
case 'v': //Horn OFF
noTone(horn);
break;
case 'x': //Turn ON Everything
break;
case 'X': //Turn OFF Everything
break;
//Controlling the Speed of Car
default: //Get velocity
if(command=='q'){
velocity = 255; //Full velocity
analogWrite(Enable2, velocity);
}
else{
//Chars '0' - '9' have an integer equivalence of 48 - 57, accordingly.
if((command >= 48) && (command <= 57)){
//Subtracting 48 changes the range from 48-57 to 0-9.
//Multiplying by 25 changes the range from 0-9 to 0-225.
velocity = (command - 48)*25;
analogWrite(Enable2, velocity);
}
}
}
}
RGB();
}
void RGB()
{
// Update all LEDs and start new fades if any are done
for (byte i = 0; i < LED_NUM; i++)
{
LEDFader *led = &leds[i];
led->update();
// This LED is not fading, start a new fade
if (led->is_fading() == false)
{
int duration = random(1000, 3000); // between 1 - 3 seconds
// Fade Up
if (led->get_value() == 0)
{
byte intensity = random(100, 255);
led->fade(intensity, duration);
}
// Fade Down
else
{
led->fade(0, duration);
}
}
}
}
- Arduino遥控车 物联网控制遥控车方案 5次下载
- 物联网遥控车开源分享
- Arduino新型蓝牙遥控车
- 使用Android和Arduino进行遥控车破解
- 带Arduino的Rain1遥控车
- 敏捷的Arduino遥控车
- 遥控车开源分享
- 基于Arduino UNO的射频遥控车 5次下载
- Arduino蓝牙遥控车
- 蓝牙控制遥控车开源分享
- arduino遥控车
- 用Arduino制作遥控车
- ARDUINO遥控车PCB
- 遥控车原理图下载 139次下载
- 多功能遥控车接收电路
- 2.4G收发芯片遥控玩具解决方案 2802次阅读
- Arduino模组的KiCad符号与封装库介绍 2046次阅读
- 结合STM32、Arduino理解红外遥控编解码通信原理 1911次阅读
- 如何DIY一个带遥控器的红外 (IR) 遥控车 8379次阅读
- 微雪电子智能车Arduino AlphaBot2简介 2275次阅读
- 微雪电子智能车学习板蓝牙Arduino开发板介绍 1849次阅读
- 微雪电子智能车学习板配件包Arduino开发板简介 1585次阅读
- 微雪电子树莓派 Arduino 智能车扩展套件介绍 2386次阅读
- 遥控车diy制作教程 7.3w次阅读
- 手工制作红外遥控LED照明灯 可自动调节光度 1.8w次阅读
- 无线遥控车电路图大全(四款无线遥控车电路设计原理图详解) 24.2w次阅读
- 电动车遥控钥匙原理详解 10.1w次阅读
- 自制遥控玩具车电路板 11.6w次阅读
- 浅谈Arduino和树莓派的区别 2.1w次阅读
- arduino开发板有什么用 2.1w次阅读
下载排行
本周
- 1人工智能+消费:技术赋能与芯片驱动未来
- 15.25 MB | 4次下载 | 免费
- 2⼯业电源&模块电源产品⼿册
- 15.40 MB | 1次下载 | 免费
- 379M15 TO-252三端稳压IC规格书
- 0.86 MB | 次下载 | 免费
- 4MBRD20150CT TO-252肖特基二极管规格书
- 0.54 MB | 次下载 | 免费
- 5自动锁螺丝运动控制系统用户手册
- 6.65 MB | 次下载 | 5 积分
- 6奥特光耦产品手册
- 4.83 MB | 次下载 | 免费
- 7SMA系列10MHz~40GHz同轴检波器
- 559.60 KB | 次下载 | 免费
- 8CD7388CZ:7W×4 四通道音频功率放大电路技术手册
- 0.39 MB | 次下载 | 10 积分
本月
- 1元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 241次下载 | 免费
- 2元宇宙底层硬件系列报告
- 13.42 MB | 184次下载 | 免费
- 32022 年展望報告 – 半導體產業
- 1.43 MB | 136次下载 | 免费
- 4晶振与滤波器应用电路《电子工程师必备:元器件应用宝典》
- 1.57 MB | 90次下载 | 免费
- 5汽车电子行业深度解析:智能化与电动化方兴未艾
- 6.47 MB | 71次下载 | 免费
- 6中国DPU行业白皮书
- 23.80 MB | 37次下载 | 免费
- 7晶科鑫代理线-微盟电子2021年度产品目录选型手册
- 14.75 MB | 27次下载 | 免费
- 8SJK晶振产品目录-简化版-2022
- 13.77 MB | 20次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935134次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233089次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191425次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183352次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81602次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73822次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App






创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论