这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » 伺服电机控制的无线电灯开关-第二部分

共9条 1/1 1 跳转至

伺服电机控制的无线电灯开关-第二部分

工程师
2022-07-17 20:45:29     打赏

这篇文章来源于DevicePlus.com英语网站的翻译稿。


目录

 

  • • 第一部分
    什么是伺服电机?
    伺服电机的类型
    所需电压和电源

  •  

  • • 第二部分
    基于Arduino程序的伺服控制
    伺服电机可以做什么?

  •  

  • • 第三部分
    伺服控制电灯开关
    电灯开关的远程控制

 

4. 基于Arduino程序的伺服控制

Arduino对伺服电机控制的方式大致有两种。

PWM(脉冲宽度调制)是一种通过打开和关闭脉冲信号来控制电机的方法。通过直接使用PWM来控制伺服电机可以实现步进式转动。但是对于更复杂的项目,您可以使用Arduino IDE中包含的伺服电机库。

Arduino IDE → [File] → [Examples] → [10.StarterKit BasicKit] → [p05_ServoMoodindicator]

该程序可以根据模拟引脚0(A0)的输入值来更改伺服电机的角度。在模拟引脚上使用电位计或光学传感器等可变电阻,通过电阻值的变化来实现电机的转动。

伺服电机库函数

伺服电机库基于两种类型的指令:1)指定要发送到伺服电机的控制信号的引脚编号。2)指定伺服电机转动时的角度。

 

代码—示例


myServo.attach(9); //Specify the servo motor's signal pin

 

代码—示例


myServo.write(angle); //Move the servomotor to a specific angle

 

 

以下电路是使用FEETECH FS90微伺服电机的示例。该伺服电机的工作电压是6V。由于工作时的电流是200 mA,因此伺服电机由四节AA电池串联供电(6V)。

diy wireless light switch


图6:示例电路图

 

diy wireless light switch


图7:伺服电机控制电路

 

diy wireless light switch


图8: p05_ServoMoodIndicator

代码—示例

/* Arduino Starter Kit example Project 5 - Servo Mood Indicator   This sketch is written to accompany Project 5 in the Arduino Starter Kit   Parts required: servo motor 10 kilohm potentiometer 2 100 uF electrolytic capacitors   Created 13 September 2012 by Scott Fitzgerald   https://www.arduino.cc/starterKit   This example code is part of the public domain */   // include the servo library #include <Servo.h>   Servo myServo; // create a servo object   int const potPin = A0; // analog pin used to connect the potentiometer int potVal; // variable to read the value from the analog pin int angle; // variable to hold the angle for the servo motor   void setup() { myServo.attach(9); // attaches the servo on pin 9 to the servo object Serial.begin(9600); // open a serial connection to your computer }   void loop() { potVal = analogRead(potPin); // read the value of the potentiometer // print out the value to the serial monitor Serial.print("potVal: "); Serial.print(potVal);   // scale the numbers from the pot angle = map(potVal, 0, 1023, 0, 179);   // print out the angle for the servo motor Serial.print(", angle: "); Serial.println(angle);   // set the servo position myServo.write(angle);   // wait for the servo to get there delay(15); }

 

 

 

5. 伺服电机可以做什么?

让我们简要回顾一下使用伺服电机可以完成的工作。以下是两种典型工作方式:

I. 按下按钮

伺服电机可以控制转动的角度。这就是为什么伺服电机最适于开发按钮控制的机械系统。您可以像下面的视频中那样制作一些有趣的设备,并且也可以开发出仅通过一个按钮来实现控制的多种设备,如房间里的开关等等。

 

 

II. 移动物体

使用Arduino控制电机的第三部分——制造一辆通过伺服电机控制转向的RC车中,我们使用LEGO制造了一台RC车。我们安装了通过伺服电机进行控制的转向部件。伺服电机可以用于多种器件,但是它通常用于“移动”部件/物体,例如移动机器人汽车或机器人手臂等。

 





关键词: 伺服     电机     控制     无线     电灯     开关    

专家
2022-07-17 20:56:16     打赏
2楼

看看


专家
2022-07-18 08:06:10     打赏
3楼

真不错


专家
2022-07-18 08:16:11     打赏
4楼

谢谢分享


专家
2022-07-18 08:18:28     打赏
5楼

感谢分享


院士
2022-07-18 08:29:48     打赏
6楼

感谢分享


高工
2022-07-18 08:30:50     打赏
7楼

good


专家
2022-07-18 08:33:14     打赏
8楼

学习,感谢楼主分享


专家
2022-07-18 08:34:34     打赏
9楼

学习


共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]