Go Down

Topic: Cronometro particolare x gare di pattinaggio (Read 2550 times) previous topic - next topic

pgiagno

Ci siamo sovrapposti.

Devi includere il tuo codice fra le chiavi [ code] e [ /code]  che ottieni cliccando su </> del Preview.

Correggi il tuo post precedente e poi vediamo.

Ciao,
P.

pgiagno

#46
Apr 13, 2019, 10:48 am Last Edit: Apr 13, 2019, 03:43 pm by pgiagno
Ti sottopongo alcune osservazioni prima delle correzioni. Sono osservazioni di "best practice"
- Le definizioni (#define) e le variabili (val) mettile sempre PRIMA della parte void setup. In questo modo sono "visibili" da qualunque parte del tuo programma
- I pinMode() conviene metterli all'inizio della sezione void setup

Altre osservazioni sugli errori:
- Il pinMode del BUTTON va "ancorato" HIGH usufruendo del parametro INPUT_PULLUP
- Non usare init() per lcd, usa begin().
- Non "sprecare" spazi sul display, al posto di "CORSIA 1 - " basta "CORSIA 1 " altrimenti il tempo non riesci a scriverlo in 20 caratteri

Correggi così:

Code: [Select]

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 20 chars and 4 line display

#define BUTTON 11
int val;

void setup()
{
 pinMode(BUTTON, INPUT_PULLUP);
 lcd.begin();                      // initialize the lcd
 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("CORSIA 1 ");
 lcd.setCursor(0,1);
 lcd.print("CORSIA 2 ");
 lcd.setCursor(0,2);
 lcd.print("CORSIA 3 ");
 lcd.setCursor(0,3);
 lcd.print("CORSIA 4 ");
}

void loop()
{
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(0,9);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(0,9);
   lcd.print("NON ATTIVA");
 }
 //continuare per gli altri pulsanti e corsie
}

Ciao,
P.

big-ivan

#47
Apr 17, 2019, 11:31 pm Last Edit: Apr 18, 2019, 07:32 am by big-ivan
Ciao Pgiagno,
Ho fatto il programma come mi hai detto tu, sostituendo init() con begin() per l'LCD, ma mi da errore e non me lo caricava. inserendo init, mi ha caricato il programma.
ho editato per scrivere nelle altre corsie, e ci sono riuscito senza problema, ma ho un dubbio:

all'inizio del listato, c'è settato il pulsante all'uscita 11, (start) ma non sono settati i pulsanti di stop. Per settarli, riscrivo lo stesso pezzo di programma, sostituendo 11 con  le porte che userò, ma non riesco a capire come abbinarlo alla linea del display specifica.

Ciao e grazie

Ivan


ecco il programma:
Code: [Select]

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 20 chars and 4 line display

#define BUTTON 11
int val;

void setup()
{
 pinMode(BUTTON, INPUT_PULLUP);
 lcd.init();                      // initialize the lcd
 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("CORSIA 1 ");
 lcd.setCursor(0,1);
 lcd.print("CORSIA 2 ");
 lcd.setCursor(0,2);
 lcd.print("CORSIA 3 ");
 lcd.setCursor(0,3);
 lcd.print("CORSIA 4 ");
}

void loop()
{
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,0);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,0);
   lcd.print("NON ATTIVA");
 }

 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,1);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,1);
   lcd.print("NON ATTIVA");
 }
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,2);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,2);
   lcd.print("NON ATTIVA");
 }
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,3);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,3);
   lcd.print("NON ATTIVA");
 }
 
}

gpb01

