Arduino声源追踪:SG90舵机控制新玩法

来源: 自创 作者:声讯电子 2025-08-05 13:24:49
基于Arduino和声源定位模组的伺服马达控制系统。系统通过AR-1105声源定位核心板的6个IO口(本文仅使用其中4个)检测声源方向,每个IO口对应60度角度范围。当检测到声源时,相应IO口输出高电平信号,Arduino根据输入信号控制SG90伺服马达转动到对应角度(0°、60°、120°或180

 

 

 

 

 

目录

  • SG90伺服马达和云台
  • 声源定位板和arduino的硬件连接
  • 一.声源定位板脚位设置
  • 二.arduino脚位设置
  • 组装完成:
  • arduino程序:
  • 结束语:

 

 

 

 本文介绍如何使用Arduino和声源定位模组控制SG90伺服马达,通过声源定位核心板的IO信号,实现马达在不同角度的定向转动,程序简单无需复杂算法。

arduino入门- 声源定位模组进行SG90伺服马达方向控

视频链接:​https://www.bilibili.com/video/BV15TtGz5EH1/

 

 利用声源定制追踪制作的一个小玩意.使用arduino开发板做的.程序很简单.没有难度.主要是声源定位模组使用的是全硬件搭建.不需要去做调试和研究算法.

声源定位核心板和测试底座

 

 

我使用了声源定位板的测试底座来连接,这样方便很多.这个不是必需要的,有别的支架可以不用这个底座效果也是一样的.我是找不到合适的支架就用这个现成的.还用了两块.

 

 

SG90伺服马达和云台

 

 

声源定位板和arduino的硬件连接

声源定位核心板把360度的声场平均分为6个角度范围.每个角度为60度.核心板上有6个角度的IO口.当某个角度追踪到声音的时候.相应的角度IO口会发送高电平指示.非常简单.

 

 

一.声源定位板脚位设置

 由于伺服马达只能转动180度.所以我在声源定位上取了从0-180度四个脚位的IO分别送入arduino的2.3.4.5号脚位.再把核心板的负极接arduino共地.

 

 

二.arduino脚位设置

 

 

组装完成:

 

arduino程序:

程序很简单.只要调用arduino的伺服马达库,然后定义0-180度四个脚位2.3.4.5为输入脚.默认舵机控制脚为9.

#include <Servo.h> int i= 0;

 

Servo myservo;  // create servo object to control a servo // twelve servo objects can be created on most boards int pos = 0;    // variable to store the servo position void setup() {

 

pinMode(2,INPUT);//
定义
0
度角度输入脚位
pinMode(3,INPUT);//
定义
60
度角度输入脚位
pinMode(4,INPUT);//
定义
120
度角度输入脚位
pinMode(5,INPUT);//
定义
180
度输入脚位
myservo.attach(9);  //
定义舵机脚位
  attaches the servo on pin 9 to the servo object} 

void loop() {
if (digitalRead(2) ==HIGH)//
如果
2
脚电平为
HIGH{     myservo.write(0);      //
伺服马达转动到
0
度
delay(100);  }      //
定义延迟
100
毫秒
if (digitalRead(3) ==HIGH)  //
如果
3
脚电平为
HIGH{  myservo.write(60);       //
伺服马达转动到
60
度
delay(100); }              //
延迟
100
毫秒
if (digitalRead(4) ==HIGH)  //
如果
4
脚电平为
HIGH{ myservo.write(120);    //
伺服马达转动到
120
度
delay(100); }          //
延迟
100
毫秒
if (digitalRead(5) ==HIGH)   //
如果
5
脚电平为
HIGH{   myservo.write(180);       //
伺服马达转动到
180
度
delay(100); }                //
延迟
100
毫秒
}

把以上程序入arduino,声源定位板接入usb电源.就可以进行测试了.

 

 

 

把以上程序入arduino,声源定位板接入usb电源.就可以进行测试了.

结束语:

这个声源定位板应为是纯硬件搭建..直接就可以进行应用.所以可以为我们省去声音定位软件的研究和调试.而且每个角度给出高电平指示.,编写arduino程序也非常简单.只要先调用自带的伺服马达库.然后根据声源板的每个角度给出的电平让arduino指定脚位输入.就可以实现当哪个角度有声源的时候.伺服马达就会向哪个角度转动.是不是很简单?有兴趣可以试试.

 

 

 

 

 


 

0
收藏
0