Grazie per la dritta e l'aiuto PaoloP, la librearia l'ho creata al volo e adesso la posto. Soltanto che non capisco come mai funziona attraverso il monitor seriale dell'ide mentre tramite php mi funziona solo l'accensione del led rosso e bianco...
codice LEDRGB.h
#ifndef LEDRGB_H
#define LEDRGB_H
#include "Arduino.h"
class LEDRGB{
private:
byte pinGlobal;
const int static _ledRed = 11;
const int static _ledBlue = 9;
const int static _ledGreen = 10;
public:
void init(byte pinLed);
void onRed(void);
void onBlue(void);
void onGreen(void);
void onWhite(void);
void offAll(void);
void error(int rit);
};
#endif
codice LEDRGB.cpp
#include "LEDRGB.h"
void LEDRGB::init(byte pinLed){
pinGlobal = pinLed;
pinMode(pinGlobal, OUTPUT);
}
void LEDRGB::onRed(void){
digitalWrite(_ledRed, 0);
digitalWrite(_ledBlue, 255);
digitalWrite(_ledGreen, 255);
Serial.println("Luce Rossa accesa");
}
void LEDRGB::onBlue(void){
digitalWrite(_ledRed, 255);
digitalWrite(_ledBlue, 0);
digitalWrite(_ledGreen, 255);
Serial.println("Luce Blue accesa");
}
void LEDRGB::onGreen(void){
digitalWrite(_ledRed, 255);
digitalWrite(_ledBlue, 255);
digitalWrite(_ledGreen, 0);
Serial.println("Luce Verde accesa");
}
void LEDRGB::onWhite(void){
digitalWrite(_ledRed, 0);
digitalWrite(_ledBlue, 0);
digitalWrite(_ledGreen, 0);
Serial.println("Luce Bianca accesa");
}
void LEDRGB::offAll(void){
digitalWrite(_ledRed, 255);
digitalWrite(_ledBlue, 255);
digitalWrite(_ledGreen, 255);
Serial.println("Nessuna luce accesa");
}
void LEDRGB::error(int rit){
Serial.println("Carattere non valido");
for(int i=5; i>0; i--){
digitalWrite(_ledRed, 0);
digitalWrite(_ledBlue, 255);
digitalWrite(_ledGreen, 255);
delay(rit);
digitalWrite(_ledRed, 255);
digitalWrite(_ledBlue, 255);
digitalWrite(_ledGreen, 255);
delay(rit);
}
}
non l'ho ottimizzata la libreria, era giusto per fare delle prove, anzi visto che sto... non è corretto inserire i pin nell'header, devo passare le variabili dallo sketch arduino e richiamarle all'interno di ogni funzione... a parte questo dovrebbe stare bene giusto?