arduino 2 tasto reset ad ogni avvio

Ciao a tutti, esiste un modo per fare che lo sckt su arduino 2 parta appena alimentato e non dopo reset o collegamento monitor seriale?

In che senso scusa, quando lo alimenti perché dici che non parte ?

PS
Non è che hai il while(!Serial); nel setup ?

Ho un programmino col quale mi interfaccio con un display oled, se inserisco l'usb non si avvia nulla , per avviarlo o spingo reset o avvio il terminale

dimenticavo di dire che con arduino 2009 e tutto ok e che con un semplice programma tipo blink fa la stessa cosa, ho cercato un in internet ma non ho trovato nessun riferimento

Mi era sfuggito il fatto che era una Arduino 2 (che non posseggo).

Prova a dare un occhiata a questo link dove viene spiegata la differenza nelle porte seriali.

Quindi se alimenti dal jack di alimentazione funziona tutto correttamente ?

niet con l’alimentatore esterno fa uguale

zagnimarco1790:
niet con l’alimentatore esterno fa uguale

posta il codice se non è una problema.

#include <Arduino.h>
#include <U8x8lib.h>

#ifdef U8X8_HAVE_HW_SPI
#include <SPI.h>
#endif
#ifdef U8X8_HAVE_HW_I2C
#include <Wire.h>
#endif
U8X8_SH1106_128X64_NONAME_HW_I2C u8x8(/* reset=*/ U8X8_PIN_NONE);





int stato;
int tch;
int tAP;



const int PREMUTO = 1;
const int RILASCIATO = 0;
const int ON = HIGH;
const int OFF = LOW;


long t0;
long t;
long t1=0;
long t2;
long t4;
long T;
long x; //variabile per spostare cursore in basso
long x1; // variabile per  stampare una volta sola a seriale intestazione programma
long x2;
bool bl1=0;
bool bl2=0;

void setup() {
  Serial.begin(9600);
  pinMode(5, INPUT_PULLUP);// ho usato  il pullup perchè  gli ingressi sono optoisolati
  pinMode(6, INPUT_PULLUP);
  pinMode(7, INPUT_PULLUP);
  pinMode(8, INPUT_PULLUP);
  pinMode(13, OUTPUT);
  pinMode(12,OUTPUT);
  Serial.println("PRONTO PER LA PROVA");
  u8x8.begin();
  


  
  
  stato = RILASCIATO;
  tch = OFF;
  tAP= OFF;
  
}




void loop(){
  x1=x1+1;
  if(x1==1){Serial.println("TEST TEMPI DY800");
   u8x8.setFont(u8x8_font_amstrad_cpc_extended_f);
    //u8x8.clear();    
    
    u8x8.draw2x2String(3,0,"TEST");
    u8x8.draw2x2String(2,3,"DY800");
    



  }
  
  t4=millis();
  
  
  int pAP= digitalRead(5); //pulsante di apertura
  int pCH = digitalRead(6); // pulsante di chiusura
  int _52AP = digitalRead(7); //micro segnalazione  interruttore aperto 
  int _52CH = digitalRead(8); // micro segnalazione interruttore chiuso
   
  if(pCH==LOW){bl2=1;
  digitalWrite(13,HIGH);
  T=millis();

  
  }
  
  if ((tch == OFF) && (pCH ==LOW) &&(_52AP == LOW)&&(pAP==HIGH)&&(tAP==OFF)&&(bl1==0)) { //verifica che tch sia off che il segnale di chiusura sia attivo e l?interruttore sia aperto
    tch = ON;
   // bl1=1;
   // digitalWrite(13,HIGH);   
    
    
    
   
   
    t0 = millis();
    
    
    
    
    
    Serial.println("TCH");
    
    
    
  }
  
  
 
  
  if ((tch == ON) && (_52CH == LOW)) {
    tch = OFF;
    
    
   
    
    
    t = millis() - t0;
   
    
   // Serial.println(t);
    u8x8.setFont(u8x8_font_amstrad_cpc_extended_f);
    if (x2== 0){u8x8.clear();}
    if(x ==8)  {u8x8.clear();}
     if(x == 0)  {u8x8.clear();}     
    u8x8.setCursor(0,x);
    u8x8.println("TCH");
    u8x8.setCursor(4,x);
    u8x8.print(t);
    u8x8.setCursor(10,x);
    u8x8.println("ms");
    x=x+1;
    x2=x2+1;

    
    Serial.println(t); 
    
   
   
    
    
    
 
  
  }
   if(pAP==LOW){bl1=1;
  digitalWrite(13,HIGH);
  T=millis();
  }
  
  if ((tAP == OFF) && (pAP == LOW)&&(_52CH==LOW)&&(pCH==HIGH)&&(tch==OFF)&&(bl2==0) ) {
    tAP = ON;
   // bl1=1;
    //digitalWrite(13,HIGH);
    
    
    
  
   T=millis(); 
    t0 = millis();
    
  
    Serial.println("TAP");
    
    
  }

  
  if ((tAP == ON) && (_52AP == LOW)) {
    tAP = OFF;
    
    
  
   
    
    t = millis() - t0;
     u8x8.setFont(u8x8_font_amstrad_cpc_extended_f);
     if (x2== 0){u8x8.clear();}
     if(x == 8)  {u8x8.clear();} 
      if(x == 0)  {u8x8.clear();}  
    u8x8.setCursor(0,x);
    u8x8.println("TAP");
    u8x8.setCursor(4,x);
    u8x8.print(t);
    u8x8.setCursor(10,x);
    u8x8.println("ms");
    x=x+1;
    x2=x2+1;
     
     
    
    Serial.println(t);
 
  
  }
  if(x==9){x=0;
  //u8x8.clear();
  }
  
  
  
  

if((t4-T)>500){digitalWrite(13,LOW);
(bl1=0,bl2=0);}


  

}

ho risolto è un problema hw pare che sia una resistenza mancante