Advertisement
pippero

Untitled

Dec 19th, 2023
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. #include <Wire.h>
  2.  
  3. // Indirizzo I2C del PCF8574
  4. #define PCF8574_ADDRESS 0x27
  5. int valoreUscita = 0; // Inizializzato a -1 per indicare nessun dato disponibile
  6. int oldvaloreUscita = 99 ;
  7. void setup() {
  8. Serial.begin(9600);
  9. Wire.begin();
  10. // Configura il PCF8574 come output
  11. Wire.beginTransmission(PCF8574_ADDRESS);
  12. Wire.write(0x00); // Tutti i bit impostati su 0
  13. Wire.endTransmission();
  14. }
  15. void loop() {
  16. // Leggi il valore dalla porta seriale solo se ci sono dati disponibili
  17. if (Serial.available() > 0) {
  18. // Leggi il valore dalla porta seriale e assegnalo alla variabile
  19. String inputString = Serial.readStringUntil('\n');
  20. valoreUscita = inputString.toInt();
  21.  
  22. if (valoreUscita != oldvaloreUscita) {
  23. Serial.println(valoreUscita);
  24. oldvaloreUscita = valoreUscita;
  25. }
  26.  
  27. // Controlla se il valore รจ valido (compreso tra 4 e 7)
  28. if (valoreUscita >= 4 && valoreUscita <= 7) {
  29.  
  30. // Invia il comando al PCF8574
  31. Wire.beginTransmission(PCF8574_ADDRESS);
  32. Wire.write(1 << valoreUscita);
  33. Wire.endTransmission();
  34. } else {
  35. Serial.println("Valore non valido. Inserisci un numero compreso tra 4 e 7.");
  36. }
  37. }
  38.  
  39.  
  40.  
  41. }
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement