Introducció a la robòtica en trenta-una classes/Onzè dia: llums de Nadal

Llums de Nadal.

Avui, essent el darrer dia de classe abans de Nadal, hem fet seqüències de llums.

Una de les maneres de fer-ho, és amb un comptador, per a tenir memòria de per quin llum passem.

Per a fer-ho fàcil, hem connectat un led a cadascuna de les sortides que van de la 2 a la 12. Fent-ho amb sortides consecutives, serà senzill automatitzar seqüències. Penseu que els leds tenen polaritat, i que cal una resistència a cadascun per a limitar-ne el corrent.

Coses noves: comptador++, és un abreujament de comptador=comptador+1. De la mateixa manera, comptador-- decrementa el comptador en una unitat.

A continuació un programa d’exemple amb diferents seqüències. Només són un petit exemple. Inventeu-ne de noves.

void setup() {
    pinMode(2,OUTPUT);
    pinMode(3,OUTPUT);
    pinMode(4,OUTPUT);
    pinMode(5,OUTPUT);
    pinMode(6,OUTPUT);
    pinMode(7,OUTPUT);
    pinMode(8,OUTPUT);
    pinMode(9,OUTPUT);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT);
    pinMode(12,OUTPUT);
}

void loop() {
    int comptador=2;
    while(comptador<13){ // encenem els llums del 2 al 12
        digitalWrite(comptador,1);
        comptador++;
        delay(250);
    }
    comptador=12;
    while(comptador>1){ // apaguem els llums del 12 al 2
        digitalWrite(comptador,0);
        comptador- -;
        delay(300);
    }
    comptador=2;
    while(comptador<14){ // fem córrer un led del 2 al 12
        digitalWrite(comptador,1);
        digitalWrite(comptador-1,0);
        comptador++;
        delay(300);
    }
}

Veiem que en el digitalWrite no diem un número de pin concret sino que hi posem

comptador com a argument: sí a les funcions també podem posar variables en lloc de

valors fixes.

A més, en la tercera seqüència, veiem que, a part d’anar encenent el led que diu el

comptador, apaguem el led que havíem encès quan el comptador valia una unitat menys.

Efectivament, la funció digitalWrite, també admet com a número de pin una funció

matemàtica (comptador-1), a més de variables.