For ( Per a )
Anem a veure com utilitzar la sentencia FOR per repetir un grup de sentències un número especificat de vegades.
Fes el muntatge:
Ara prova el programa
int pinLed = 10;
int pinLed2 = 11;
int pinLed3 = 12;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
Serial.println("Els leds del pins 10, 11 , 12 són eixides");
}
void loop() { // Comença un bucle
Serial.println("Engeguem el led del pin 10");
digitalWrite(pinLed, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 10");
digitalWrite(pinLed, LOW);
delay(1000);
Serial.println("Engeguem el led del pin 11");
digitalWrite(pinLed2, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 11");
digitalWrite(pinLed2, LOW);
delay(1000);
Serial.println("Engeguem el led del pin 12");
digitalWrite(pinLed3, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 12");
digitalWrite(pinLed3, LOW);
delay(1000);
exit(0); //Ix del bucle acabant el programa
}// Crida un bucle nou
|
Fixa't que la sentència exit(0) trenca el bucle infinit loop i acaba el programa.
El següent programa fet amb Blockly@rduino és equivalent:
Si esborrem exit(o) el programa s'executa infinites vegades, però si volem que el programa s'execute 10 , 15 o n negades ens cal posar el grup de sentències a repetir dins d'un FOR com es mostra a continuació.
for (inicialització; condició; increment) { // sentències a repetir; }
Mira el exemple d'abans ara.
int pinLed = 10;
int pinLed2 = 11;
int pinLed3 = 12;
void setup() {
pinMode(pinLed, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
Serial.println("Els leds del pins 10, 11 , 12 són eixides");
}
void loop() { // Comença un bucle
for (int i = 0; i <= 4; i++) { //Repetim 5 vegades al programa
Serial.println("Engeguem el led del pin 10");
digitalWrite(pinLed, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 10");
digitalWrite(pinLed, LOW);
delay(1000);
Serial.println("Engeguem el led del pin 11");
digitalWrite(pinLed2, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 11");
digitalWrite(pinLed2, LOW);
delay(1000);
Serial.println("Engeguem el led del pin 12");
digitalWrite(pinLed3, HIGH);
delay(1000);
Serial.println("Aturem el led del pin 12");
digitalWrite(pinLed3, LOW);
delay(1000);
}// final del for
exit(0); //Ix del bucle acabant el programa
}// Crida un bucle nou
|
Fixa't que el FOR comença amb i=0 i s'executa augmentant i als valors 1, 2, 3, i 4
El següent programa fet amb Blockly@rduino és equivalent: