Go Down

Topic: watchdog per GPS locator TK102 v3 (Read 1 time) previous topic - next topic

gpb01

#30
Feb 28, 2019, 03:51 pm Last Edit: Feb 28, 2019, 03:52 pm by gpb01
Provalo NON con al tua schedina, ma con Arduino UNO e un filo (sul 13 hai già il LED che ti fa vedere il segnale).

Dato che usi un filo volante metti:

Code: [Select]
pinMode(pinInLED, INPUT_PULLUP); // pin 2

e verifica il funzionameto ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

#31
Feb 28, 2019, 03:56 pm Last Edit: Feb 28, 2019, 03:58 pm by gpb01
Ecco .. ho appena provato sulla UNO e funziona come si deve (ho anche corretto gli errori di battitura) ...

Code: [Select]
#define pinInLED 2
#define pinOutBottone 13
#define timeout 5000UL

uint32_t ultimaAccensione;

void setup()
{
  pinMode(pinInLED, INPUT_PULLUP);
  pinMode(pinOutBottone, OUTPUT);
  digitalWrite(pinOutBottone, HIGH);
}

void loop()
{
   if ( digitalRead(pinInLED) ) ultimaAccensione = millis();
   
   if (millis() - ultimaAccensione > timeout) {
      while( !digitalRead(pinInLED) ) {        // se il pinInLED è LOW rimane nel while, altrimenti esce
         digitalWrite(pinOutBottone, LOW);     // chiude su GND il pulsante
      }
      digitalWrite(pinOutBottone, HIGH);       // Rilascia il pulsante
      ultimaAccensione = millis();
   }
}

... provalo anche tu prima sulla UNO con un filo e poi sul tuo circuito ... se NON va sul tuo circuito è o un problema di rimbalzi o un problemi di livelli ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

#32
Feb 28, 2019, 04:37 pm Last Edit: Feb 28, 2019, 04:44 pm by vince59
...e c'hai sempre ragione caz...  :smiley-cry:  :smiley-cry:  :smiley-cry:  :smiley-cry:

Purtroppo mi freghi sempre...te l'ho detto un giorno ti sfido sul mio campo  :smiley-twist:

Allora, il primo semplice codice cui avevi aggiunto il while (giuro ci ero arrivato) conteneva degli errori che non so se fossero di battitura o per farmi studiare. Ho dato per scontato che fossero per il secondo nobile fine. Quindi ho letto e li ho corretti subito, MA uno l'ho cannato alla grande  :smiley-cry:  :smiley-cry:  :smiley-cry:  :smiley-cry:
Il punto esclamativo che inverte  :smiley-cry:  :smiley-cry:  :smiley-cry: l'avevo eliminato  :smiley-cry:  :smiley-cry: e solo ora ho capito il suo funzionamento.

Sono un pò demoralizzato  :smiley-confuse:  :smiley-confuse:

PS: il #define timeout 5000UL NON lo prende quindi ho utilizzato unsigned long timeout 5000

gpb01

#33
Feb 28, 2019, 04:44 pm Last Edit: Feb 28, 2019, 04:46 pm by gpb01
Purtroppo mi freghi sempre...te l'ho detto un giorno ti sfido sul mio campo  :smiley-twist:
... c'è il rischio che te frego pure li :D :D :D (ho preso il porto d'armi al compimento del 18esimo anno  :smiley-twist:)

Il punto esclamativo che inverte  :smiley-cry:  :smiley-cry:  :smiley-cry: l'avevo eliminato  :smiley-cry:  :smiley-cry: e solo ora ho capito il suo funzionamento.

Sono un pò demoralizzato  :smiley-confuse:  :smiley-confuse:
Avevo messo apposta il commento ... per far capire che veniva verificata la condizione opposta :)

Nun te demoralizza' ... ce vo' tempo e attenzione ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

 :D ok.

Perchè l'IDE non prende il #define 5000UL...so che il define NON è una variabile ma una sorta di sostituzione testo ed invece io ho messo una variabile unsigned long.

gpb01

#35
Feb 28, 2019, 04:53 pm Last Edit: Feb 28, 2019, 04:53 pm by gpb01
Come NO ? ? ? :o   #define timeout  5000UL  lo compila tranquillamente, non serve che definisci una variabile e sprechi memoria.

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

Gug,

se uso la variabile lo compila. Se uso il #define timeout 5000UL mi da questo messaggio:

 unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
                                                                 ^
TK102_LED:16: error: expected unqualified-id before numeric constant
TK102_LED.ino:17:15: note: in expansion of macro 'timeout'
expected ',' or '...' before numeric constant

gpb01

Scusa ma che c'entra la pulseIn() ? ? ? ? ? :o :o :o   Chi t'ha detto di usarla ? ? ? ? ?

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

#38
Feb 28, 2019, 06:33 pm Last Edit: Feb 28, 2019, 06:35 pm by vince59
No Gug quello è il messaggio dell'IDE che viene fuori se uso il define!!! Esce tutto questo se metto il define:

---------------------------------

TK102_LED:16: error: expected ',' or '...' before numeric constant
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:136:65: note: in expansion of macro 'timeout'
 unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout);
                                                                 ^
TK102_LED:16: error: expected ',' or '...' before numeric constant
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Stream.h:57:33: note: in expansion of macro 'timeout'
   void setTimeout(unsigned long timeout);  // sets maximum milliseconds to wait for stream data, default is 1 second
                                 ^
TK102_LED:16: error: expected ',' or '...' before numeric constant
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:234:65: note: in expansion of macro 'timeout'
 unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout = 1000000L);
                                                                 ^
expected ',' or '...' before numeric constant

gpb01

Scusa, board Arduino UNO, copi/incolli il mio programma, lo compili e da errore? :o   Hai un problema sulla tua installazione, NON deve dare neanche un warning !

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

#40
Feb 28, 2019, 06:44 pm Last Edit: Feb 28, 2019, 06:48 pm by vince59
Ho scoperto

il termine timeout fa forse qualche richiamo interno!!!!

Se metto timeOut tutto funziona!!!

gpb01

Mah ... ci può stare (magari è una parola usata in qualche libreria), ma non capisco perché da me NON da alcun problema ... boh ... :D :D :D

Guglielmo
Search is Your friend ... or I am Your enemy !

vince59


vince59

Caz... ho vinto io eheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

 :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:  :smiley-mr-green:

gpb01

:o :o :o :o ... ma de che ? ? ?

T'ho detto che ci sarà qualche cosa nella TUA installazione che usa quella parola riservata, ripeto, da ME NON da alcun problema !

Guglielmo
Search is Your friend ... or I am Your enemy !

Go Up