首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino项目- LDR和ServoMotor同步和旋转

问Arduino项目- LDR和ServoMotor同步和旋转
EN

Stack Overflow用户
提问于 2014-03-19 18:31:57
回答 1查看 7.5K关注 0票数 0

我做一个家庭项目只是为了好玩,我对Arduino非常陌生,但我知道基本知识。

我创造了一个自动的威尼斯人盲,在那里它将在黑暗时打开,当明亮时关闭。

,这样,当感光器探测到黑暗时,百叶窗的板条会旋转到打开的位置,当感光器探测到光时,则旋转到关闭的位置。--

我正在使用:

arduino uno r3/连续伺服电机/ led/ LDR (光传感器)/ 10k电阻器/

本代码适用于标准伺服电机。我希望它能与一个连续伺服电机一起工作,因为你可以“更好地控制它”,而这正是我所拥有的。

我想我需要一个类似这样的if声明:

如果光传感器检测到黑暗,则将伺服电机a旋转到一定程度,然后停止,如果光传感器检测到光,则将伺服电机旋转到一定程度,然后停止。

代码语言:javascript
复制
#include <Servo.h>

Servo servo1;

int sensorPin = A0;            // select the input pin for the ldr
int ledPin = 13;  
unsigned int sensorValue = 0;
int servoPin = 9;
int pos = 0;

void setup()
{
  //Start Serial port
  Serial.begin(9600);        // start serial for output - for testing
  servo1.attach(9);
  pinMode(ledPin, OUTPUT);
}

void loop()
{
  // For DEBUGGING - Print out our data, uncomment the lines below
  Serial.print("Cell = ");     // print the value (0 to 1024)
  Serial.println(analogRead(sensorPin));                   // print carriage return  

  pos = analogRead(sensorPin);
  pos = constrain (pos, 0, 1023);

  int servoPos = map(pos, 0, 1023, 255, 0);
  int servoDegree = map(servoPos, 255, 0, 0, 179);

  servo1.write(servoDegree);
  Serial.print("Servo Degree = ");
  Serial.println(servoDegree);


  int val = analogRead(sensorPin);
  val = constrain (val, 0, 1023);

  int ledLevel = map(val, 0, 1023, 255, 0);
  analogWrite (ledPin, ledLevel);  

  delay(50);  
}   
EN

回答 1

Stack Overflow用户

发布于 2014-03-20 01:14:46

使用连续伺服电机,您可以放弃位置信息。(有关详细信息,请参阅此波洛页面。)这意味着你不会知道什么时候百叶窗已经达到他们的开放/关闭的位置,除非你也添加限制开关。如果你使用开关,那么一个连续的伺服系统就能工作。一个更好的解决方案可能是一个小型变速箱步进电机就像这个来自AdaFruit的。他们有扭矩,但他们比连续伺服慢得多。

关键是你不想持续地给电机供电(这就是标准伺服系统如何保持位置)。这是浪费,并将烧毁发动机的东西,就像一个百叶窗应用程序,日复一日。您希望它完成任务,然后在循环()中等待状态(应用程序中的亮度)发生变化。因此,您需要跟踪最后一个光照级别,然后在循环()中检查当前的光线级别是否不同(并且大于您必须通过测试确定的阈值),然后更改百叶窗的状态并存储最后一个级别。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22515090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档