Modulo 6

 Arduino + LEDs + Servo + pulsador 





#include <Servo.h>

Servo miServo;

const int ledRojo = 7;
const int ledAmarillo = 6;
const int ledVerde = 5;

void setup() {

  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledVerde, OUTPUT);

  miServo.attach(9);
  miServo.write(0);   // Barrera cerrada

}

void loop() {

  // ROJO
  digitalWrite(ledRojo, HIGH);
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledVerde, LOW);

  miServo.write(0);

  delay(3000);

  // AMARILLO
  digitalWrite(ledRojo, LOW);
  digitalWrite(ledAmarillo, HIGH);

  delay(1000);

  // VERDE
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledVerde, HIGH);

  miServo.write(90);   // Abre la barrera

  delay(3000);

  // Cierra la barrera
  miServo.write(0);

  digitalWrite(ledVerde, LOW);

  delay(500);

}



#include <Servo.h>

Servo miServo;

const int boton = 2;

const int ledRojo = 7;
const int ledAmarillo = 6;
const int ledVerde = 5;

void setup() {

  pinMode(ledRojo, OUTPUT);
  pinMode(ledAmarillo, OUTPUT);
  pinMode(ledVerde, OUTPUT);

  pinMode(boton, INPUT_PULLUP);

  digitalWrite(ledRojo, LOW);
  digitalWrite(ledAmarillo, LOW);
  digitalWrite(ledVerde, LOW);

  miServo.attach(9);      // Servo en el pin 9
  miServo.write(0);       // Posición inicial

  delay(500);

}

void loop() {

  // Espera hasta que se presione el botón
  if (digitalRead(boton) == LOW) {

    // Espera a que se suelte el botón
    while (digitalRead(boton) == LOW);

    delay(50);

    // Secuencia de LEDs
    digitalWrite(ledRojo, HIGH);
    delay(1000);
    digitalWrite(ledRojo, LOW);

    digitalWrite(ledAmarillo, HIGH);
    delay(1000);
    digitalWrite(ledAmarillo, LOW);

    digitalWrite(ledVerde, HIGH);

    // Servo abre
    miServo.write(180);

    delay(3000);

    // Servo cierra
    miServo.write(0);

    digitalWrite(ledVerde, LOW);

    delay(500);

  }

}


Construir la programación del siguiente circuito:



Comentarios

Entradas populares de este blog

Modulo 1

Modulo 5

Modulo 4