Sensore INA219 e blocco refresh su oled

Salve Ragazzi,

sto riscontrando un piccolo problema con un circuito che sto facendo con l’INA219 e un display oled accoppiati ad un arduino micro pro.
In breve devo misurare la corrente assorbita da un motore mentre è attaccato ad un carico variabile. Funzionerebbe tutto quanto tranne quando, all’aumentare del carico, il refresh sul display si blocca e anche se viene rilasciato il carico è come se il programma si bloccasse li.
Sto iniziando ora con arduino…quindi sicuramente mi sto perdendo qualche dettaglio…qui di seguito lo sketch che sto utilizzando:

#include <Wire.h>
#include <Adafruit_INA219.h>
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
Adafruit_INA219 ina219;


void setup(void) 
{
  uint32_t currentFrequency;
  ina219.begin();
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  //Impostare l'indirizzo i2c annotato in precedenza
  display.clearDisplay();  //Pulisce il buffer da inviare al display
  //display.setTextSize(1);  //Imposta la grandezza del testo
  //display.setTextColor(WHITE); //Imposta il colore del testo (Solo bianco)
  //display.setCursor(0,0); //Imposta la posizione del cursore (Larghezza,Altezza)
  //display.println("Matteo"); //Stringa da visualizzare
  display.display(); //Invia il buffer da visualizzare al display
  
}

void loop(void) 
{
  float shuntvoltage = 0;
  float busvoltage = 0;
  float current_mA = 0;
  float loadvoltage = 0;
  float power_mW = 0;

  shuntvoltage = ina219.getShuntVoltage_mV();
  busvoltage = ina219.getBusVoltage_V();
  current_mA = ina219.getCurrent_mA();
  power_mW = ina219.getPower_mW();
  loadvoltage = busvoltage + (shuntvoltage / 1000);
  
  display.clearDisplay();   // clears the screen and buffer
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.print("V:"); display.print(loadvoltage, 2); display.println(" V");
  display.print("D:"); display.print(current_mA*100,0); display.println("m");
  display.display();
  //display.print("D:"); display.print((current_mA*loadvoltage*));
 // display.display();
  delay(1000);
}

grazie mille a chi mi può dare qualche suggerimento!

>matteino82: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More → Modify che si trova in basso a destra del tuo post) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non avrai sistemato il codice come richiesto, nessuno ti potrà rispondere, quindi ti consiglio di farlo al più presto. :wink:

Grazie mille, scusatemi...mi ero perso la parte su come inserire il codice :frowning:

dovrei essere riuscito a correggere l'errore del tagcode.