Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- // Indirizzo I2C del PCF8574
- #define PCF8574_ADDRESS 0x27
- int valoreUscita = 0; // Inizializzato a -1 per indicare nessun dato disponibile
- int oldvaloreUscita = 99 ;
- void setup() {
- Serial.begin(9600);
- Wire.begin();
- // Configura il PCF8574 come output
- Wire.beginTransmission(PCF8574_ADDRESS);
- Wire.write(0x00); // Tutti i bit impostati su 0
- Wire.endTransmission();
- }
- void loop() {
- // Leggi il valore dalla porta seriale solo se ci sono dati disponibili
- if (Serial.available() > 0) {
- // Leggi il valore dalla porta seriale e assegnalo alla variabile
- String inputString = Serial.readStringUntil('\n');
- valoreUscita = inputString.toInt();
- if (valoreUscita != oldvaloreUscita) {
- Serial.println(valoreUscita);
- oldvaloreUscita = valoreUscita;
- }
- // Controlla se il valore รจ valido (compreso tra 4 e 7)
- if (valoreUscita >= 4 && valoreUscita <= 7) {
- // Invia il comando al PCF8574
- Wire.beginTransmission(PCF8574_ADDRESS);
- Wire.write(1 << valoreUscita);
- Wire.endTransmission();
- } else {
- Serial.println("Valore non valido. Inserisci un numero compreso tra 4 e 7.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement