前两天发布的一个用Arduino制作的RC控制器,有朋友留言说对这个项目的制作过感兴趣,所以本期我把制作的详细过程与大家一起分享。
第1部分—发射机原理图
下面是这个项目的示意图,其中包含所有连接和组件值。在下面的完整部件列表中也检查这个项目所需的所有内容。确保你把降压转换器设置为12.6V和3.3V,然后再连接到电路。这是非常重要的。对于发射机,您需要一个NRF24模块与功率放大天线,以获得更广的通讯范围。
第2部分- 3D造形打印
箱体主要由上下两部分组成。然后我们需要9个塑料按钮,4个按钮支持双向和一个支持单向。我们还需要滑动开关按钮。为了固定,我们使用了3个3mm螺丝,两个在顶部,一个在底部。
我用了2个周长和20%填充所有的零件和PLA材料。不需要支持。零件已经定向好,可以打印了。我的打印机有一个0.4mm的喷嘴,图层高度设置为0.3mm。
第3部分- 接收器组装
首先,我把电池串联起来,把它们粘在无线电控制器的后面。然后焊接电线从直流插座到大电流升压/降压转换器,插入主适配器。然后我将转换器设置为12.6V,并粘上电位器,这样它就会保持这种状态。现在我将电池连接到3S 平衡充电板,并将buck对流器的输出连接到BMS输入/输出。我把所有东西都粘在箱子上。
第二步是添加所有的小按钮。在每个支撑孔上放置两个按钮,如下所示。同样,一个按钮上在小的支撑孔上。然后,在盖子顶部的每个孔上添加一个小的塑料按钮,然后我们在3D打印外壳的每个顶部支撑柱的位置拧上螺钉固定。
现在,用导线连接操纵杆电位器到GND,5V和信号。然后将操纵杆和滑动开关螺丝固定在控制器中间。在顶部添加触发开关和电位器。最后,将Arduino NANO开发板粘在一个角落上。
好的,现在,非常重要的一步你要把小的buck转换器设置为3.3V,然后把电位计粘在一起。然后将其连接到NRF24模块。最后,将所有的电线连接到Arduino,如图所示。加上i2c OLED显示屏,把所有东西都粘在盒子里。从箱子的另一部分接上电源,就这样。现在您可以盖好外壳并为Arduino Nano控制板编写程序。
好的,对于代码,请确保从下面的链接下载并安装OLED和NRF24库。然后,下载代码,编译并将其上传到Arduino。要了解更多细节,请阅读代码中的注释,以便了解如何调节和优化操纵杆信号读取和电池读取的所有值。
#include <SPI.h> #include <nRF24L01.h>
//Downlaod it here: https://www.electronoobs.com/eng_arduino_NRF24.php
#include <RF24.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
//Downlaod it here: https://www.electronoobs.com/eng_arduino_Adafruit_GFX.php #include <Adafruit_SSD1306.h> //Downlaod it here: https://www.electronoobs.com/eng_arduino_Adafruit_SSD1306.php
#include <EEPROM.h>
/*A basic 6 channel transmitter using the nRF24L01 module.*/
/* Like, share and subscribe, ELECTRONOOBS */
/* http://www.youtube/c/electronoobs */
/* First we include the libraries. Download it from
my webpage if you donw have the NRF24 library */
//This are the bytes for the EN logo
static const unsigned char PROGMEM my_logo[] =
{
/* 0X00,0X01,0X7C,0X00,0X40,0X00, */
0X00,0X00,0X00,0X00,0X00,0X01,0XFF,0XC0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XE0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0XF0,0X00,0X18,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0XF8,0X00,0X7C,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X3C,0XFC,0X03,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7C,0XF8,0X1F,0XFC,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XFC,0XF0,0XFE,0X78,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7D,0XE0,0XFC,0X30,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0X7F,0XC0,0XFC,0X30,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XE0,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XF8,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0XF9,0XF8,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X00,0XF8,0XF9,0XF8,0X00,0X06,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X00,0X00,0X00,0X01,0XF0,0XF9,0XFE,0X00,0X3C,0X00,0X00,0X00,0X00,0