首页 > 编程知识 正文

arduino能做什么(基于arduino的简单项目设计)

时间:2023-05-05 18:26:00 阅读:64774 作者:4883

原文地址: https://www.yi board.com/thread-1567-1-1.html

用433MHz RF射频模块制作简单的Arduino遥控小艇https://www.yiboard.com/forum.php? mod=viewthread tid=1567 from uid=2110

本文将创建一艘远程控制的Arduino小艇,可以使用433 MHz RF射频无线模块进行控制。 我们制作自己的433MHz发射器和接收器模块,使用自制遥控器控制这艘小船。 远程操作设备或两个设备之间的通信有很多选择,包括IR、蓝牙、互联网和RF。 与IR通信相比,无线无线无线通信具有范围较大、无需在发射机与接收机之间建立视线连接等若干优点。 同样,这些模块可以执行两种通信方式。 也就是说,可以同时收发。 所以,让我们开始用这个433MHz RF射频模块制作小船吧。

所需的组件

433MHz发射机和接收机

Arduino开发板

HT12E和HT12D

4个按钮

电阻

L293d电机驱动器

9V电池

7805调压阀

直流电机

叶片

1uf电容器433MHz射频发送器和接收器模块[外链图像导出失败。 源站可能有防盗链机制。 建议保存图像并直接上传。 (img-PWuHQrsk-1620703376506 ) c3360/users/administrator因为其成本低廉,连接简单。 这些模块非常适合所有形式的短程通信项目。 这些模块是幅移键控(ASK )类型的RF模块,幅移键控(ASK )是幅度调制的一种形式,它将数字数据表示为载波幅度的变化。 在ASK系统中,通过在t秒的比特持续时间内发射固定幅度的载波和固定频率来表示二进制符号1。 信号值为1时,发送载波信号; 否则,将发送信号值0。 这意味着发送逻辑“零”时,通常不消耗电力。 这样的低功耗在电池电源的项目中非常有用。

433MHZ射频发射器这种类型的模块非常小,有VCC、地和数据三个引脚。 一些模块具有额外的天线引脚。 发射器模块的工作电压为3V-12V,此模块没有可调节的组件。 该模块的主要优点之一是低电流消耗,需要几乎零电流来发送位零。

Arduino遥控小船发射器功能框图

上面的框图包含四个按钮(控制按钮),用于控制船的方向。 前进,后退,左边和右边。 通过按下按钮,获得了控制船的逻辑,但无法直接连接到编码器。 这就是我使用Arduino的原因。 你可能会想,为什么要在这里使用Arduino,这是因为必须同时下拉编码器的两个并行数据输入,才能向前和向后移动,仅靠按钮是无法实现的。 然后,编码器将传来的并行数据编码为串行输出。 然后,可以用射频发射机发送串行数据。

Arduino遥控小船发射器的电路图上的电路中,可以看到四个按钮的一侧全部连接到Arduino(D6-D9 )的四个数字针脚,其他四个侧面全部接地。 按下按钮后,对应的数字端子变为逻辑低电平。 HT12E编码器的4个并行输入与arduino(d2-d5 )的其他4个数字端子连接。 因而,通过Arduino,能够确定编码器的输入。 编码器HT12E是12位编码器和并行输入-串行输出编码器。 12位中,8位是地址位,可用于控制多个接收器。 端子A0-A7是地址输入端子。 本文只控制一个接收器,所以不需要更改地址。 因此,所有的地址引脚都接地了。 如果一个发射机控制不同的接收机,则可以在此使用DIP交换机。 AD8-AD11是控制位输入。 这些输入控制HT12D解码器的D0-D3输出。 需要连接振荡器进行通信。 此外,在5V操作中,振荡器的频率必须为3KHz。 然后,相对于5V,电阻值为1.1M。 然后,我把HT12E的输出连接到发射机模块。

制作遥控小船发送电路

将每个组件焊接到PCB穿孔板上。 请注意,由于正在开发射频项目,可能会发生各种类型的干扰。 因此,请尽可能紧密地连接所有组件。 另外,请不要使用多余的电线,尝试将所有的东西焊接在焊盘上。 最后,将细电线连接到发射器模块。 这有助于扩大整体范围。

制作Arduino遥控小船发射器外壳

发射机需要一个漂亮的外壳。 我选择了4毫米的MDF表单。 也可以选择胶合板、泡腾片或瓦楞纸板,从中切出长10cm和宽5cm的两片。 然后标记了按钮的位置。 我把方向按钮放在左侧,前进、后退按钮放在右侧。 在纸张的另一侧,将按钮连接到主发送电路。 请记住,普通按钮有四个针脚,两侧有两个针脚。 将一个针脚连接到Arduino,另一个针脚连接到接地。 连接所有这些之后,

我将控制电路放在两个MDF板之间,并用一些长螺栓拧紧。 433Mhz接收器模块
该接收器也非常小巧,有4个引脚:VCC、接地,中间的两个引脚是数据输出。该模块的工作电压为5v。

Arduino遥控小船接收器的功能框图

上面的框图描述了RF接收器电路的工作过程。首先,我们可以使用RF接收器模块接收发送的信号。该接收器的输出是串行数据。解码器将串行数据解码为我们的原始并行数据。在本部分中,我们不需要任何微控制器,我们可以将输出直接连接到电机驱动器。

Arduino遥控小船接收器电路图

HT12D是一个12位解码器,它是一个串行输入并行输出解码器。 HT12D的输入引脚将连接到具有串行输出的接收器。在12位中,有8位(A0-A7)是地址位,并且HT12D仅在匹配其当前地址时才对输入进行解码。 D8-D11是输出位。为了使该电路与发送器电路匹配,我将所有地址引脚接地。来自模块的数据是串行类型,解码器将此串行数据解码为原始并行数据,然后通过D8-D11取出。为了匹配振荡频率,应将33-56k电阻连接到振荡器引脚。第17引脚上的LED指示灯指示有效的传输,只有在接收器连接到发送器后才会点亮。接收器的电压输入也是6-12伏。 为了控制电动机,我使用了L293D,选择该IC是因为减小了尺寸和重量,并且该IC最适合在两个方向上控制两个电动机。 L293D有16个引脚,下图显示了引脚排列。

1、9个引脚为使能引脚,我们将其连接到5v,电动机1A、2A、3A和4A为控制引脚。如果引脚1A变为低电平而2A变为高电平,则电动机将向右旋转;如果引脚1A变为低电平而2A变为高电平,电动机将向左侧旋转。因此,我们将这些引脚连接到解码器的输出ps。 1Y、2Y、3Y和4Y是电机连接引脚。 Vcc2是电动机驱动电压引脚,如果使用高压电动机,则将该引脚连接到相应的电压源。

制作Arduino遥控小船的接收器电路

与发射器电路相同,将所有组件焊接在一块小的PCB面包板中,并尝试使用最少的导线。我使用的是5V电机,因此将电机驱动器的引脚8连接到5v。

制作遥控小船

我尝试了不同的材料来制作船体。使用Thermocol Sheet我得到了更好的结果。所以我决定用Thermocol来制造船体。首先,我拿出一块3厘米厚的Thermocol片,并将接收器电路放在顶部,然后用Thermocol标记船的形状并切开。

Arduino小船电机和推进器选择正确的电动机非常重要,我选择了体积小且重量轻的5V,n20型普通直流电动机。

对于螺旋桨,我用塑料片制成螺旋桨。为了制作螺旋桨,首先,我取了一个小塑料片,并从中切下了两个小块,然后借助蜡烛加热将其弯曲。最后,我在马达中心放置了一个小孔,并将其固定在马达上。

遥控小船的Arduino代码
编程代码非常简单,我们只需要一些逻辑切换。而且我们可以使用Arduino基础函数来实现所有功能。 首先,在代码中定义四个输入按钮和解码器输入引脚的编号。

int f_button = 9;int b_button = 8;int l_button = 7;int r_button = 6;int m1=2;int m2=3;int m3=4;int m4=5;

在setup函数中,定义了引脚模式。按钮连接到数字引脚,因此这些引脚应定义为输入;我们需要获取解码器输入的输出,因此我们应将这些引脚定义为输出。

pinMode(f_button,INPUT_PULLUP); pinMode(b_button,INPUT_PULLUP); pinMode(l_button,INPUT_PULLUP); pinMode(r_button,INPUT_PULLUP); pinMode(m1,OUTPUT); pinMode(m2,OUTPUT); pinMode(m3,OUTPUT); pinMode(m4,OUTPUT);

接下来,在loop函数中,我们将使用Arduino的digitalread()函数读取按钮状态。如果引脚状态变为低电平,则意味着相应的引脚被按下,那么我们将执行以下条件:

if ( digitalRead(f_button)==LOW)

这意味着按下前进按钮:

{ digitalWrite(m1, LOW); digitalWrite(m3, LOW); digitalWrite(m2, HIGH); digitalWrite(m4, HIGH);}

这将下拉编码器的m1和m2,并激活接收器侧的两个电机。同样,向后移动

{ digitalWrite(m1, HIGH); digitalWrite(m3, HIGH); digitalWrite(m2, LOW); digitalWrite(m4, LOW);}

编译代码后,将其上传到Arduino开发板。 故障排除:将船放在水面上,请检查船是否在正确移动,如果没有,改变电动机和螺旋桨的极性。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。