#48
Apr 18, 2019, 06:25 am Last Edit: Apr 18, 2019, 06:25 am by gpb01
>big-ivan:   ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (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
Search is Your friend ... or I am Your enemy !

big-ivan

Ciao,
Chiedo scusa, ma ero convinto che il code fosse un comando del programma, invece era per il forum!!!

Scusate ancora

Grazie
Ivan

big-ivan

Ciao pgiagno,
Se hai tempo, riesci a mandarmi lo scema elettrico, che inizio ad assemblarlo?

Grazie
Ivan

pgiagno

#51
Apr 18, 2019, 09:09 am Last Edit: Apr 18, 2019, 09:10 am by pgiagno
Devi definire altri pulsanti e associarli ad altri pin, ad es. così:

Code: [Select]
#define BUTTON1 11 //pulsante stop corsia 1
#define BUTTON2 10 //pulsante stop corsia 2
#define BUTTON3 9 //pulsante stop corsia 3
#define BUTTON4 8 //pulsante stop corsia 4


e quindi devi modificare così le istruzioni

Code: [Select]
. . .
 val = digitalRead((BUTTON1);
. . .
 val = digitalRead((BUTTON2);
. . .
 val = digitalRead((BUTTON3);
. . .
 val = digitalRead((BUTTON4);
. . .

Per lo schema elettrico non ho problemi, ma devi dirmi tu a quali pin di Arduino collegherai i vari dispositivi.

Io ti avevo inviato un esempio, che qui ripeto

Code: [Select]
//Il layout è composto da:
//- 4 luci verdi connesse ai pin 2, 3, 4, 5
//- 4 luci rosse connesse ai pin 6, 7, 8, 9
//- 1 sirena connessa al pin 10
//- 4 pulsanti di stop connessi ai pin A0, A1, A2, A3
//- 1 pulsante (start) connesso al pin 11
//- 1 pulsante di reset
//- 1 display lcd i2c connesso ai pin A4, A5
//
//La configurazione è la seguente:
//- CORSIA 1 led verde al pin 2, led rosso al pin 6, pulsante di stop al pin A0
//- CORSIA 2 led verde al pin 3, led rosso al pin 7, pulsante di stop al pin A1
//- CORSIA 3 led verde al pin 4, led rosso al pin 8, pulsante di stop al pin A2
//- CORSIA 4 led verde al pin 5, led rosso al pin 9, pulsante di stop al pin A3

ma tu sei partito con #define BUTTON 11, quindi dammi anche le altre corrispondenze.

Devi anche dirmi cosa userai per le luci verdi e rosse. Se userai led con assorbimenti inferiori a 20mA per led non occorrono transistor buffer, altrimenti devo prevederli.

Ciao,
P.

big-ivan

Si hai ragione!!!
Per i led, pensavo di mettere dei classici bicolori sul pannello comandi e sulla periferica di start, e un led Jumbo da 10mm sulla scatola del pulsante di stop.

Grazie ancora
ivan

pgiagno

Ricapitolando:

- Ho bisogno di sapere a quali pin di Arduino vuoi connettere led e pulsanti. Se ti vanno bene quelli che ti ho proposto io, lo schema elettrico è già pronto, se ne vuoi altri, dimmi quali e io lo correggo.

- Ogni led consuma di suo dai 10 ai 20 mA. Metterne altri in parallelo sul pannello comandi può portare l'assorbimento da ogni pin vicino al massimo assoluto (che è 40 mA per pin), ma comunque si può far in modo da starci. Però la domanda è: se sul pannello comandi c'è già il display che indica: CORSIA 1 PRONTA oppure CORSIA 1 NON ATTIVA, ha senso mettere anche un led? comunque se ti piace si può fare.

- Ho bisogno di sapere che led hai preso, per capire quanto assorbono. Se li hai presi online posta un link.

Ciao,
P.

big-ivan

Ciao Pgiagno

Si i pin che mi hai elencato tu vanno benissimo, non cambia nulla per quel che mi riguarda.
I led bicolori che ho preso sono questi:

https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.it%2Fulk%2Fitm%2F303124273022

Per la domanda perché sia sulla consolle di start che sulla periferica esterna, è solamente per vedere la corsia non arriva a colpo d'occhio, senza dover leggere sul display. Ma se ci sono problemi di assorbimento, li metto solo sulla periferica esterna.

Inoltre i led jumbo Rossi che ho preso per vedere se in corsia il pulsante è stato premuto, sono questi:

https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.it%2Fulk%2Fitm%2F291289349029

Grazie ancora
Ivan

P.s. Scusa la latitanza di questi giorni ma ero in montagna per le feste di Pasqua e la connessione è scarsa (e nella casa non ho Wi-Fi).

pgiagno

#55
Apr 24, 2019, 03:18 pm Last Edit: Apr 24, 2019, 03:22 pm by pgiagno
In allegato lo schema che, come ti dicevo era già pronto.

I led bicolori vanno bene (perché usati?). Ci sono da dimensionare alcuni componenti come le resistenze di limitazione. È necessaria una resistenza differente per il verde e per il rosso perché hanno tensioni di soglia differenti e quindi assorbimenti differenti. È necessario che ciascuna parte del led bicolore NON assorba più di 10-15mA. Valori fra 270 e 330 ohm dovrebbero andar bene.

È stato previsto anche un circuito antirimbalzo per il pulsante di stop. Non dovrebbe essere necessario, data la funzione one-shot del pulsante, ma il lungo cavo potrebbe raccogliere sporcizia elettromagnetica e falsare lo stop. Questa sarà la PRIMA prova da fare: stendere un cavo lungo quanto ti servirà e vedere come si comporta in vicinanza di frigorifero, lavastoviglie, lavatrice, lampade al neon (favolose all'accensione, queste). A questo proposito per i connettori ti volevo segnalare che è possibile usare queste spine  e queste prese  . Si trovano anche cavi di connessione già intestati. Hanno il pregio di avere 8 fili twistati 2 a 2. Se ne possono usare 4 per i segnali e 4 per GND ottenendo anche un'ottima protezione contro i disturbi.

Se i led ripetitori sulla console assorbissero troppo si può mettere un transistor buffer. Per cui è un problema che si può risolvere dopo.

Credo che i led jumbo che hai scelto ti deluderanno. A mio avviso hanno un fascio molto concentrato. Io li ho colorati con lo smalto da unghie. Sono diventati accettabili.

Puoi ignorare il circuito per la sirena.

Con il software come va? (ahi, ahi).

Ciao,
P.

P.S. Sto sperimentando una connessione radio fra la console e i terminali di corsia, alimentati da power bank. L'incognita è il consumo. Vedremo.

big-ivan

Ciao,
i led sono nuovi non so perchè è indicato "usato".........per lo schema elettrico ok, ma i led jumbo rossi, li metto in parallelo agli altri (parte rossa)?
Questi servono solo per sapere se il pulsante è stato premuto e che lo sto sia avvenuto, direttamente da bordo corsia.

per quel che riguarda il il collegamento wireless, il problema consumo non lo vedo molto ptoblematico, in quando potrei procurarmi delle batterie LiPo a 2s (7.4v) a buon prezzo e di vari amperaggi, e cabiarle nella pausa pranzo. (ho collaborato per anni con una azienda che produceva e rivendeva batterie LiPo per modellismo e industriali.

Leggendo la tua sperimentazione wireless, mi è venuto in mente............perchè se funziona il collegamento senza fili, non metterci un rilevatore IR per rilevare il passaggio e fare uno stop automatico? :) :) lo so lo so, l'appetito vien mangiando!!!!

Per quel che riguarda il software, ancora non ci ho messo mano, perchè non avevo preso in montagna non avevo con me nessun computer!!!
Adesso vedo di mettermici dietro e vedo di riuscire a scrivere il programma.

grazie

Ivan

big-ivan

#57
Apr 24, 2019, 10:28 pm Last Edit: Apr 24, 2019, 10:38 pm by big-ivan
Ciao,
ho provato a editare il sw....
adesso se chiudo a massa il pin 11, riesco a far cambiare stato alle scritte da "pronta" a "non attiva", ma cambiano su tutte e 4 le corsie.

Code: [Select]

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 20 chars and 4 line display

#define BUTTON 11
#define BUTTON1 A0 //pulsante stop corsia 1
#define BUTTON2 A1 //pulsante stop corsia 2
#define BUTTON3 A2 //pulsante stop corsia 3
#define BUTTON4 A3 //pulsante stop corsia 4
#define LED 2 //led start corsia 1
#define LED 3 //led start corsia 2
#define LED 4 //led start corsia 3
#define LED 5 //led start corsia 4
#define LED 6 //led stop corsia 1
#define LED 7 //led stop corsia 2
#define LED 8 //led stop corsia 3
#define LED 9 //led stop corsia 4
int val;

void setup()
{
 pinMode(BUTTON, INPUT_PULLUP);
 lcd.init();                      // initialize the lcd
 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("CORSIA 1 ");
 lcd.setCursor(0,1);
 lcd.print("CORSIA 2 ");
 lcd.setCursor(0,2);
 lcd.print("CORSIA 3 ");
 lcd.setCursor(0,3);
 lcd.print("CORSIA 4 ");
}

void loop()
{
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,0);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,0);
   lcd.print("NON ATTIVA");
 }

 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,1);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,1);
   lcd.print("NON ATTIVA");
 }
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,2);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,2);
   lcd.print("NON ATTIVA");
 }
 val = digitalRead(BUTTON);
 if (val == HIGH) {         //il pulsante è rilasciato
   lcd.setCursor(9,3);
   lcd.print("PRONTA    ");
 }
 if (val == LOW) {          //il pulsante è premuto
   lcd.setCursor(9,3);
   lcd.print("NON ATTIVA");
 }
 
}

dove sto sbagliando?

guardando lo schema, hai inserito i bicolori nelle corsie, mentre i bicolori sono solo sulla consolle esterna, mentre in corsia con il pulsante c'è solo il led jumbo rosso.

ciao e grazie

Ivan

pgiagno

Non avevo capito il posizionamento dei led. Aggiorno lo schema elettrico e te lo rinvio.

Per il wireless e il rilavatore IR... piano! Va bene che il proverbio dice che l'appetito vien mangiando, ma anche che non bisogna mettere troppa carne al fuoco. Comincia con lo stop manuale, poi vediamo. Il wireless per ora sembra rispondere bene, ma devo testare distanza e disturbi. Se si reinizializza durante una corsa sono guai. E una volta è successo. Devo capire perché.

Ho corretto e fatto un passo avanti col programma. Cerca di capire quello che ho aggiunto/corretto e fallo tuo. Togli i commenti che ho aggiunto per farti capire dove ho messo le mani.

Code: [Select]

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 20 chars and 4 line display

//DEFINIZIONI   //======commento aggiunto
#define BUTTONSTART 11 //pulsante di start  //======istruzione modificata
#define BUTTON1 A0 //pulsante stop corsia 1
#define BUTTON2 A1 //pulsante stop corsia 2
#define BUTTON3 A2 //pulsante stop corsia 3
#define BUTTON4 A3 //pulsante stop corsia 4
#define BUTTONSTART 11 //pulsante di start
#define LEDVERDE1 2 //led start corsia 1   //======istruzione modificata
#define LEDVERDE2 3 //led start corsia 2   //======istruzione modificata
#define LEDVERDE3 4 //led start corsia 3   //======istruzione modificata
#define LEDVERDE4 5 //led start corsia 4   //======istruzione modificata
#define LEDROSSO1 6 //led stop corsia 1    //======istruzione modificata
#define LEDROSSO2 7 //led stop corsia 2    //======istruzione modificata
#define LEDROSSO3 8 //led stop corsia 3    //======istruzione modificata
#define LEDROSSO4 9 //led stop corsia 4    //======istruzione modificata

