Qualcuno ha provato questa libreria?
In compilazione ricevo molti errori.
Qualcuno ha provato questa libreria?
In compilazione ricevo molti errori.
Se guardi la data di aggiornamento: "2 years ago" quindi è un pò vecchiotta
nid69ita:
Se guardi la data di aggiornamento: "2 years ago" quindi è un pò vecchiotta
Non c'è molto di più recente:
2013
2012
http://jaerder.videmogroup.org/2012/06/23/new-ioexp-library-release/
Con queste due ho dei problemi a leggere un pin mentre
l'output vanno bene,
Non ho trovato altro.
busco:
Qualcuno ha provato questa libreria?GitHub - skywodd/pcf8574_arduino_library: PCF8574 / PCF8575 Arduino library (version 2.0)
In compilazione ricevo molti errori.
Lo zip che scarichi ha una doppia libreria dentro, pcf8574 e pcf8575. Elimina la parte 8575 e porta la parte 8574 un livello di cartelle in meno
La lib in pratica è a 2 livelli così:
+pcf8574_arduino_library-master cartella principale
+--pcf8574
+--pcf8575
Devi eliminare la sottocartella pcf8575 e tutto quello che c'e' in pcf8574 lo porti in quella principale
Poi l'errore unico che dà il demo è che la funzione toggle vuole un parametro intero mentre nel demo non passa parametri, prova ad aggiungere un parametro 0: expander.toggle(0);
/**
* Toggle the state of a pin
*/
void toggle(uint8_t pin);
RISPLTO!
Il problema:
Facevo delle prove con un' altra libreria con header uguale PCF8574.h.
Penso sia questo il problema perchè dopo aver tolto l'altra libreria dalla cartella "libraries"
non ho più avuto problemi.
Questo semplice codice con un LED lampeggiante e uno comandato da un pulsante
funziona bene
Grazie IGOR.
#include <Wire.h> // Required for I2C communication
#include "PCF8574.h" // Required for PCF8574
unsigned long antirip_led1;
int t_led1=500;
byte led1=0;
//PCF8574 instance
PCF8574 expander;
/** setup() */
void setup() {
//Start I2C bus and PCF8574 instance
expander.begin(0x26);
//Setup some PCF8574 pins for demo
expander.pinMode(1, OUTPUT);
expander.pinMode(2, OUTPUT);
expander.pinMode(3, INPUT_PULLUP);
antirip_led1=millis();
}
//loop()
void loop() {
if(millis()>antirip_led1+t_led1){
if(led1==0){
led1=1;
expander.digitalWrite(1, HIGH); //Spegne il LED sul pin 1.
}else{
led1=0;
expander.digitalWrite(1, LOW); //Accende il LED sul pin 1.
}
antirip_led1=millis();
}
if(expander.digitalRead(3)==0){ //Pulsante N.A. premuto.
expander.digitalWrite(2, LOW); //Accende il LED sul pin 2.
}else{
expander.digitalWrite(2, HIGH); //Spegne il LED sul pin 2.
}
}
busco:
Grazie IGOR.
Prego. ;D