Ciao a tutti, sto provando a creare una libreria per Arduino.
La funzione sarebbe quella di semplificare operazioni su LED come lampeggio, variazione di luminosità ecc.
Dopo aver creato file .h e .cpp scrivo il codice per Arduino e al momento di compilarlo l'IDE mi da i seguenti errori di cui non comprendo il significato:
ProvaLED:0: error: new types may not be defined in a return type
ProvaLED.cpp:4: note: (perhaps a semicolon is missing after the definition of 'LED')
ProvaLED:0: error: two or more data types in declaration of 'setup'
I codici sono i seguenti:
Codice LEDUtility.h:
#ifndef LEDUtility_h
#define LEDUtility_h
#include "Arduino.h"
class LED {
public:
LED(unsigned short int pin);
void fade(unsigned short int i, unsigned short int f, unsigned int del);
void activate();
private:
unsigned short int _pin;
}
#endif
Codice LEDUtility.cpp:
#include "LEDUtility.h"
void LED::LED(unsigned short int pin) {
_pin = pin;
}
void LED::activate() {
pinMode(_pin, OUTPUT);
}
void LED::fade(unsigned short int i, unsigned short int f, unsigned int del) {
//Aumento luminosità
if(i < f && i >= 0 && f <= 255) {
for(unsigned short int cont = i; cont <= f; cont ++) {
analogWrite(_pin, cont);
delay(del);
}
}
//Diminuzione luminosità
else if(i > f && i <= 255 && f >= 0) {
for(unsigned short int cont = i; cont <= f; cont --) {
analogWrite(_pin, cont);
delay(del);
}
}
}
Codice Arduino:
#include <LEDUtility.h>
LED led(10);
void setup() {
led.activate();
}
void loop() {
led.fade(0, 255, 10);
}
Grazie in precedenza per l'aiuto!