最好的电子音响科技diy制作网站

haoDIY_音响电子电脑科技DIY小制作发明

当前位置: 主页 > 电子DIY > 单片机 >

DIY Arduino的双体船

时间:2017-05-16 18:44来源:未知 作者:admin 点击:
无效loop() { feed();respond();行为(速度,rspeed);} 无效findnumber(字符输入[ ],[ ]字符输出,输出字符[ ],[ ]字符输出){ char c;字节我= 0;字节j = 0;而(我 3){输出=输入[我] [我];i++;} //启
DIY Arduino的双体船

下面将教你如何建立自己的遥控船(在这种情况下,使用Arduino双体船)单板微控制器,一些代码,废料,这是很容易的。

步骤1:建立远程控制(材料)

建立远程控制(材料)

以下资料是必要的:

  • 射频发射机和接收机
  • 9V电池和接触
  • 基于Arduino的微控制器
  • 表22固体线或连接器
  • 无焊面包板
  • 2个按钮
  • 2电位器(最好是1千克)
  • 2个100欧姆的电阻
  • 1公斤的2欧姆的电阻

步骤2:建立远程控制(传输线路)

建立远程控制(传输线路)

首先,这个设备需要发送数据!在别的连接射频发射机。注意,阿糖胞苷调幅广播发射机和接收机对被用于这个项目。

  1. 焊接头的射频发射器,如果必要的话。
  2. 安装在面包版,并连接相应的接地(GND)与输入电压(VCC或VIN)引脚到地面和电源板,分别。
  3. 连接线路板的接地片到Arduino的GND引脚。外部电源可以使用。如果是这样的话,连接电源线和地线的9V电池触点的电源和接地焊板带,分别。否则,简单地连接5V引脚上的Arduino电源板。
  4. 串口连接TX(传输端口)的Arduino的射频模块的数据输入端口。
  5. 在这种情况下,连接天线,长度等于你的发射波长的任何金属丝(查看数据表)除以任何权力两-你的发射机RFOUT引脚。

步骤3:建立远程控制(数据输入电路)

建立远程控制(数据输入电路)

数据输入两种形式将被用于运动控制,具有可操作的按钮,和速度控制,它将处理与电位器。

 

  1. 安装两个按键电路中的面包版如下图所示。连接Arduino数字引脚并联在电路中的电阻,如下图所示。这将允许引脚读这个电路的状态。
  2. 安装两个电位器,在电路如下图所示。注意电位器的中间引脚的输出电压,而外部引脚上的电压,分别。
  3. 连接Arduino模拟引脚的输出电路中的电位器,如下图所示。这将允许引脚读这个电路的电压。

 

这样的设置足以作为钢筋混凝土船远程控制!然而,如果你喜欢,你做了一个外壳或安装使按键和控制电位器容易。

步骤4:建立远程控制(编码)

建立远程控制(编码)

代码必须能够处理以下过程:

 

  • 从输入电路不断读取数据。
  • 生成一个字符串或字符数组组成的命令是由基于此数据船执行。
  • 数据发送字符串或字符数组在无线电频率使用串行端口(作为一个接口模块)。确保数据的完整性(使用字符串检查字符)。

 

步骤5:建立远程控制(实际的代码)

#包括/为方便放置串行端口的任何我们想去的地方

softwareserial RFOUT(10,11);/ / 10 RX TX输出字符串=“11”;int val = 0;布尔transmitleft = false;布尔transmitright = false;

int速度= 128;int rspeed = 128;

焦baper [ 20 ];//一个缓冲区的字符把要发送的数据无效setup() { pinmode(2、输入);//输入第一个按钮pinmode(3、输入);//输入第二按钮RFOUT。开始(4800);串行。开始(9600);}

无效loop() { RFOUT。flush();/ /确保串行端口的流是空的。buttonread();/ /读数据从电位器rspeed =(analogread(4)* 256 / 1024);速度=(analogread(5)* 256 / 1024);

延迟(5);//将数据按照数据读取如果(transmitright & transmitleft sprintf(){ baper,“$ BTH %3d %3d *”,速度,rspeed);RFOUT。打印(baper);} else if(transmitleft sprintf(){ baper,“$ LFT %3d %“3D”,速度,000);RFOUT。打印(baper);} else if(transmitright sprintf(){ baper,“$ RGT %3d %3d *”,000,rspeed);RFOUT。打印(baper);}否则{ RFOUT。打印(”$ STP *”);} }

无效buttonread() {如果(//读出数字接口的值(2)){ transmitleft = true;}否则{ transmitleft = false;}如果(//读出数字接口的值(3)){ transmitright = true;}否则{ transmitright = false;} }

步骤6:建立船(材料)

您将需要:

 

  • 射频接收机
  • 表22线或连接器
  • 2直流电动机(最好是6V)
  • 2 NPN晶体管(最好是2n 3904双极型晶体管)
  • 2个100欧姆的电阻
  • 9V电池和接触

 

步骤7:建立船(接收电路)

建筑的船(接收电路)

船需要被遥控发送数据。为此,我们必须建立一个能够解释无线电信号传输和发送到Arduino的串行数据接收电路。

 

  1. 在面包版安装射频接收器,在电路如下图所示。
  2. 在这种情况下,连接天线,长度等于你的发射波长的任何金属丝(查看数据表)除以任何权力两到你的接收机RFIN引脚。
  3. 将数据输出引脚到你的Arduino接收串口。

 

步骤8:建立船(电机电路)

建筑的船(电机电路)

通过本项目使用的直流电动机的电流是Arduino的5V引脚处理太大。这就是为什么我们要使用外部电源,使用NPN晶体管控制。

 

  1. 连接晶体管和电动机电路如下图所示。
  2. 连接每个晶体管的基极可Arduino数字引脚PWM(脉宽调制)。该基地是用来控制晶体管为“电路门”销。使用PWM引脚允许电路适用于不同电压等级之间的“高”和“低”,因此,不同速度的电机,基于远程控制的输入。
  3. 连接Arduino的GND引脚电路的接地片。不要连接Arduino 5v引脚电路的电源板。
  4. 连接电源线和地线的9V电池触点的电源和接地焊板带,分别。

 

步骤9:建立船(编码)

代码必须能够完成以下:

  • 不断地读取数据从接收通过串行端口。
  • 解释输入数据,检查数据的完整性的特点。
  • 产生的电流通过遥控器发出指令,电机电路。

步骤10:建立船(实际的代码)

#包括

#包括/数据输入变量softwareserial RFIN(10,11);/ / 10 RX,TX数据的缓冲区11 [ 20 ];//这些缓冲分离在[ 20 ]输入字符串中字符的内容;/ /本店的运动型焦2 [ 20 ];//本店的左电机转速,如果可用的话。煤焦在[ 20 ];//本店对电动机的速度,如果可以的话。char c;//输入字符的存储字节我;/ /计数器字符串读取字节j = 0;//计数器字符串输出/运动:运动组布尔左=假;布尔吧= false;//运动:电机速度速度= 0 int int;rspeed = 0;//其他int时间= 0;//电机int lmotor = 3;int rmotor = 6;无效setup() {串行。开始(9600);RFIN。开始(4800);pinMode(lmotor,输出);pinMode(rmotor,输出);}#p#分页标题#e#

无效loop() { feed();respond();行为(速度,rspeed);}

无效findnumber(字符输入[ ],[ ]字符输出,输出字符[ ],[ ]字符输出){ char c;字节我= 0;字节j = 0;而(我< 3){输出=输入[我] [我];i++;} //启动速度数据是目前已知的在我而(J<3){输出=输入[ J ] [我];i++;j++;} j = 0;而(J<3){输出=输入[ J ] [我];i++;j++;} }

无效respond() { //公约:2将速度,3是rspeed。findnumber(缓冲,,2,3);

如果(strcmp(,“LFT”)= = 0){左=真;右= false;速度=削去到整数(2);}如果(strcmp(,“正确的”)= = 0){左=假;右= true;rspeed =削去到整数(3);}如果(strcmp(,“京津冀”)= = 0){左=真;右= true;速度=削去到整数(2);rspeed =削去到整数(3);}如果(strcmp(,“STP”)= = 0){左= false;} }权= false;

无效行为(int,int r){ //左电机如果(左){值(lmotor,L);} {(lmotor其他值,低);} //右电机如果(右){值(rmotor,R);} {(rmotor其他值,低);} }

int削去到整数(字符输入[ ]){ int输出= 0;输出=输入[ 2 ] -“0”;如果(输入[ 1 ] -“0”> 0)输出+ = 10 *(输入[ 1 ] -“0”);其他的;如果(输入[ 0 ] -“0”> 0)输出+ = 100 *(输入[ 0 ] -“0”);其他的;如果(输出> 0)返回输出;否则返回0;} {如虚空feed()(RFIN。available()){ c = RFIN。read();如果(C = = '$'){ / /串行out.println(“数据”);i = 0;C = RFIN。read();而(C!= '\n' & C!=“R & C!=“*”&我< 19){缓冲[我] = C;i++;C = RFIN。read();}缓冲[我] =“0”;} } }

步骤11:建立船(使用)

 

  • 在“接收”部分可以安装在船上创造了Arduino的设置、构造描述在一个单独的部分。
  • 这可以用任何标准Arduinos动力电池连接通过USB打印机电缆。

 

步骤12:船底座(材料)

船底座(材料)

您将需要:

 

  • 聚苯乙烯泡沫塑料板
  • 塑料容器
  • 冰棒棍
  • 切割机
  • 比赛
  • 蜡烛
  • 测量装置(最好用铅笔)
  • 铅笔
  • 胶枪
  • 牙签
  • 钢丝
  • 钢丝钳

 

步骤13:建立船底盘(核心部分)

建筑船底盘(核心部分)

 

  1. 在这种情况下,中央元件应能适应接收电路元件和电机电路专用电机本身。Optimally,主要用于船的容器应尽可能轻。在这种情况下,使用的是一次性塑料食品容器,但任何塑料容器应该做的。
  2. 在确保组件安装在容器上,用胶枪固定,用刀在容器盖上戳洞。
  3. 贯穿孔连接到电机本身的线。
  4. 合上盖子。

 

步骤14:建立船底盘(浮桥)

建筑船底盘(浮桥)

 

  1. 用直尺,测量主船的长度,乘以二。
  2. 把船的宽度除以2。
  3. 使用这些测量为浮桥引导和跟踪出来的泡沫。
  4. 我们的船而言,这4个浮筒建造的,但更多的是在用户的自由裁量权增加。
  5. 为了方便地把这些浮桥,点燃蜡烛用火柴和刀片在蜡烛加热到。
  6. 使用此刀沿着铅笔线在保丽龙。叶片的热应化聚苯乙烯泡沫塑料和允许你把它更容易。
  7. 切割出浮出来的泡沫后,用牙签将它们连接在一起,两对,如上图,然后捻钢丝成环抱的引擎。

 

步骤15:建立船底盘(连接器)

建筑船底盘(连接器)

现在的方法必须被设计来连接两浮船的主体。

 

  1. 在这种情况下,冰棒棍粘在一起形成一个长棍,然后连接到浮桥通过胶枪主船。
  2. 确保主船直接在两连接器之间,在下面的图片中看到的,然后用胶枪加入容器中的连接器和连接器的浮桥。
  3. 最后,把发动机分为钢丝架和连接它们的导线与主船。

(责任编辑:admin)
织梦二维码生成器
顶一下
(1)
100%
踩一下
(0)
0%
相关文章
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容