首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino PWM到Android IOIO PWM

Arduino PWM到Android IOIO PWM
EN

Stack Overflow用户
提问于 2012-05-08 09:21:42
回答 1查看 1.9K关注 0票数 1

我正在做一个使用LED的脉宽调制项目。我已经根据链接建立了电路

http://www.ladyada.net/products/rgbledstrip/

现在,我正在尝试放弃Arduino,并应用Android IOIO板。我的arduino代码如下...

代码语言:javascript
复制
void setup() {
pinMode(REDPIN, OUTPUT);
pinMode(GREENPIN, OUTPUT);
pinMode(BLUEPIN, OUTPUT);
}


void loop() {
  int r, g, b;

  // fade from blue to violet
  for (r = 0; r < 256; r++) { 
        analogWrite(REDPIN, r);
    delay(FADESPEED);
  } 
      // fade from violet to red
  for (b = 255; b > 0; b--) { 
                analogWrite(BLUEPIN, b);
        delay(FADESPEED);
          } 
  // fade from red to yellow
    for (g = 0; g < 256; g++) { 
    analogWrite(GREENPIN, g);
    delay(FADESPEED);
  } 
  // fade from yellow to green
  for (r = 255; r > 0; r--) { 
    analogWrite(REDPIN, r);
    delay(FADESPEED);
  } 
  // fade from green to teal
  for (b = 0; b < 256; b++) { 
    analogWrite(BLUEPIN, b);
    delay(FADESPEED);
  } 
  // fade from teal to blue
  for (g = 255; g > 0; g--) { 
    analogWrite(GREENPIN, g);
        delay(FADESPEED);
  } 
}

当我读到有关Arduino的analogWrite时,它的最大脉宽调制为255。现在,当我插入IOIO板时,我的代码如下

代码语言:javascript
复制
public void setup() throws ConnectionLostException {
        try {

            blueOutput_ = ioio_.openPwmOutput(14, 490);
            led_ = ioio_.openDigitalOutput(IOIO.LED_PIN, true);
            enableUi(true);
        } catch (ConnectionLostException e) {
            enableUi(false);
            throw e;
        }
public void loop() throws ConnectionLostException {

            try {

                blueOutput_.setPulseWidth(seekBlue.getProgress());

                led_.write(!toggle.isChecked());
                sleep(10);

            } catch (InterruptedException e) {
                ioio_.disconnect();
            } catch (ConnectionLostException e) {
                enableUi(false);
                throw e;
            }
        }
    }

请注意,我的频率与Arduino和IOIO匹配,频率为490 Hz。现在,当我在引脚14上输出一个PWM mod时,LED开始亮起,但在接近其最大亮度之前达到最大亮度。如果我将PWM调到255以上,蓝色(以及红色和绿色)的强度不会增加。我有12V的RGB灯条,有3个LED灯的长度(大约1.75英寸用于测试)

是不是有什么原因导致我无法从IOIO获得与Arduino相同的响应?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-05-08 10:10:56

您希望将pwm占空比从0更改为1。现有代码以微秒为单位更改脉冲宽度。

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

https://stackoverflow.com/questions/10491289

复制
相关文章

相似问题

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