基于DTMF的移动控制机器人设计实例

本文概述

  • 工作中
  • 所需硬件
  • 所需软件
  • 电路图
  • 施工
通常, 无线控制机器人使用RF电路, 其缺点是频率范围有限, 工作范围有限和控制受限。
在机器人控制中使用手机可以克服这些限制。它具有工作范围与服务提供商的覆盖范围一样大, 控制可靠, 不会与其他控制器发生干扰的优点。
工作中 在基于DTMF的移动/手机控制机器人中, AVR ATmega16微控制器与键盘一起用作输入设备, 以在各个方向上驱动机器人。
在该项目中, 使用了两个手机, 一个将与DTMF电路连接, 另一个将用于呼叫与DTMF电路相连的手机。
ATmega16微控制器读取DTMF解码器的4位输出信号, 并将处理该信号以确定移动键盘的哪个键被按下, ATmega16微控制器将控制信号发送到机器人的直流电动机驱动器(L293D)以驱动机器人机器人朝所需方向移动。
下表显示了不同的控制键及其等效的机器人方向:
Robot Direction 控制键
Forward 2
Left 4
Right 6
Backward 8
Stop 5
框图:
基于DTMF的移动控制机器人设计实例

文章图片
考虑显示键盘不同键的双音多频(DTMF)表格如下:
基于DTMF的移动控制机器人设计实例

文章图片
所需硬件
  • 12V, 1A DC适配器1件
  • DTMF解码器1件
  • AVR微控制器板1件
  • 直流电动机驱动器1件
  • AVR USB Programmer-1件
  • 带连接器的入耳式电话-1件
  • 1对1连接器-15件
  • 10至10 FRC母连接器3件
  • 机器人1件
所需软件
  • BASCOM-AVR集成开发环境(IDE)
  • AVRDUDE-GUI
  • WinAVR-2010
  • USBasp驱动程序
电路图
基于DTMF的移动控制机器人设计实例

文章图片
施工
基于DTMF的移动控制机器人设计实例

文章图片
源代码:
$regfile = "m16def.dat". $crystal = 1000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Start Timer1 Dim A As Bit , B As Bit , C As Bit , D As Bit Do Cls A = Pinc.0 B = Pinc.1 C = Pinc.2 D = Pinc.3 Lcd A ; B ; C ; D Lowerline If A = 0 And B = 0 And C = 1 And D = 0 Then Pwm1a = 100 Portd.6 = 0 Pwm1b = 100 Portd.3 = 0 Elseif A = 0 And B = 1 And C = 0 And D = 0 Then Pwm1a = 100 Portd.6 = 0 Pwm1b = 0 Portd.3 = 0 Elseif A = 0 And B = 1 And C = 1 And D = 0 Then Pwm1a = 0 Portd.6 = 0 Pwm1b = 100 Portd.3 = 0 Elseif A = 1 And B = 0 And C = 0 And D = 0 Then Pwm1a = 55 Portd.6 = 1 Pwm1b = 55 Portd.3 = 1 End If Wait 1 LoopEnd

【基于DTMF的移动控制机器人设计实例】下图显示了使用BASCOM-AVR集成开发环境(IDE)的手势控制机器人中使用的源代码的屏幕截图:
基于DTMF的移动控制机器人设计实例

文章图片

    推荐阅读