Aqui compilou normal no Arduino 1.8.5.
Vou tentar deixar mais fácil e volto a postar aqui.
Moderadores: andre_luis, 51, guest2003, Renie
//*************************************************************************************
#include <LiquidCrystal.h>
#include "Wire.h"
const int rs = 11, en = 9, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
//****************************************************************************************
#include "Stepper.h"
const int stepsPerRevolution = 200; // mude isto para ajustar o número de passos por revolução para o seu motor
Stepper MyStepper1(stepsPerRevolution, 6,8);
Stepper MyStepper2(stepsPerRevolution, 10,11);
unsigned short int oldSpeed1 = 101; // inicializado em 101 (fora da faixa normal) para mostrar primeira velocidade se este for zero
unsigned short int oldSpeed2 = 101;
//*********************************** SETUP *************************************************
void setup() {
lcd.begin(16, 2); // CONFIGURA DISPLAY LCD 16 COLUNAS 2 LINHAS
}
//*********************************** LOOP *************************************************
void loop()
{
unsigned short int sensorReading = analogRead(A0); // leia o valor do sensor:
unsigned short int motorSpeed1 = map(sensorReading, 0, 1023, 0, 100); // mapeie para um intervalo de 0 a 100:
unsigned short int sensorReading1 = analogRead(A1); // leia o valor do sensor:
unsigned short int motorSpeed2 = map(sensorReading1, 0, 1023, 0, 100); // mapeie para um intervalo de 0 a 100:
//atualiza velocidade quando houver alteracao na leitura ---------------------------------------
if (motorSpeed1 != oldSpeed1){
oldSpeed1 = motorSpeed1;
lcd.setCursor(0,0);
lcd.print(motorSpeed1 / 1.2); //CALCULO PARA EXIBIÇÃO FREQUENCIA NO DISPLAY
MyStepper1.setSpeed(motorSpeed1);
}
if (motorSpeed2 != oldSpeed2){
oldSpeed2 = motorSpeed2;
lcd.setCursor(0,1);
lcd.print(motorSpeed2 / 1.2); //CALCULO PARA EXIBIÇÃO FREQUENCIA NO DISPLAY
MyStepper2.setSpeed(motorSpeed2);
}
//move motor se velocidade maior que zero -----------------------------------------------------
if (motorSpeed1 > 0) MyStepper1.move(1); // 1=normal, 0=reverso
if (motorSpeed2 > 0) MyStepper2.move(1);
}
edsont escreveu:Coloca os arquivos Stepper.h e Stepper.cpp (anexos) junto na pasta do sketch. Não consegui anexar o arquivo .ino.
O Sketch ficou assim:
- Código: Selecionar todos
//*************************************************************************************
#include <LiquidCrystal.h>
#include "Wire.h"
const int rs = 11, en = 9, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
//****************************************************************************************
#include "Stepper.h"
const int stepsPerRevolution = 200; // mude isto para ajustar o número de passos por revolução para o seu motor
Stepper MyStepper1(stepsPerRevolution, 6,8);
Stepper MyStepper2(stepsPerRevolution, 10,11);
unsigned short int oldSpeed1 = 101; // inicializado em 101 (fora da faixa normal) para mostrar primeira velocidade se este for zero
unsigned short int oldSpeed2 = 101;
//*********************************** SETUP *************************************************
void setup() {
lcd.begin(16, 2); // CONFIGURA DISPLAY LCD 16 COLUNAS 2 LINHAS
}
//*********************************** LOOP *************************************************
void loop()
{
unsigned short int sensorReading = analogRead(A0); // leia o valor do sensor:
unsigned short int motorSpeed1 = map(sensorReading, 0, 1023, 0, 100); // mapeie para um intervalo de 0 a 100:
unsigned short int sensorReading1 = analogRead(A1); // leia o valor do sensor:
unsigned short int motorSpeed2 = map(sensorReading1, 0, 1023, 0, 100); // mapeie para um intervalo de 0 a 100:
//atualiza velocidade quando houver alteracao na leitura ---------------------------------------
if (motorSpeed1 != oldSpeed1){
oldSpeed1 = motorSpeed1;
lcd.setCursor(0,0);
lcd.print(motorSpeed1 / 1.2); //CALCULO PARA EXIBIÇÃO FREQUENCIA NO DISPLAY
MyStepper1.setSpeed(motorSpeed1);
}
if (motorSpeed2 != oldSpeed2){
oldSpeed2 = motorSpeed2;
lcd.setCursor(0,1);
lcd.print(motorSpeed2 / 1.2); //CALCULO PARA EXIBIÇÃO FREQUENCIA NO DISPLAY
MyStepper2.setSpeed(motorSpeed2);
}
//move motor se velocidade maior que zero -----------------------------------------------------
if (motorSpeed1 > 0) MyStepper1.move(1); // 1=normal, 0=reverso
if (motorSpeed2 > 0) MyStepper2.move(1);
}
Observar que coloquei aspas no include "stepper.h" para que não busque na biblioteca padrão.
Se der erro na primeira compilação, feche e abra novamente para que os arquivos apareçam nas abas do IDE.
Edit: acrescentei umas linhas que tinha esquecido.
menegola escreveu:Caro Colega edsont.
Agradeço sua atenção,mas código muito complexo para aprendiz como eu.
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante