Errore di compilazione, ma solo su un pc

Buongiorno, sto provando a compilare uno sketch sul pc del mio amico Bill, e mi da un warning che sui miei due pc non da.
Consigli?

La finestra degli errori è la seguente

C:\Users\Giovanni Porte\Desktop\easybrew download7\OnOff_spin_rock22\OnOff_spin_rock22.ino:36:14: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
 char* Risp = ""; // risposta di Arduino
              ^~
C:\Users\Giovanni Porte\Desktop\easybrew download7\OnOff_spin_rock22\OnOff_spin_rock22.ino: In function 'void loop()':
C:\Users\Giovanni Porte\Desktop\easybrew download7\OnOff_spin_rock22\OnOff_spin_rock22.ino:75:40: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
      if (digitalRead(PinLed)==ON) Risp="Attivo;";
                                        ^~~~~~~~~
C:\Users\Giovanni Porte\Desktop\easybrew download7\OnOff_spin_rock22\OnOff_spin_rock22.ino:77:11: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
      Risp="Disattivo;";
           ^~~~~~~~~~~~
Lo sketch usa 9734 byte (30%) dello spazio disponibile per i programmi. Il massimo è 32256 byte.
Le variabili globali usano 337 byte (16%) di memoria dinamica, lasciando altri 1711 byte liberi per le variabili locali. Il massimo è 2048 byte.

Lo sketch è il seguente

////////////////////////////////////////////
//SKETCH PER SCHEDE RELAY CON ATTIVO ALTO //
////////////////////////////////////////////

// Il bus dati del ds18b20 è collegato al digital pin 10
#include <OneWire.h>
#include <DallasTemperature.h>

#define ONE_WIRE_BUS 10
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

// Variabili di Step
float temp1=0.0;
float temp2=0.0;
String temp12;
String sep = ";";
char buf[20];
char buf1[20];

// Costanti per melodia di avviso
#define NOTE_B3  247
#define NOTE_C3  131
#define NOTE_G3  196
#define NOTE_C4  262
#define NOTE_D4  294
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_G4  392
#define NOTE_A4  440
#define NOTE_B4  494

#define OFF LOW //spento
#define ON HIGH // acceso
#define PinLed 13 //pin da comandare
char* Risp = ""; // risposta di Arduino
byte data; // carattere ricevuto
void setup() {

// sensors.begin();       // Inizializzazione sensori
  
// initialize the digital pin's as an output.
 pinMode(11, OUTPUT);   // Relay 1 Mash
 pinMode(6, OUTPUT);    // Relay 2 Sparge
 pinMode(7, OUTPUT);    // Relay 3 Pompa
 pinMode(8, OUTPUT);    // Relay 4 Motore
 pinMode(5, OUTPUT);    // Relay 5 Boiler
 pinMode(2, OUTPUT);    // Relay 6 Relay addizionale1
 pinMode(3, OUTPUT);    // Relay 7 Relay addizionale2
 pinMode(9, OUTPUT);    // Relay 8 Relay addizionale3
  
 pinMode(PinLed,OUTPUT);
 Serial.begin(9600);
 
 digitalWrite(11, LOW); // set the Relay 1 off
 digitalWrite(6, LOW);  // set the Relay 2 off
 digitalWrite(7, LOW);  // set the Relay 3 off
 digitalWrite(8, LOW);  // set the Relay 4 off
 digitalWrite(5, LOW);  // set the Relay 5 off
 digitalWrite(2, LOW);  // set the Relay 6 off
 digitalWrite(3, LOW);  // set the Relay 7 off
 digitalWrite(9, LOW);  // set the Relay 8 off  
}

// Funzione di reset via software
//void(* Riavvia)(void) = 0;

