Pages: [1]   Go Down
Author Topic: e possipile controllare i cicli for  (Read 786 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

é possi bile controllare due cicli:  for (value = 0; value <= 255; value+=5)
     {
         analogWrite(ledpin, value);}

contemporeneamente?

senza dover aspettare che finisca il primo incremento

vorrei variare la lumimnosità  di due uscite pin 9 e pin 10
tramite  due pulsanti
« Last Edit: December 16, 2011, 05:00:49 am by plume » Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

é possi bile controllare due cicli:  for (value = 0; value <= 255; value+=5)

Sei troppo criptico, spiega meglio quello che vuoi fare.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

controllare la luminosita di due led collegati al pin 9 e al pin 10
tramite due pulstanti
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9185
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

controllare la luminosita di due led collegati al pin 9 e al pin 10
tramite due pulstanti

Non intendevo cosa vuoi fare come applicazione, ma cosa vuoi fare con le for perché la tua domanda non ha alcun senso per come l'hai posta.
Logged

Global Moderator
Milano, Italy
Offline Offline
Edison Member
*****
Karma: 15
Posts: 1163
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

se metti entrambe le "cose" che vuoi fare contemporaneamente nello stesso for si smiley

Poi considera che già al funzione  loop() è un ciclo infinito, quindi puoi evitare il ciclo for.
Logged

F

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

int ledPin = 9;  
int ledPin1=10;
int buttonPin1 = 3;
 const int buttonPin = 2;
 int buttonState = 0;
 int buttonState1 = 0;
 
void setup()  {    
pinMode(buttonPin, INPUT);
pinMode(buttonPin1, INPUT);
}

void loop()  {  
 buttonState = digitalRead(buttonPin);
 if (buttonState == HIGH)
 buttonState1 = digitalRead(buttonPin1);
 if (buttonState1== HIGH)
          
// incremento e decremento controllato pin2
  
  for(int fadeValue = 0 ; fadeValue <= 255 ; fadeValue +=5) {  analogWrite(ledPin, fadeValue);   delay(360); }  
    delay(2500);
  
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
    analogWrite(ledPin, fadeValue);        
    delay(36); }

//incremento e decremento controllato pin3

 for(int fadeValue = 0 ; fadeValue <= 255 ; fadeValue +=5) {  analogWrite(ledPin1, fadeValue);   delay(360); }  
    delay(2500);
  
  for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
    analogWrite(ledPin1, fadeValue);        
    delay(36); }
}
          


se eseguo questo codice non posso attivare l incremento tramite pulsante del pin3 fino a quando non ha terminato di eseguire  l incremento tramite pulsante del pin2

come posso fare per controllare a mio piacimento i due increm/decrem  
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21624
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Guardati l'esempio BlinkWithoutDelay per incrementare la variabile del controllo del PWM e puoi così incrementare il segnale ai led potendo contemporaneamente leggere lo stato dei pulsanti.
Logged


Pages: [1]   Go Up
Jump to: