資料介紹
描述
幾天前,我從童年時(shí)代發(fā)現(xiàn)了一輛漂亮的遙控車,但它的遙控器壞了,所以我想為什么不把這輛車改裝成高速 Arduino 遙控車。
所以現(xiàn)在就在這里,我已經(jīng)把它變成了一輛高速 Arduino 遙控車,今天我將與你分享我是如何做到的。我用于這個(gè)項(xiàng)目的應(yīng)用程序可以從這里下載。
高速 Arduino 遙控車的功能
這款高速 Arduino 遙控車的功能如下
- 前燈
- 背光燈
- 中心的 RGB 燈會(huì)讓它看起來不錯(cuò)
- 喇叭
- 全方位旋轉(zhuǎn)
- 速度控制
所需組件
高速 Arduino 遙控車所需的組件如下
- 帶電機(jī)的舊車
- 阿杜諾
- HC-05 或 HC-06 藍(lán)牙模塊
- L298N電機(jī)驅(qū)動(dòng)器
- 蜂鳴器
- RGB LED
- 2 個(gè)紅色 LED
- 2 個(gè)白色 LED
- 2 X 3.7V 可充電電池
- 9V電池
- 7 X 220 歐姆電阻
硬件
我使用了兩個(gè) 3.7V 的可充電電池來運(yùn)行這些電機(jī)。這些電池可以反復(fù)使用,也可以快速運(yùn)行電機(jī)。
如果您想了解更多關(guān)于 Arduino 與 RGB 模塊接口的信息,請閱讀本教程 | Arduino RGB LED 教程
如果您想了解更多關(guān)于藍(lán)牙模塊與 Arduino 接口的信息,請閱讀本教程 | Arduino藍(lán)牙模塊教程
按照上面的電路圖完成所有連接后,我的汽車連接電路如下圖所示。
將頂部車身安裝在其上后,這輛車看起來就像一輛原始的蘭博基尼。中間連接的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遙控車 物聯(lián)網(wǎng)控制遙控車方案 5次下載
- 物聯(lián)網(wǎng)遙控車開源分享
- Arduino新型藍(lán)牙遙控車
- 使用Android和Arduino進(jìn)行遙控車破解
- 帶Arduino的Rain1遙控車
- 敏捷的Arduino遙控車
- 遙控車開源分享
- 基于Arduino UNO的射頻遙控車 5次下載
- Arduino藍(lán)牙遙控車
- 藍(lán)牙控制遙控車開源分享
- arduino遙控車
- 用Arduino制作遙控車
- ARDUINO遙控車PCB
- 遙控車原理圖下載 139次下載
- 多功能遙控車接收電路
- 2.4G收發(fā)芯片遙控玩具解決方案 1728次閱讀
- Arduino模組的KiCad符號與封裝庫介紹 1502次閱讀
- 結(jié)合STM32、Arduino理解紅外遙控編解碼通信原理 1534次閱讀
- 如何DIY一個(gè)帶遙控器的紅外 (IR) 遙控車 7906次閱讀
- 微雪電子智能車Arduino AlphaBot2簡介 2085次閱讀
- 微雪電子智能車學(xué)習(xí)板藍(lán)牙Arduino開發(fā)板介紹 1695次閱讀
- 微雪電子智能車學(xué)習(xí)板配件包Arduino開發(fā)板簡介 1391次閱讀
- 微雪電子樹莓派 Arduino 智能車擴(kuò)展套件介紹 2218次閱讀
- 遙控車diy制作教程 7.2w次閱讀
- 手工制作紅外遙控LED照明燈 可自動(dòng)調(diào)節(jié)光度 1.8w次閱讀
- 無線遙控車電路圖大全(四款無線遙控車電路設(shè)計(jì)原理圖詳解) 23.8w次閱讀
- 電動(dòng)車遙控鑰匙原理詳解 10w次閱讀
- 自制遙控玩具車電路板 11.4w次閱讀
- 淺談Arduino和樹莓派的區(qū)別 2.1w次閱讀
- arduino開發(fā)板有什么用 2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多