Progetto Covid- Aiuto Monitor Seriale

Salve a tutti,
Volevo chiedervi una cortesia: Io ho creato una comunicazione tra due Arduini Master e Slave, dove il Master chiederà una risposta allo Slave.
Il problema che riscontro è che quando nella funzione if (IgM >'60'){ inserisco un numero a due cifre nel monitor seriale è come se non lo leggesse, invece se mettessi
if (IgM >'6'){, quindi con una sola cifra me lo accetta. Vi chiedo il massimo aiuto, grazie per la disponibilità.
Un ultima cosa, la serie di Serial.Prinln sullo Slave è la spiegazione.

//SLAVE
#include <Wire.h>
void setup(){
Serial.begin(9600);
Wire.begin(7);
Wire.onRequest(rispondi);
Serial.println("Benvenuto nel nostro laboratorio analisi dei Tamponi:");
delay(300);
Serial.println("A differenza degli ormai noti tamponi, esame di laboratorio che serve per individuare la presenza del coronavirus all'interno delle mucose respiratorie, i test sierologici servono ad individuare tutte quelle persone che sono entrate in contatto con il virus.");
delay(300);
Serial.println("Mentre i primi forniscono un'istantanea sull'infezione, i secondi raccontano la storia della malattia.");
delay(300);
Serial.println("Attraverso i test sierologici infatti è possibile andare ad individuare gli anticorpi prodotti dal nostro sistema immunitario in risposta al virus.");
delay(300);
Serial.println("I test sierologici sono essenzialmente di due tipi: quelli rapidi e quelli quantitativi.");
delay(300);
Serial.println("I primi, grazie ad una goccia di sangue, stabiliscono se la persona ha prodotto anticorpi e quindi è entrata in contatto con il virus.");
delay(300);
Serial.println("i secondi, dove serve un prelievo, dosano in maniera specifica le quantità di anticorpi prodotti.");
delay(300);
Serial.println("In entrambi i casi i test sierologici vanno alla ricerca degli anticorpi (immunoglobuline) IgM e IgG.");
delay(300);
Serial.println("Le IgM vengono prodotte temporalmente per prime in caso di infezione. ");
delay(300);
Serial.println("Con il tempo il loro livello cala per lasciare spazio alle IgG.");
delay(300);
Serial.println("Quando nel sangue vengono rilevate le IgG, significa che l'infezione si è verificata già da diverso tempo e la persona tendenzialmente è immune al virus.");
delay(300);
Serial.println("Conoscere la presenza di questi anticorpi è utile per molte ragioni:");
delay(300);
Serial.println("ci consentono di sapere quante persone hanno realmente incontrato il virus.");
delay(300);
}
void loop (){
delay(1000);
}
int IgM;
void rispondi(){
IgM=Serial.read();
if (IgM >'60'){
Wire.write("Positivo");
}else{
Wire.write("Negativo");
}
}

//MASTER
#include <Wire.h>
int ledPin1=10;
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("ok");//
}

void loop()
{
Wire.requestFrom(7, 8);
String c = "";
while (Wire.available())
{
c += char(Wire.read());
}
Serial.println(c);
if(c == "Positivo"){
digitalWrite(ledPin1, HIGH);
Serial.println("Risultato esito Tampone: ");
}
else if(c == "Negativo"){
digitalWrite(ledPin1, LOW);
Serial.println("Risultato esito Tampone: ");
}
}

Buonasera e benvenuto :slight_smile: ,

essendo il tuo primo post nella sezione Italiana del forum, nel rispetto del regolamento di detta sezione (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con molta attenzione tutto il su citato REGOLAMENTO

... poi, in conformità al suddetto 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 la parte di codice e premi l'icona </> nella barra degli strumenti per contrassegnarla come codice. Così com'è non è molto leggibile ... assicurati inoltre anche di aver correttamente indentato il codice nell'IDE prima di inserirlo (questo lo si fa premendo ctrlT su un PC o cmd T su un Mac all'intero del IDE). Grazie.

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposito thread e sistemato il codice come da regolamento, nessuno ti potrà rispondere, quindi ti consiglio di fare il tutto al più presto. :wink:

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