赞
踩
接上篇 光敏电阻实验
要做向日葵式的太阳能收集器,除了找到光线外,还需要控制方向的部件,这里选择使用舵机控制方向,本实验室是用的是9克舵机。
舵机一般都是有可控制范围的,标准舵机是90度,也有小于90度的也有360度的舵机,本实验是180度的舵机。
这次实验除了实验了舵机的使用,还涉及到了串口的数据读取与发送。
1接线方法
PS:板子上数字接口,有些数字旁边有个~,有些没有,~代表有PWN,板子上也会有说明,可以留意一下。
2程序
程序打包下载地址:https://u16460183.ctfile.com/fs/16460183-295173181
- #include <Servo.h> //引入lib
-
- Servo myservo; // 创建一个伺服电机对象
-
- char inByte = 0; //串口接收的数据
- int angle = 0; //角度值
- String temp = "";//临时字符变量,又或者说是缓存用的吧
-
- void setup()
- {
- myservo.attach(9); //定义舵机的引脚为9,舵机只能是10,或者9引脚
- Serial.begin(9600); //设置波特率
- }
-
-
- void loop()
- {
- while (Serial.available() > 0) //判断串口是否有数据
- {
- inByte = Serial.read();//读取数据,串口一次只能读1个字符
- temp += inByte;//把读到的字符存进临时变量里面缓存,
- //再继续判断串口还有没有数据,知道把所有数据都读取出来
- }
-
- if(temp != "") //判断临时变量是否为空
- {
- angle = temp.toInt(); //把变量字符串类型转成整型
- Serial.println(angle); //输出数据到串口上,以便观察
- }
- temp = "";//请看临时变量
- myservo.write(angle); //控制舵机转动相应的角度。
- delay(100);//延时100毫秒
- }
接好线上电烧好程序
打开串口,输入0-180的数值,记得是数值哦,
因为程序没有做数据验证如果输入其他会。。。。。。大家可以自己试试看。
正常输入数值,舵机就会转动相应的角度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。