Unire due Sketch (Fade+AccelStepper)

Ciao a tutti, volevo chiedervi una mano per questo problema. Premessa: non capisco molto di arduino, ma in università ci hanno fatto fare un progetto di una lampada lasciandoci completamento allo sbando.

In pratica la nostra lampada all’accensione deve far partire lo stepper e fargli fare un tot di giri, ma nello stesso tempo si deve anche accendere una striscia si di led che deve appunto accendersi lentamente e rimanere accesa. Gli sketch li abbiamo provati e funzionano, l’unico problema è che non so come unirli!

GRAZIE IN ANTICIPO!

FADE

/*
Fade

This example shows how to fade an LED on pin 9
using the analogWrite() function.

This example code is in the public domain.
*/

int led = 10; // the pin that the LED is attached to
int brightness = 0; // how bright the LED is
int fadeAmount = 5; // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup() {
// declare pin 9 to be an output:
pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
// set the brightness of pin 9:
analogWrite(led, brightness);

// change the brightness for next time through the loop:
brightness = brightness + fadeAmount;

// reverse the direction of the fading at the ends of the fade:
if (brightness == 0 || brightness == 255) {
fadeAmount = 0 ;
}
// wait for 30 milliseconds to see the dimming effect
delay(200);
}

ACCELSTEPPER

#include <AccelStepper.h>
//AccelStepper Xaxis(1, 2, 5); // pin 2 = step, pin 5 = direction

AccelStepper Xaxis(1, 2, 1); // pin 2 = step, pin 1 = direction

const int analogPin = A0;

void setup() {
Xaxis.setMaxSpeed(40);
Xaxis.setAcceleration(20);
Serial.begin(9600);

}
void loop() {
/*
int piezo = analogRead(analogPin);

// if the analog value is high enough, turn on the LED:
if (piezo < 500) {
Xaxis.moveTo(200);
Xaxis.run();
//delay(2000);
}
else {
//Xaxis.moveTo(0);
//Xaxis.run();
}

Serial.println(piezo);
*/

Xaxis.moveTo(200);
Xaxis.run();

}

nick.ino (586 Bytes)

Fade.ino (892 Bytes)

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare.
Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

Prova così:

#include <AccelStepper.h>
AccelStepper Xaxis(1, 2, 1);
const int analogPin = A0;
int led = 10;
int brightness = 0;
int fadeAmount = 5;

void setup() {

pinMode(led, OUTPUT);
Xaxis.setMaxSpeed(40);
Xaxis.setAcceleration(20);
Serial.begin(9600);

}

void loop() {
Xaxis.moveTo(200);
Xaxis.run();
analogWrite(led, brightness);

brightness = brightness + fadeAmount;

if (brightness == 0 || brightness == 255) {
fadeAmount = 0 ;
}

delay(200);
}