arduino笔记18:伺服电机 串口通讯 数组

本文介绍了如何使用Arduino控制伺服电机,包括Servo.write()和Serial.read()函数的运用。还探讨了串口通讯,如Serial.available()和Serial.parseInt(),以及如何处理数组,特别提到了二维数组在控制多个伺服电机时的应用。文中还提到了一些常见的伺服电机问题及解决方案,并简要提及了软件串口设置和蓝牙模块的使用。
摘要由CSDN通过智能技术生成

目录

 

目录

一.伺服电机

Servo.write();   

Serial.read();     

二.串口通讯

Serial.available();

Serial.parseInt();     

三.数组

二维数组

多个舵机,一步定位,一步复位:  

软件串口设置:


 

一.伺服电机

Robot

MeArm     不是MiniArm

 

直流伺服(servo)电机  (舵机)

 

 

45度为一个概念,不是具体的电机转动度数。

闭环控制系统

 

伺服电机引脚

 

 

Servo库来调节伺服电机

Servo.write();   

调整伺服电机到相应的角度

Serial.read();     

如果串行数据缓冲区有数据,这个函数会读取串行数据缓冲区的第一个字节,数据读取位置移动到下一个数据缓冲区,也就是说如果继续读取的话会读取下一个数据缓冲区的第一个字节.
如果数据缓冲区没有数据,将返回-1.


 
/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.
 
 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/
 
#include <Servo.h>
 
Servo myservo;  // 创建Servo对象用以控制伺服电机
                 // 很多开发板允许同时创建12个Servo对象
 
int pos = 0;    // 存储伺服电机角度信息的变量
 
void setup() {
  myservo.attach(9);  // Servo对象连接在9号引脚 
  Serial.begin(9600);
}
 
void loop() {
  for (pos = 0; pos <= 180; pos += 45) { // 0度转到180度
    // 每一步增加1度
    myservo.write(pos);              // 告诉伺服电机达到'pos'变量的角度
    Serial.println(pos);
    delay(1000);                       // 等待15毫秒以确保伺服电机可以达到目标角度
  }
  for (pos = 180; pos >= 0; pos -= 45) { // 180度转到0度
    myservo.write(pos);              // 告诉伺服电机达到'pos'变量的角度
    Serial.println(pos);
    delay(1000);                       // 等待15毫秒以确保伺服电机可以达到目标角度
  }
}

 

二.串口通讯

串行端口

引脚0RX :接收(Receive)

引脚1TX:发送(Transmit)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值