Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C-Arduino-] Conversione di stringhe

    Ciao a tutti mi è arrivata oggi la scheda Arduino duemilanove e stò facendo qualche prova, ora vorrei che alla pressione del tasto che spegne il led apparisse il tempo in millisecondi che è passata dall'ultima pressione...Il problema mi è sorto quando ho provato a stampare a video i secondi preceduti da una stringa infatti quando lo compilo mi da errore..... Ecco il mio codice, ho evidenziato le righe dove mi da l'errore di conversione

    codice:
    int inPin = 7; 
    int outPin = 13;        
    int state = HIGH;       
    int reading;            
    int previous = LOW; 
    int trascorso = 0; 
    long time = 0;          
    long debounce = 200;    
    void setup() 
    {   
            pinMode(inPin, INPUT);   
            pinMode(outPin, OUTPUT);   
            Serial.begin(9600); 
    } 
    void loop() 
    {   
            reading = digitalRead(inPin);     
            if (reading == HIGH && previous == LOW && millis() - time > debounce) 
            {     
                    if (state == HIGH){       
                            state = LOW;       
                            Serial.println("Stato LED: Spento");       
                            trascorso = time/1000;       
                            Serial.println("Il LED era acceso da %d",  trascorso);     
                    }     
                    else     
                    {       
                            state = HIGH;       
                            Serial.println("Stato LED: Acceso");       
                            trascorso = time/1000;       
                             Serial.println("Il LED era spento da %d",  trascorso);     
                    }     
                    time = millis();       
            }   
            digitalWrite(outPin, state);   
            previous = reading; 
    }
    Qualcuno mi sa dire dove sbaglio???

    Grazie a tutti e ciao

  2. #2
    Ciao a tutti ho risolto stampando riga per riga....posto il codice completo
    codice:
    int inPin = 7; 
    int outPin = 13;        
    int state = HIGH;       
    int reading;            
    int previous = LOW; 
    int trascorso = 0; 
    long time = 0;          
    long debounce = 200;    
    void setup() 
    {   
            pinMode(inPin, INPUT);   
            pinMode(outPin, OUTPUT);   
            Serial.begin(9600); 
    } 
    void loop() 
    {   
            reading = digitalRead(inPin);     
            if (reading == HIGH && previous == LOW && millis() - time > debounce) 
            {     
                    if (state == HIGH){       
                            state = LOW;       
                            Serial.println("\nStato LED: Spento");
                            trascorso = (millis()-time)/1000;
                            Serial.print("Il LED era acceso da ");
                            Serial.print(trascorso);
                            Serial.print(" secondi.");
                    }     
                    else     
                    {       
                            state = HIGH;       
                            Serial.println("\nStato LED: Acceso");
                            trascorso = (millis()-time)/1000;
                            Serial.print("Il LED era spento da ");
                            Serial.print(trascorso);
                            Serial.print(" secondi.");
                    }     
                    time = millis();       
            }   
            digitalWrite(outPin, state);   
            previous = reading; 
    }
    CIAO

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.