10 de maig del 2015

ARDUINO: Pràctica 9: Cicle For(). Llums intermitents

Algunes vegades es requereix nomenar molts pins amb una sola instrucció i fer alguna cosa amb cada un. Per exemple, en aquest exemple parpellegen 6 LEDs connectats a Arduino, usant un cicle for () per al cicle d'anada i tornada a través dels pins digitals 2 a 7. Els LEDs s'encenen i apaguen en seqüència, usant les funcions digitalWrite () i delay ().

PRÀCTICA:
Què es necessita?
  • arduino
  • 6 Resistències de 220 ohms
  • 6 LEDs
  • Cables d'interconnexió
  • protoboard
Connectar dels sis LEDs cadascun amb una resistència de 220 en sèrie, als pins 2 a 7 de l'Arduino. Aquí es troba l'esquema.


Enteu a bit bloq i copieu el següent esquema:



En el cicle principal del codi, s'utilitzen dos cicles per recórrer de forma incremental, pas a pas a través dels LEDs, un per un, del pin 2 al pin 7. Quan el pin 7 està encès, el procés s'inverteix, fent que els LEDs es prenguin al contrari de com ja s'havia fet.

El codi és el següent:
void setup()
{
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
  pinMode(7,OUTPUT);
}

void loop()
{
  digitalWrite(2,LOW);
  digitalWrite(3,LOW);
  digitalWrite(4,LOW);
  digitalWrite(5,LOW);
  digitalWrite(6,LOW);
  digitalWrite(7,LOW);

  int pins=0;
  for (pins = 2; pins <= 7; pins++) {
    pinMode(pins,OUTPUT);
    digitalWrite(pins,HIGH);
    delay(100);
  }
  for (pins = 7; pins <= 2; pins--) {
    pinMode(pins,OUTPUT);
    digitalWrite(pins,LOW);
    delay(100);
  }

}

Proveu de canviar el temps d'espera per veure diferents efectes.

PRÀCTICA AVANÇADA: incorporeu més leds i mireu de fer el mateix efecte.

PRÀCTICA AVANÇADA 2: serieu capaços de fer la seqüència de manera que només estigui un llum encès?

Cap comentari:

Publica un comentari a l'entrada