//VARIABILI   //======commento aggiunto
int val;
bool statoCorsia1; //flag corsia1   //======istruzione aggiunta
bool statoCorsia2; //flag corsia2   //======istruzione aggiunta
bool statoCorsia3; //flag corsia3   //======istruzione aggiunta
bool statoCorsia4; //flag corsia4   //======istruzione aggiunta

void setup()
{
// pinMode(BUTTON, INPUT_PULLUP);    //======istruzione tolta
 pinMode(BUTTON1, INPUT_PULLUP);     //======istruzione aggiunta
 pinMode(BUTTON2, INPUT_PULLUP);     //======istruzione aggiunta
 pinMode(BUTTON3, INPUT_PULLUP);     //======istruzione aggiunta
 pinMode(BUTTON4, INPUT_PULLUP);     //======istruzione aggiunta
 pinMode(BUTTONSTART, INPUT_PULLUP); //======istruzione aggiunta
 pinMode(LEDVERDE1, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDVERDE2, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDVERDE3, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDVERDE4, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDROSSO1, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDROSSO2, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDROSSO3, OUTPUT);         //======istruzione aggiunta
 pinMode(LEDROSSO4, OUTPUT);         //======istruzione aggiunta

//spegni tutti i led                 //======commento aggiunto
 digitalWrite(LEDVERDE1, LOW);       //======istruzione aggiunta
 digitalWrite(LEDVERDE2, LOW);       //======istruzione aggiunta
 digitalWrite(LEDVERDE3, LOW);       //======istruzione aggiunta
 digitalWrite(LEDVERDE4, LOW);       //======istruzione aggiunta
 digitalWrite(LEDROSSO1, LOW);       //======istruzione aggiunta
 digitalWrite(LEDROSSO2, LOW);       //======istruzione aggiunta
 digitalWrite(LEDROSSO3, LOW);       //======istruzione aggiunta
 digitalWrite(LEDROSSO4, LOW);       //======istruzione aggiunta

 lcd.init();                      // initialize the lcd

 // Print a message to the LCD.
 lcd.backlight();
 lcd.setCursor(0,0);
 lcd.print("CORSIA 1 ");
 lcd.setCursor(0,1);
 lcd.print("CORSIA 2 ");
 lcd.setCursor(0,2);
 lcd.print("CORSIA 3 ");
 lcd.setCursor(0,3);
 lcd.print("CORSIA 4 ");
 
//inizializza flag corsie      //======commento aggiunto
 statoCorsia1 = false;         //======istruzione aggiunta
 statoCorsia2 = false;         //======istruzione aggiunta
 statoCorsia3 = false;         //======istruzione aggiunta
 statoCorsia4 = false;         //======istruzione aggiunta
}