void loop() {
 if(Serial.available()>0) //se arriva un byte dal pc
 {
//   Risp="?;";
   data = Serial.read(); // leggo dalla seriale
 
   if (data=='?'){
     if (digitalRead(PinLed)==ON) Risp="Attivo;";
     else 
     Risp="Disattivo;";
   }
 
// Relay 1 Controllo temperatura di mash [
   if (data=='y') { // accendi il relay
     if (digitalRead(11)==OFF) {
        digitalWrite(11, ON); // set the Relay on
        tone(4, NOTE_G3, 250); 
        delay(100);
        tone(4, NOTE_A4, 250);          
        delay(100);
        tone(4, NOTE_G3, 250); 
        delay(100);
        tone(4, NOTE_A4, 250);         
        //Risp="Attivo;";
     }
   }
 
   if (data=='x'){ // spegni il relay
     if (digitalRead(11)==ON) {
        digitalWrite(11, OFF); // set the Relay Off
        //Risp="Disattivo;";
     }
   } 
// Relay 1 Controllo temperatura di mash ]
 
// Relay 2 Controllo temperatura di sparge [
   if (data=='s'){ // accendi il relay
     if (digitalRead(6)==OFF) {   
       digitalWrite(6, ON); // set the Relay on
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);          
        delay(100);
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);  
       //Risp="Attivo;";
     }
   } 
 
   if (data=='k'){ // spegni il relay
     if (digitalRead(6)==ON) {   
       digitalWrite(6, OFF); // set the Relay Off
        tone(4, NOTE_C4, 250); 
        delay(100);
        tone(4, NOTE_C3, 250);        
        delay(100);
        tone(4, NOTE_C4, 250);          
        delay(100);
        tone(4, NOTE_C3, 250);  
       //Risp="Disattivo;";
     }
   }    
// Relay 2 Controllo temperatura di sparge ]
 
// Relay 3 Controllo pompa [
    if (data=='p'){ // accendi il relay
     if (digitalRead(7)==OFF) {    
       digitalWrite(7, ON); // set the Relay on
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);          
        delay(100);
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);
       //Risp="Attivo;";        
     }
   } 
 
   if (data=='o'){ // spegni il relay
     if (digitalRead(7)==ON) {   
       digitalWrite(7, OFF); // set the Relay Off
       //Risp="Disattivo;";
     }
   }   
// Relay 3 Controllo pompa ]

// Relay 4 Controllo motore [
    if (data=='m'){ // accendi il relay
     if (digitalRead(8)==OFF) {    
       digitalWrite(8, ON); // set the Relay on
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);          
        delay(100);
        tone(4, NOTE_C3, 250); 
        delay(100);
        tone(4, NOTE_C4, 250);
       //Risp="Attivo;";    
     }
   } 
 
   if (data=='n'){ // spegni il relay
     if (digitalRead(8)==ON) {   
     digitalWrite(8, OFF); // set the Relay Off
     //Risp="Disattivo;";
     }
   }   
// Relay 4 Controllo motore ]

// Relay 5 Controllo Boil [
    if (data=='b'){ // accendi il relay
     if (digitalRead(5)==OFF) {    
        digitalWrite(5, ON); // set the Relay on
        tone(4, NOTE_G3, 250); 
        delay(100);
        tone(4, NOTE_A4, 250);          
        delay(100);
        tone(4, NOTE_G3, 250); 
        delay(100);
        tone(4, NOTE_A4, 250);         
       //Risp="Attivo;";
     }
   } 
 
   if (data=='v'){ // spegni il relay
     if (digitalRead(5)==ON) {   
       digitalWrite(5, OFF); // set the Relay Off
       //Risp="Disattivo;";
     }
   }   
// Relay 5 Controllo Boil ]

// Relay 6 Controllo Relay aggiuntivo1 [
    if (data=='w'){ // accendi il relay
     if (digitalRead(2)==OFF) {    
       digitalWrite(2, ON); // set the Relay on
       //Risp="Attivo;";
     }
   } 
 
   if (data=='q'){ // spegni il relay
     if (digitalRead(2)==ON) {   
       digitalWrite(2, OFF); // set the Relay Off
       //Risp="Disattivo;";
     }
   }   
