本文概述
避障机器人是移动机器人的重要组成部分。避障是用于检测机器人或任何车辆的路径中是否存在物体的任务。
避障机器人是一种智能设备, 用于保护机器人免受任何物理损坏。它会自动感应并克服其路径上的障碍。
工作中
在本项目中, 我们将研究如何使用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驱动程序
电路图
考虑基于eagle软件的避障机器人的电路图为:-
源代码
$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 Integer
Do
Cls
A = Getadc(0)
Lcd A
Lowerline
If A < 750 Then
Lcd "obstacle" '
Pwm1a = 200
Portd.6 = 0
Pwm1b = 200
Portd.3 = 0
Elseif A > 750 Then
Lcd "no obstacle"
Pwm1a = 0
Portd.6 = 0
Pwm1b = 0
Portd.3 = 0
End If
Loop
End
考虑使用BASCOM-AVR集成开发环境(IDE)在避障机器人中使用的源代码的屏幕截图为:
评论前必须登录!
注册