void loop()
{
//======commento aggiunto
/*Il programma si svolge in due fasi. La prima è una "loop infinita" che serve
 * solo a verificare lo stato di attività delle 4 corsie. Da questa loop
 * infinita si esce con l'istruzione "break;". In questo caso si esce nel
 * momento in cui viene premuto il pulsante di start. Alla pressione del
 * pulsante di start parte il cronometraggio e si entra in una seconda loop
 * infinita durante la quale si controllano i pulsanti rossi di stop relativi
 * ALLE SOLE CORSIE PRONTE. Per fare questo è necessario "tenere memoria" delle
 * corsie attive e di quelle non attive al momento della pressione del tasto
 * start all'uscita dalla prima loop infinita. Questo si ottiene tramite il
 * meccanismo delle "flag" che non sono altro che variabili booleane che vengono
 * posizionate a "true" o "false" a seconda dello stato che vogliono significare.
 * Al tuo programma ho aggiunto queste variabili (statoCorsia1, ...2, etc.) e il
 * loro posizionamento.
 * Ho aggiunto la gestione del led verde e della flag della prima corsia.
 * Alle altre pensaci tu
*/

 for (;;) {  //inizio loop infinita scansione corsie //======istruzione aggiunta
   val = digitalRead(BUTTON1); //======istruzione modificata
   if (val == HIGH) {         //il pulsante è rilasciato
     lcd.setCursor(9,0);
     lcd.print("PRONTA    ");
     digitalWrite(LEDVERDE1, HIGH); //======istruzione aggiunta
     statoCorsia1 = true;           //======istruzione aggiunta
   }
   if (val == LOW) {          //il pulsante è premuto
     lcd.setCursor(9,0);
     lcd.print("NON ATTIVA");
     digitalWrite(LEDVERDE1, LOW); //======istruzione aggiunta
     statoCorsia1 = false;         //======istruzione aggiunta
   }
   val = digitalRead(BUTTON2); //======istruzione modificata
   if (val == HIGH) {         //il pulsante è rilasciato
     lcd.setCursor(9,1);
     lcd.print("PRONTA    ");
   }
   if (val == LOW) {          //il pulsante è premuto
     lcd.setCursor(9,1);
     lcd.print("NON ATTIVA");
   }
   val = digitalRead(BUTTON3); //======istruzione modificata
   if (val == HIGH) {         //il pulsante è rilasciato
     lcd.setCursor(9,2);
     lcd.print("PRONTA    ");
   }
   if (val == LOW) {          //il pulsante è premuto
     lcd.setCursor(9,2);
     lcd.print("NON ATTIVA");
   }
   val = digitalRead(BUTTON4); //======istruzione modificata
   if (val == HIGH) {         //il pulsante è rilasciato
     lcd.setCursor(9,3);
     lcd.print("PRONTA    ");
   }
   if (val == LOW) {          //il pulsante è premuto
     lcd.setCursor(9,3);
     lcd.print("NON ATTIVA");
   }
   val = digitalRead(BUTTONSTART); //======istruzione aggiunta
   if (val == LOW) {               //======istruzione aggiunta
     //è stato premuto il pulsante di start, si esce dalla prima loop infinita
     break;                        //======istruzione aggiunta
   }
 }  //FINE LOOP INFINITA SCANSIONE CORSIE   //======istruzione aggiunta
//inizia il cronometraggio e la scansione del pulsante rosso delle SOLE corsie
//attive
}


Ciao,
P.

pgiagno

Il nuovo schema elettrico.

Ciao,
P.

Go Up