电子说
组件
使用超声波制作arduino雷达需要列出的组件传感器。
Arduino Board(我使用的是arduino Uno)
伺服电机(mg-996)
HC-SR04超声波传感器
面包板
跳线
步骤1:
《首先,我们要切一块卡板(15cm * 8cm)。然后,将arduino和伺服电机粘在上面。
步骤2:
现在,我们必须制作一个“L”形支架用于超声波传感器(HC-SR04),使其保持在伺服电机上。
步骤3:
现在,我们必须将声纳传感器连接到arduino。将传感器的VCC和GND分别连接到arduino的5v和GND时要小心。之后,将trig引脚连接到8并将echo引脚连接到arduino的9。
步骤4:
将传感器连接到arduino后,是时候将伺服电机连接到它了。再次,要小心连接伺服电机的VCC和GND。将伺服信号连接到arduino的引脚10。
步骤5:Arduino雷达所需的软件:
您将需要arduino IDE和Processing IDE来运行它雷达
项目。处理IDE将获取从arduino发送的值并说明对象区域(红色标记)。按照链接下载它们。
处理IDE:https://processing.org/download/support.html
Arduino IDE:https://www.arduino.cc/en/main/software
第6步:Arduino代码:
#includeconst int TriggerPin = 8;
const int EchoPin = 9;
const int motorSignalPin = 10;
const int startingAngle = 90;
const int minimumAngle = 6;
const int maximumAngle = 175;
const int rotationSpeed = 1;
伺服电机;
void setup(void )
{pinMode(TriggerPin,OUTPUT);
pinMode(EchoPin,INPUT);
motor.attach(motorSignalPin);
Serial.begin(9600);
}
void loop(void)
{static int motorAngle = startingAngle;
static int motorRotateAmount = rotationSpeed;
motor.write(motorAngle);
延迟(10);
SerialOutput(motorAngle,CalculateDistance());
motorAngle + = motorRotateAmount;
if(motorAngle 《= minimumAngle || motorAngle》 = maximumAngle){motorRotateAmount = -motorRotateAmount;
}}
int CalculateDistance(void)
{digitalWrite(TriggerPin,HIGH);
delayMicroseconds(10);
digitalWrite(TriggerPin,LOW);
long duration = pulseIn(EchoPin,HIGH);
float distance = duration * 0.017F;
return int(distance);
}
void SerialOutput(const int angle,const int distance)
{
String angleString = String(angle);
String distanceString = String(distance);
Serial.println(angleString +“,”+ distanceString);
}
步骤7:处理IDE:
我们可以使用处理IDE轻松找到范围(40 cm)内的任何对象。如果您的PC上没有IDE,请下载它。
在使用此IDE之前,我们必须配置字体。
为此,我们必须安装“OCRAEXT.TTF”文件位于Radar.zip。
然后,转到tools/create Font。从列表中选择“OCRAExtended”,选择字体大小25并单击“确定”。
步骤8:
现在,我们必须找到COM端口号。转到Arduino IDE并找到Com端口(照片中的COM3)。将COM端口号放在处理代码的第13行(照片中的COM3)。
步骤9:最终
最后,按“运行”按钮将显示一个处理窗口。它将显示雷达的伺服角度和物距。
全部0条评论
快来发表一下你的评论吧 !