Está en la página 1de 11

40.

Realizar la programación de una secuencia de luces, utilizando la placa didáctica

Arduino-pingüino para cuatro salidas, ajustando el tiempo de retardo de encendido

y apagado de leds en 150 milisegundos. El barrido se realizará de izquierda a derecha.

int i;

void setup() {

for(i=1;i<5;i++){

pinMode(i,OUTPUT);

void loop() {

for(i=1;i<5;i++){

digitalWrite(i,HIGH);

delay(150);

digitalWrite(i,LOW);

41. Ídem. Anterior, pero con un barrido de ida y vuelta a razón de 200 milisegundos.

int i;

void setup() {

for(i=1;i<5;i++){

pinMode(i,OUTPUT);

void loop() {

for(i=1;i<5;i++){

digitalWrite(i,HIGH);

delay(200);
digitalWrite(i,LOW);

for(i=4;i>0;i--) {

digitalWrite(i,HIGH);

delay(200);

digitalWrite(i,LOW);

42. Se tiene un cruce de semáforos controlado por Arduino-pingüino, para ello

utilizaremos en el primer semáforo los pines 3(rojo) ,4(amarillo) ,5(verde), y en el

segundo semáforo los pines 6(rojo) ,7(amarillo) y 8(verde).El funcionamiento debe

ser: rojo o verde 5 segundos y el pasaje por amarillo de 300 milisegundos para los

dos semáforos de forma sincronizada.

int j;

int i;

void setup() {

for(i=3;i<9;i++){

pinMode(i,OUTPUT);

void loop() {

digitalWrite(3,HIGH);

digitalWrite(8,HIGH);

delay(1000);

digitalWrite(3,LOW);
digitalWrite(8,LOW);

digitalWrite(4,HIGH);

digitalWrite(7,HIGH);

delay(1000);

digitalWrite(4,LOW);

digitalWrite(7,LOW);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

delay(1000);

digitalWrite(5,HIGH);

digitalWrite(6,HIGH);

digitalWrite(5,LOW);

digitalWrite(6,LOW);

digitalWrite(4,HIGH);

digitalWrite(7,HIGH);

delay(1000);

digitalWrite(4,LOW);

digitalWrite(7,LOW);

digitalWrite(3,HIGH);

digitalWrite(8,HIGH);

delay(1000);

digitalWrite(3,LOW);
digitalWrite(8,LOW);

43. Realizar un secuenciador de leds para 8 salidas que permita hacer un barrido de

afuera hacia adentro y viceversa con tiempos de 100 milisegundos. Utilizar las

salidas que considere necesarias.

Int i;

void setup() {

for(i=1;i<9;i++){

pinMode(i,OUTPUT);

void loop() {

digitalWrite(8,HIGH);

digitalWrite(1,HIGH);

delay(200);

digitalWrite(8,LOW);

digitalWrite(1,LOW);

digitalWrite(7,HIGH);

digitalWrite(2,HIGH);

delay(200);

digitalWrite(7,LOW);

digitalWrite(2,LOW);

digitalWrite(6,HIGH);

digitalWrite(3,HIGH);

delay(200);

digitalWrite(6,LOW);

digitalWrite(3,LOW);

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);
delay(200);

digitalWrite(4,LOW);

digitalWrite(5,LOW);

//VUELTA

digitalWrite(4,HIGH);

digitalWrite(5,HIGH);

delay(200);

digitalWrite(5,LOW);

digitalWrite(4,LOW);

digitalWrite(3,HIGH);

digitalWrite(6,HIGH);

delay(200);

digitalWrite(3,LOW);

digitalWrite(6,LOW);

digitalWrite(2,HIGH);

digitalWrite(7,HIGH);

delay(200);

digitalWrite(2,LOW);

digitalWrite(7,LOW);

digitalWrite(1,HIGH);

digitalWrite(8,HIGH);

delay(200);

digitalWrite(1,LOW);

digitalWrite(8,LOW);

44. Realizar los ejercicios de secuencias leds utilizando lógica de vectores para su carga.

40.

int i= 0;

int leds[5] = {0, 1, 2, 3, 4};


void setup() {

for (i= 0;i< 5;i++) {

pinMode(leds[i], OUTPUT);

}}

void loop() {

for(i=1;i<5;i++){

digitalWrite(leds[i], HIGH);

delay(150);

digitalWrite(leds[i], LOW);

41.

int i= 0;

int leds[5] = {0, 1, 2, 3, 4};

void setup() {

for (i= 0;i< 5;i++) {

pinMode(leds[i], OUTPUT);

}}

void loop() {

for(i=1;i<5;i++){

digitalWrite(leds[i], HIGH);

delay(150);

digitalWrite(leds[i], LOW);

for(i=4;i>0;i--){

digitalWrite(leds[i], HIGH);

delay(150);

digitalWrite(leds[i], LOW);

}
}

42.

int i= 0;

int leds[9] = {0, 1, 2, 3, 4,5,6,7,8};

void setup() {

for (i= 0;i<9;i++) {

pinMode(leds[i], OUTPUT);

void loop() {

digitalWrite(leds[3],HIGH);

digitalWrite(leds[8],HIGH);

delay(1000);

digitalWrite(leds[3],LOW);

digitalWrite(leds[8],LOW);

digitalWrite(leds[4],HIGH);

digitalWrite(leds[7],HIGH);

delay(1000);

digitalWrite(leds[4],LOW);

digitalWrite(leds[7],LOW);

digitalWrite(leds[5],HIGH);

digitalWrite(leds[6],HIGH);

delay(1000);

digitalWrite(leds[5],HIGH);

digitalWrite(leds[6],HIGH);

digitalWrite(leds[5],LOW);

digitalWrite(leds[6],LOW);
digitalWrite(leds[4],HIGH);

digitalWrite(leds[7],HIGH);

delay(1000);

digitalWrite(leds[4],LOW);

digitalWrite(leds[7],LOW);

digitalWrite(leds[3],HIGH);

digitalWrite(leds[8],HIGH);

delay(1000);

digitalWrite(leds[3],LOW);

digitalWrite(leds[8],LOW);

43.

int i= 0;

int leds[9] = {0, 1, 2, 3, 4,5,6,7,8};

void setup() {

for (i= 0;i<9;i++) {

pinMode(leds[i], OUTPUT);

void loop() {

digitalWrite(leds[8],HIGH);

digitalWrite(leds[1],HIGH);

delay(200);

digitalWrite(leds[8],LOW);

digitalWrite(leds[1],LOW);

digitalWrite(leds[7],HIGH);

digitalWrite(leds[2],HIGH);

delay(200);
digitalWrite(leds[7],LOW);

digitalWrite(leds[2],LOW);

digitalWrite(leds[6],HIGH);

digitalWrite(leds[3],HIGH);

delay(200);

digitalWrite(leds[6],LOW);

digitalWrite(leds[3],LOW);

digitalWrite(leds[4],HIGH);

digitalWrite(leds[5],HIGH);

delay(200);

digitalWrite(leds[4],LOW);

digitalWrite(leds[5],LOW);

//VUELTA

digitalWrite(leds[4],HIGH);

digitalWrite(leds[5],HIGH);

delay(200);

digitalWrite(leds[5],LOW);

digitalWrite(leds[4],LOW);

digitalWrite(leds[3],HIGH);

digitalWrite(leds[6],HIGH);

delay(200);

digitalWrite(leds[3],LOW);

digitalWrite(leds[6],LOW);

digitalWrite(leds[2],HIGH);

digitalWrite(leds[7],HIGH);

delay(200);

digitalWrite(leds[2],LOW);

digitalWrite(leds[7],LOW);

digitalWrite(leds[1],HIGH);
digitalWrite(leds[8],HIGH);

delay(200);

digitalWrite(leds[1],LOW);

digitalWrite(leds[8],LOW);

45. Adicionar a uno de los secuenciadores leds un pulsador de entrada que permita

elegir entre dos estilos de secuencias distintas.

void secuencia1(){

digitalWrite(13,HIGH);

delay(300);

digitalWrite(13,LOW);

digitalWrite(12,HIGH);

delay(300);

digitalWrite(12,LOW);

digitalWrite(11,HIGH);

delay(300);

digitalWrite(11,LOW);

void secuencia2(){

digitalWrite(11,HIGH);

delay(300);

digitalWrite(11,LOW);

digitalWrite(12,HIGH);

delay(300);

digitalWrite(12,LOW);

digitalWrite(13,HIGH);

delay(300);

digitalWrite(13,LOW);

}
void setup() {

pinMode(13,OUTPUT);

pinMode(10,INPUT_PULLUP);

pinMode(11,OUTPUT);

pinMode(12,OUTPUT);

void loop() {

int estado=digitalRead(10);

if(estado==LOW){

secuencia1();

}else{

secuencia2(); }

También podría gustarte