本文概述
- 工作中
- 所需硬件
- 所需软件
- 电路图
- 源代码
避障机器人是一种智能设备, 用于保护机器人免受任何物理损坏。它会自动感应并克服其路径上的障碍。
工作中 在本项目中, 我们将研究如何使用AVR ATmega16微控制器和模拟IR传感器设计和模拟避障机器人。设计的该机器人是自动机器人, 即, 机器人的操作不需要手动控制。
在避障机器人中, 我们使用ATmega16微控制器的ADC将模拟信号转换为数字值。在将IR传感器信号转换为数字等效信号后, 即阈值(在我们的项目案例中为3V)。根据以上比较的输出, 微控制器将控制信号发送到机器人的直流电动机驱动器集成电路(L293D), 以使机器人向前, 向左或向右移动。传感器输出比较, ADC转换和机械手控制的上述操作一直持续到接通电源为止。
所需硬件
- 12V, 1A DC适配器1件
- 模拟红外传感器3件
- AVR微控制器板1件
- 直流电动机驱动器1件
- AVR USB Programmer-1件
- 1对1连接器-15件
- 10至10 FRC母连接器2件
- 机器人1件
- BASCOM-AVR集成开发环境(IDE)
- AVRDUDE-GUI
- WinAVR-2010
- USBasp驱动程序
文章图片
源代码
$regfile = "m16def.dat".$crystal = 1000000Config Lcd = 16 * 2Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7Config Adc = Single , Prescaler = Auto , Reference = AvccStart AdcConfig Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear DownStart Timer1Dim A As IntegerDoClsA = Getadc(0)Lcd ALowerlineIf A <
750 ThenLcd "obstacle"'Pwm1a = 200Portd.6 = 0Pwm1b = 200Portd.3 = 0Elseif A >
750 ThenLcd "no obstacle"Pwm1a = 0Portd.6 = 0Pwm1b = 0Portd.3 = 0End IfLoopEnd
考虑使用BASCOM-AVR集成开发环境(IDE)在避障机器人中使用的源代码的屏幕截图为:
文章图片
推荐阅读
- 机器人运动原理详解
- 直线跟随机器人设计实例
- 基于DTMF的移动控制机器人设计实例
- 机器人的组成介绍
- 人工智能研究领域介绍
- 机器人和人工智能概念介绍
- 'Specifying a namespace in include() without providing an app_name '
- App 上架遇到的坑
- AppBoxFuture: 集成第三方Sql数据库