3D激光扫描三维重建——4.anduino控制舵机

本文介绍了如何使用Arduino通过串口接收MATLAB指令,利用Servo库来控制舵机进行3D激光扫描的三维重建过程。文中详细讲解了Arduino控制舵机的两种方法,并重点阐述了使用Servo函数的步骤,包括在setup()中初始化串口和舵机,以及在loop()中读取串口数据和调整舵机角度。
摘要由CSDN通过智能技术生成

目标:matlab向串口发送“1”,arduino接收串口数据后开始控制舵机工作。

用Arduino 控制舵机的方法有两种,
一种是通过Arduino 的普通数字传感器接口产生占空比不同的方波,模拟产生PWM 信号进行舵机定位,
第二种是直接利用Arduino 自带的Servo 函数进行舵机的控制,这种控制方法的优点在于程序编写,缺点是只能控制2 路舵机,因为Arduino 自带函数只能利用数字9、10 接口。

本系统用的Arduino自带的Servo函数

首先在setup()函数中初始化串口以及舵机状态
然后再执行循环的loop()函数,再其中读取串口数据,并调用舵机控制函数
舵机控制函数主要是实现计时每33ms舵机角度增加(或减小)1度的功能。

void checkServo( ) {
      static uint32_t Timer;
  //millis()函数:获取机器运行的时间长度,单位ms。
  //系统最长的记录时间为9小时22分,如果超出时间将从0开始
  if (Timer > millis())
    return;
  Timer = millis() + every;
      if (servoTarget > po
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值