怎样制作一个操纵杆来控制机器人

零件清单: -
arduino nano - 2
rf 433 mhz发射器 - 接收器模块 - 1
l293d - 1
操纵杆 - 1
面包板-1
纸板 - 根据需要
脚轮 - 1
bo马达 - 2
bo电动轮 - 2
lipo电池 - 1
跳线 - 根据需要
步骤1:模块规范
我们使用rf发射器接收器模块(如上图所示)将数据从我们的操纵杆传输到机器人。
变送器:
工作电压:3v - 最大12v。电源使用12v
工作电流:最大值小于40ma,最小值为9ma
谐振模式:(saw)
调制模式:ask
工作频率:eve 315mhz或433mhz
传输功率:25mw(12v时为315mhz)
频率误差:+ 150khz(最大值)
速度:小于10kbps
因此该模块将在开放区域内传输长达90米。
接收器:
工作电压:5.0vdc + 0.5v
工作电流:最大≤5.5ma
工作方式:ook/ask
工作频率:315mhz-433.92mhz
带宽:2mhz
灵敏度:excel -100dbm(50ω)
发射速度:《9.6kbps(315mhz和-95dbm)
注意: - 使用可选天线会增加无线通信的有效性。一个简单的电线就可以解决问题。
操纵杆 -
模拟操纵杆是在项目中添加一些控制的好方法。
我们需要5个连接到操纵杆。
连接是:键,y,x,电压和地。 “y和x”是模拟,“键”是数字。
如果您不需要开关,那么您只能使用4个引脚。
第2步:原理图
此模块的连接非常简单。
for transmitter :
vcc 》》》》 5v
atad 》》》 d4“您可以根据需要从软件中进行更改”。
gnd 》》》 gnd
接收器:
vcc 》》》》 5v
数据》》》 d2
gnd 》》》 gnd
操纵杆: -
vcc的》》》》 5v
gnd 》》》 gnd
x 》》》 a0
y》 》》 a1
key 》》》 d2“只有在你需要使用它时才将它连接到arduino”
l293d: -
10 》》》 d6
15 》》》 d5
2 》》》 d9
7 》》》 d10
1,8,9,16 》》》 5v
4,5,12,13 》》》 gnd
11,14 》》》电机a
3,6 》》》电机b
步骤3:代码
只需将此代码复制到arduino ide即可。你必须在一个aduino程序中将发射器的代码和接收器的代码复制到另一个程序。
发射器的代码将被上传到操纵杆接口的arduino,接收器的代码将被连接到机器人上的arduino。
发射器代码: -
(注意: -
首先使用操纵杆进行校准串行监视器,以获得你的操纵杆各自的值)。
as我必须发送4个数据位,我使用了4个发送器腿来发送4位而不是一个数据位,如图所示)
void setup(){
//将设置代码放在这里,运行一次:
pinmode(5,output);
pinmode(6,output);
pinmode(9,output);
pinmode(10,output);
//serial.begin(9600);
}
void loop(){
int a = analogread(a0) ;
int b = analogread(a1);
//serial.print(a);
//serial.print(“\\”);
//serial.println(b);
if(b》 = 700& b 《1023& a》 = 500&& a 《= 540){
digitalwrite(5,0) );//forward
digitalwrite(6,1);
digitalwrite(9,0);
digitalwrite(10,1);
}
if(b 《200& a》 = 500&& a 《= 540 ){
digitalwrite(5,1);//reverse
digitalwrite(6,0);
digitalwrite(9,1);
digitalwrite(10,0);
}
if(a》 = 700& a 《1023& b》 = 500 && b 《= 540){
digitalwrite(5,0);//right
digitalwrite(6,1);
digitalwrite(9,1);
digitalwrite(10,0);
}
if(a 《200& b》 = 500&& b 《= 540 ){
digitalwrite(5,1);//left
digitalwrite(6,0);
digitalwrite(9,0);
digitalwrite(10,1);
}
if(a》 = 500& a 《= 540& b》 = 500&& b 《= 540){
digitalwrite(5,0);//停止
digitalwrite(6,0);
digitalwrite(9,0);
digitalwrite(10,0);
}
}
接收者代码: -
(注意: - 由于我必须接收4个数据位,我使用了4个接收器而不是一个数据位,如原理图所示。
void setup (){
//将设置代码放在这里,运行一次:
pinmode(9,input);
pinmode(10,input);
pinmode(11,input);
pinmode(12,input);
pinmode(5,output);
pinmode(6,output );
pinmode(9,output);
pinmode(10,output);
}
void loop(){
int a,b,c,d;
a = digitalread(9);
b = digitalread(10);
c = digitalread(11);
d = digitalread(12);
if(a == 0&& b == 1&& c == 0&& d == 1){
digitalwrite(5,1);
digitalwrite(6,0);
digitalwrite(9, 1);
digitalwrite(10,0);
}
if(a == 1&& b == 0&& c == 1&& d == 0){
digitalwrite(5,0);
digita l写(6,1);
digitalwrite(9,0);
digitalwrite(10,1);
}
if(a == 0&& b == 1&& c == 1&& d == 0){
digitalwrite(5,0);
digitalwrite(6,1);
digitalwrite(9,1);
digitalwrite(10,0);
}
if(a == 1&& b == 0&& c == 0&& d == 1){
digitalwrite(5,1);
digitalwrite(6,0);
digitalwrite(9,0);
digitalwrite(10,1);
}
if(a == 0&& b == 0&& c == 0&& d == 0){
digitalwrite(5,0);
digitalwrite(6,0);
digitalwrite(9,0);
digitalwrite(10,0);
}
}

小米6价格曝光,将再一次带给我们惊喜
智能机器人会改变人类的生产和生活方式吗
2999元!OPPO R11拆解:居然具备生活防水?(组图)
恩智浦在边缘计算技术的研究进展和边缘计算的作用概述
分局电量监控系统-AcrelCloud-3000环保工况用电监管系统 生产治污实时监测
怎样制作一个操纵杆来控制机器人
热式气体质量流量计的精度影响因素有哪些
软通动力ISSCloud多云管理系统进一步强化在云原生站位
小米6最新消息:猴王雷军坦诚回应小米6充电重启出现各种问题!获赞!华为闪存门的余承东请学着点
5G会不会成为pcb行业发展的动力
金属薄板、软质非金属材料拉力测试方案:视频引伸计+单柱万能试验机实测!
乡村振兴 电力先行:小村的日子红红火火
云计算风起云涌,IaaS较传统模式的优势是什么?
管材激光切割机必看干货切割技术上的难点及解决方案
改进企业串联安全架构的五大方法
腾讯云舒文琦:5G加速网络业务融合
PCB电路板设计过程中采用差分信号布线的策略分析
2018MWC预测未来新方向 人工智能转换应用智能需要多久
半导体材料有哪些元素
新一代iPhone三款手机的屏幕都有着许多值得了解的特性与不同