// Relay 6 Controllo Relay aggiuntivo1 ]

// Relay 7 Controllo Relay aggiuntivo2 [
    if (data=='r'){ // accendi il relay
     if (digitalRead(3)==OFF) {    
       digitalWrite(3, ON); // set the Relay on
       //Risp="Attivo;";
     }
   } 
 
   if (data=='e'){ // spegni il relay
     if (digitalRead(3)==ON) {   
       digitalWrite(3, OFF); // set the Relay Off
       //Risp="Disattivo;";
     }
   }   
// Relay 7 Controllo Relay aggiuntivo2 ]

// Relay 8 Controllo Relay aggiuntivo2 [
    if (data=='f'){ // accendi il relay
      if (digitalRead(9)==OFF) {    
       digitalWrite(9, ON); // set the Relay on
       //Risp="Attivo;";
     }
   } 
 
   if (data=='d'){ // spegni il relay
     if (digitalRead(9)==ON) {   
       digitalWrite(9, OFF); // set the Relay Off
       //Risp="Disattivo;";
     }
   }   
// Relay 8 Controllo Relay aggiuntivo2 ]
 
    if (data=='1'){
     sensors.requestTemperatures();    // Recupero valori di temperature dai sensori
     temp1=sensors.getTempCByIndex(0);  /* Assegnazione temperatura sensore1 temp. sparge */
//     if (temp1 == -127.00) {
//       temp1 = 0.00; }

// Quando è presente un solo sensore assegno la stessa temperatura sia al mash che allo sparge [
//     if (temp1 == -127.00) {
//       temp1 = temp2; }
//     else if (temp2 == -127.00) {
//       temp2 = temp1; }
 // Quando è presente un solo sensore assegno la stessa temperatura sia al mash che allo sparge ]   

    dtostrf(temp1, 4, 2, buf1);        /* Conversione temperatura1 da float a String */
    temp12 = buf1 + sep;
    temp12.toCharArray(Risp, 8);
    
    Serial.write(Risp); // restituiamo la risposta
   }
   
   if (data=='2'){
     sensors.requestTemperatures();    // Recupero valori di temperature dai sensori
     temp2=sensors.getTempCByIndex(1);  /* Assegnazione temperatura sensore2 temp. mash */
//     if (temp2 == -127.00) {
//       temp2 = 0.00; }
       
// Quando è presente un solo sensore assegno la stessa temperatura sia al mash che allo sparge [
     if (temp1 == -127.00) {
       temp1 = temp2; }
     else if (temp2 == -127.00) {
       temp2 = temp1; }
// Quando è presente un solo sensore assegno la stessa temperatura sia al mash che allo sparge ]   
    
    dtostrf(temp2, 4, 2, buf);         /* Conversione temperatura2 da float a String */
    temp12 = buf + sep;
    temp12.toCharArray(Risp, 8);
    
    Serial.write(Risp); // restituiamo la risposta
   }   

   //Serial.write(Risp); // restituiamo la risposta
   
  } // if serial.available
} // loop

In conformità al REGOLAMENTO , punto 7, cortesemente edita il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone a forma di piccola matita :pencil2: che si trova in basso del tuo post), seleziona TUTTA la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice.

Inoltre, così com'è, non è molto leggibile ... assicurati di averlo correttamente indentato nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Per maggiori informazioni ... punto 17.2 del succitato regolamento.

Grazie.

Guglielmo

*P.S.: Ti ricordo che, purtroppo, fino a quando non sarà sistemato il codice, nel rispetto del suddetto regolamento nessuno ti risponderà, quindi ti consiglio di fare il tutto al più presto. :wink:

Non è che su un computer i "warning" sono attivati, mentre sull'altro no?
File > Impostazioni: Mostra un output dettagliato durante: [√] compilazione

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.