Problema libreria

Ho tentato di creare una nuova libreria per gestire due relè alla volta (per comandare elettrovalvole bistabili), ma mi sta dando solo errori su errori, probabilmente ho sbagliato qualcosa di banale...
è la prima libreria che cerco di scrivere.

#ifndef eValve_h
#define eValve_h
#include <Arduino.h>
class eValve
{
 public:
     eValve(int pin1_1 , int pin1_2)
     void close();
     void open();
 private:
     int _pin1_1;
     int _pin1_2; 
};
#endif

#include <Arduino.h>
#include "eValve.h"
eValve::eValve(int&nbsp;pin1_1, int&nbsp;pin1_2)
{
pinMode(pin1_1,OUTPUT);
pinMode(pin1_2,OUTPUT);
_pin1_1&nbsp;&nbsp;pin1_1;
_pin1_2&nbsp;&nbsp;pin1_2;
}
void&nbsp;eValve::open()
{
digitalWrite(_pin1_1,HIGH);
delay(100);
digitalWrite(_pin1_2,HIGH);
delay(50);
}
void&nbsp;eValve::close()
{
digitalWrite(_pin1_1,LOW);
delay(100);
digitalWrite(_pin1_2,LOW);
delay(50);
}

eValve KEYWORD1
open KEYWORD2
close KEYWORD3

Per postare il codice devi usare il tag apposito.
Qui, sezione 7, spiega come, altrimenti è illeggibile.
http://forum.arduino.cc/index.php?topic=149082.0

qui ti manca un punto e virgola finale:

 eValve(int pin1_1 , int pin1_2)     ;

Ok grazie, ho corretto, ma continua a non funzionare purtroppo...

i   sono presenti anche nel codice o sono venuti fuori nel copia e incolla. Quanto ne so io non ci sono KEYWORD3

Ciao Uwe

Manca il codice principale, a me compila senza errori, tolti quei caratteri strani:

H:\Arduino_projects\prova\prova.ino

#include <eValve.h>
eValve prova(9,8);
void setup()
{ prova.open();
  prova.close();
}
void loop(){}

H:\Arduino_projects\LIBRARIES\eValve\eValve.h

#ifndef eValve_h
#define eValve_h
#include <Arduino.h>
class eValve
{ public:
     eValve(int pin1_1 , int pin1_2);
     void close();
     void open();
  private:
     int _pin1_1;
     int _pin1_2; 
};
#endif

H:\Arduino_projects\LIBRARIES\eValve\eValve.cpp

#include <Arduino.h>
#include "eValve.h"

eValve::eValve(int pin1_1, int pin1_2)
{ pinMode(pin1_1,OUTPUT);
  pinMode(pin1_2,OUTPUT);
  _pin1_1=pin1_1;
  _pin1_2=pin1_2;
}

void eValve::open()
{ digitalWrite(_pin1_1,HIGH);
  delay(100);
  digitalWrite(_pin1_2,HIGH);
  delay(50);
}

void eValve::close()
{ digitalWrite(_pin1_1,LOW);
  delay(100);
  digitalWrite(_pin1_2,LOW);
  delay(50);
}

nid69ita:
, a me compila senza errori

Ho ricopiato pari pari il codice che hai postato tu e ho ricreato da zero la cartella della libreria.
Quando includo la libreria però mi aggiunge una riga vuota al posto di #include <eValve.h>

Se lo scrivo io a mano invece mi dice:

'eValve' does not name a type

sketch_sep02a:1: error: 'eValve' does not name a type
sketch_sep02a.cpp: In function 'void setup()':
sketch_sep02a:3: error: 'prova' was not declared in this scope

Come non detto, dopo averla riscritta nuovamente, ora funziona.
Probabilmente avevo scritto male qualche nome, boh...

Grazie mille.

L'IDE cerca le librerie in \Arduino\libreries, tu le hai in \Arduino_projects\LIBRARIES
Controlla il percorso, se usi linux è case sensitive. (giusto Leo?)

PaoloP:
L'IDE cerca le librerie in \Arduino\libreries, tu le hai in \Arduino_projects\LIBRARIES
Controlla il percorso, se usi linux è case sensitive. (giusto Leo?)

@PaoloP, quei percorsi sono sul mio PC Windows, non dell'utente che chiedeva aiuto. Nessun problema su Win, probabilmente su Linux sarebbero un problema.

@woor90, attenzione ai nomi delle librerie e delle cartelle, su quei nomi mi sembra che l'IDE faccia attenzione alle maiuscole/minuscole;
perciò se classe si chiama eValve, include=>eValve.h e cartella=>eValve

:sweat_smile: