.: robotitaly.NET :. - la community italiana sulla robotica  

Vai indietro   .: robotitaly.NET :. - la community italiana sulla robotica > Microcontrollori > Arduino

Arduino Un progetto Open Source, derivato da Wiring. E' un microcontrollore economico e potente, basato su Atmel ATmega. Il linguaggio di programmazione e' simile al C ma semplificato.

Rispondi
 
Strumenti della discussione Modalità di visualizzazione
  #1  
Vecchio 01-27-2015, 11:53 AM
M4RL3Y M4RL3Y non è collegato
Roboter
 
Registrato dal: Jan 2009
Messaggi: 31
predefinito fade + pulsante

Ragazzi salve a tutti, avrei bisogno di uno sketch che premendo un pulsante mi fa accendere e spegnere un led con effetto FADE fino a quando non viene ripremuto lo stesso pultante e il led dovrà spegnersi.

Credevo fosse più facile, ,ma mi trovo in difficoltà ho provato sia con switch case che con loop ma al massimo riesco a fare un lampeggio con fade e poi si spegne ... Mi aiutate grazie
Rispondi quotando
  #2  
Vecchio 02-02-2015, 03:28 PM
L'avatar di 53RG10
53RG10 53RG10 non è collegato
Roboter
 
Registrato dal: Jun 2011
residenza: Mirabella Eclano, AV
Messaggi: 38
predefinito Google

Sarebbe bastato fare una velocissima ricerca su Google (o qualsiasi altro motore di ricerca tu preferisca)

codice:
#define LED 9
#define BUTTON 7

int i = 0;
int state = 0;
int val = 0;

//A function to see if the button has been pressed, returns an int
int CheckButton()
{
 return(digitalRead(BUTTON) == HIGH);
}      

void setup()
{
 pinMode(LED, OUTPUT);
 pinMode(BUTTON, INPUT);
}

void loop()
{   
 
   //Check to see if the button has been pressed.
   if(digitalRead(BUTTON) == HIGH)
   {
     //While the digital read statement is true (high) continue the loop
     while(digitalRead(BUTTON) == HIGH)
           continue; 

     //state is true as state is 0 and if we do !state then it is 1
     state = !state;  
   }
   
   //If state is 1 which it will be as we wont make it 0. If we dont use state then we have to keep pressing the button
   if(state)
   {
         for (i = 0; i < 255; i++) 
           {
          //If checkbutton is true it means the button has been pressed
       if(CheckButton())
       {
           //Turn off the LED and break the loop
         analogWrite(LED, 0);
           break;
       }

         //Continue fading
         analogWrite(LED, i);
         delay(10);
           }
 
           for (i = 255; i > 0; i--)
           {
         //If the checkbutton is true it means the button has been pressed
         if(CheckButton())
         {
           //Turn off the LED and break the loop
           analogWrite(LED, 0);
           break;
       }

         //Continue fading
         analogWrite(LED, i);
         delay(10);
           }
    }
}
Rispondi quotando
Rispondi

Segnalibri

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilie sono attive
Il codice IMG è attivo
il codice HTML è disattivato

Salto del forum


Tutti gli orari sono GMT. Attualmente sono le 03:32 AM.


Powered by vBulletin versione 3.8.7
Copyright ©: 2000 - 2018, Jelsoft Enterprises Ltd.