oled 128x32 I2C

Salve a tutti
volevo realizzare una sonda sostitutiva x il mio frigo che mi vorrebbe lasciare anzitempo…
in sostanza arduino legge la T della ds18b20 e fa muovere un servo che di fatto accende e spegne (solo) il frigo.
verifico il codice sulla breadboard e va ma quando lo flasho sull’arduino stand alone(tramite ubsasp) lo schermo rimane nero mentre il resto del codice funziona regolarmente

ho controllato e ricontrollato le saldature (per il vero ho rifatto tutto da capo su un’altra basetta) ma stesso problema

ho prvato ad aggiungere delle RES da 10K su sda e scl(che sulla mega non c’erano) ma sempre nero

Suggerimenti ?
ecco il codice

#include <U8g2lib.h>
#include <Servo.h>

#include <OneWire.h>
#include <DallasTemperature.h>

#include <Wire.h>

#define ONE_WIRE_BUS 8    //pin  sonda

 U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C u8g2(U8G2_R0, /* clock=*/ 21, /* data=*/ 20, /* reset=*/ U8X8_PIN_NONE);   // Adafruit Feather M0 Basic Proto + FeatherWing OLED
 Servo myservo;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
 
float Timp = 8;

void setup(void) {
  Serial.begin(115200);
  sensors.begin();
  myservo.attach(9);
  u8g2.begin(); // Arduboy 10 (Production)

  u8g2.setFont(u8g2_font_6x12_tr);
  myservo.write(170);
  
   pinMode(10, INPUT_PULLUP);
   pinMode(11, INPUT_PULLUP);
   pinMode(7 , OUTPUT);
}


void loop(void) {

  sensors.requestTemperatures();
 float  tempC = sensors.getTempCByIndex(0);  
 // String temp = tempC;
//  Serial.println(tempC);
 u8g2.firstPage();  
      do {  u8g2.setCursor(0,28);
           u8g2.setFont(u8g2_font_inr21_mn); 
           u8g2.print(sensors.getTempCByIndex(0));
           u8g2.setFont(u8g2_font_fub14_tf );
            u8g2.drawStr(100,18," °C");
            u8g2.setCursor(108,32);
         u8g2.setFont(u8g2_font_7x14B_tn);
            u8g2.print(Timp);
         }    while( u8g2.nextPage() );  

if (tempC >= Timp){
                myservo.write(10);
                 digitalWrite(7, HIGH);
                   }
    else {
          myservo.write(170); 
          digitalWrite(7, LOW);
          } 
 
   
   
     Serial.println(tempC);                  
 
}

ciao

1) ma con la breadboard che arduino usi per fare i test? 2)sei sicuro di aver usato i pin giusti nella tua interfaccia stand alone?

forse questo può aiutare :)

Un saluto

MD

con la bread uso una mega ma sulla stand alone A4 e A5 , SDA e CLK

ovviamente il codice viene compilato x un arduino e quindi caricato sulla stand alone. cmq, se nn ricordo male, il "wire.begin()" inizializza automaticamente i pin corretti a seconda del tipo d i board....

piuttosto ho un dubbio sul setup della U8G2:

U8G2_SSD1306_128X32_UNIVISION_2_SW_I2C u8g2(U8G2_R0, /* clock=*/ 21, /* data=*/ 20, /* reset=*/ U8X8_PIN_NONE); // Adafruit Feather M0 Basic Proto + FeatherWing OLED

scusate ma la tensione su sda e clk rispetto gnd quaale dovrebbe essere ? io leggo 3.2 v… sulla stand alone 3.6v sulla mega…