当前位置:   article > 正文

Arduino通过串口控制舵机角度实验_adriuno通过在串口监视器上输入角度控制舵机转动到指定角度

adriuno通过在串口监视器上输入角度控制舵机转动到指定角度

接上篇  光敏电阻实验   

 

 

要做向日葵式的太阳能收集器,除了找到光线外,还需要控制方向的部件,这里选择使用舵机控制方向,本实验室是用的是9克舵机。

舵机一般都是有可控制范围的,标准舵机是90度,也有小于90度的也有360度的舵机,本实验是180度的舵机。

这次实验除了实验了舵机的使用,还涉及到了串口的数据读取与发送。

 

1接线方法

PS:板子上数字接口,有些数字旁边有个~,有些没有,~代表有PWN,板子上也会有说明,可以留意一下。

 

2程序

程序打包下载地址:https://u16460183.ctfile.com/fs/16460183-295173181

  1. #include <Servo.h> //引入lib
  2. Servo myservo; // 创建一个伺服电机对象
  3. char inByte = 0; //串口接收的数据
  4. int angle = 0; //角度值
  5. String temp = "";//临时字符变量,又或者说是缓存用的吧
  6. void setup()
  7. {
  8. myservo.attach(9); //定义舵机的引脚为9,舵机只能是10,或者9引脚
  9. Serial.begin(9600); //设置波特率
  10. }
  11. void loop()
  12. {
  13. while (Serial.available() > 0) //判断串口是否有数据
  14. {
  15. inByte = Serial.read();//读取数据,串口一次只能读1个字符
  16. temp += inByte;//把读到的字符存进临时变量里面缓存,
  17. //再继续判断串口还有没有数据,知道把所有数据都读取出来
  18. }
  19. if(temp != "") //判断临时变量是否为空
  20. {
  21. angle = temp.toInt(); //把变量字符串类型转成整型
  22. Serial.println(angle); //输出数据到串口上,以便观察
  23. }
  24. temp = "";//请看临时变量
  25. myservo.write(angle); //控制舵机转动相应的角度。
  26. delay(100);//延时100毫秒
  27. }

 

 

 

 

 

接好线上电烧好程序

 

打开串口,输入0-180的数值,记得是数值哦,

因为程序没有做数据验证如果输入其他会。。。。。。大家可以自己试试看。

正常输入数值,舵机就会转动相应的角度。

 

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号