Arduino几个功能合并的问题-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3621|回复: 3

[已解决] Arduino几个功能合并的问题

[复制链接]
发表于 2014-4-28 01:28 | 显示全部楼层 |阅读模式
#include <Adafruit_LEDBackpack.h>
#include <Adafruit_GFX.h>
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_PWMServoDriver.h"
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_MotorShield AFMS2 = Adafruit_MotorShield();
Adafruit_StepperMotor *myStepMotor_1 = AFMS.getStepper(200, 1);
Adafruit_StepperMotor *myStepMotor_2 = AFMS2.getStepper(200, 2);

Adafruit_7segment matrix = Adafruit_7segment();

void setup(){
  Serial.begin(9600);
  AFMS.begin(8000);
  AFMS2.begin(8000);
  
  pinMode(0, INPUT_PULLUP);
  
  pinMode(2, INPUT_PULLUP);
myStepMotor_1->setSpeed(250);  
  myStepMotor_2->setSpeed(500);  
  
  #ifndef __AVR_ATtiny85__
  Serial.begin(9600);
  #endif
  
  matrix.begin(0x73);
  pinMode(8, OUTPUT);      // sets the digital pin as output
}

void loop()
{
  displayCoilSize();
  int forwardButton = digitalRead(0);
  int backwardButton = digitalRead(2);

  if (forwardButton == LOW){
    threadCoil();
  }
    else if (backwardButton == LOW){
      runCartReverse();
    }
      else{
      // No buttons being pressed = all motors halt
      myStepMotor_1->step(0,FORWARD, DOUBLE);
      myStepMotor_2->step(0,FORWARD, DOUBLE);  
      }
  
//  myStepMotor_1->step(5,FORWARD, DOUBLE);
//  myStepMotor_2->step(15,FORWARD, DOUBLE);
}

//void displayCoilSize(){
//      // Prints voltage across POT at A0 and prints to the seven seg... I think...
//  digitalWrite(8,HIGH);
//  int sensorValue = analogRead(A0);
//  float voltage = sensorValue * (5.0 / 1023.0);
//  int intVoltage = voltage * 1000;

/*  CONVERT VOLTAGE TO COIL SIZE */

//  if ((voltage > 4.5) && (voltage <= 5)){
//      matrix.print(1, DEC);
//  }
//  else if ((voltage > 4.0) && (voltage <= 4.5)){
//    matrix.print(2, DEC);
//  }
//  else if ((voltage > 3.5) && (voltage <= 4.0)){
//    matrix.print(3, DEC);
//  }
//  else if ((voltage > 3.0) && (voltage <= 3.5)){
    matrix.print(4, DEC);
  }
  else if ((voltage > 2.5) && (voltage <= 3.0)){
    matrix.print(5, DEC);
  }
  else if((voltage > 2.0) && (voltage <= 2.5)){
    matrix.print(6, DEC);
  }
  else{
    matrix.printError();
  }
  matrix.printFloat(voltage);

  matrix.writeDisplay();
  delay(500);
}

void threadCoil(){
    myStepMotor_1->step(5,FORWARD, DOUBLE);
    myStepMotor_2->step(15,FORWARD, DOUBLE);
}

void runCartReverse(){
    myStepMotor_1->step(0,FORWARD, DOUBLE);
    myStepMotor_2->step(15,BACKWARD, DOUBLE);
}
有LED的控制,还有两个马达的控制,导入以后只有LED工作,马达完全没反应。
发表于 2014-4-28 03:39 | 显示全部楼层

回帖奖励 +1 金币

你把有关led的语句注销了呢   注销了以后看看马达好不好使
 楼主| 发表于 2014-4-28 06:37 | 显示全部楼层
____消失灬 发表于 2014-4-28 03:39
你把有关led的语句注销了呢   注销了以后看看马达好不好使

单独的LED或者马达都是工作的,但是如果两个一起导入就不行了,因为之前查过,据说是两个功能同时启用的时候会有一些麻烦,所以我想知道
发表于 2014-4-28 12:41 | 显示全部楼层
QQ截图20140428123955.jpg

你看我圈的那部分是不是注释有问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 03:31 , Processed in 0.077822 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表