Compilar y cargar un programa que simule un semáforo, es decir que encienda un LED durante cierto tiempo, después otro LED otro cierto intervalo de tiempo y finalmente encienda un último LED tal y como lo hace un semáforo (incluir la intermitencia). El programa debe ser cíclico (utilizar leds internos de la tarjeta).

Dependencies:   mbed

Committer:
nervy
Date:
Fri Apr 24 22:46:41 2020 +0000
Revision:
26:22f3f938cd2f
Parent:
25:ec72507ea71b
x

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nervy 25:ec72507ea71b 1 #include "mbed.h" //librería que nos permite utilizar comandos y sentencias propias de mbed
nervy 26:22f3f938cd2f 2 Serial com1(USBTX, USBRX);
nervy 26:22f3f938cd2f 3 DigitalOut rojo(LED1);
nervy 26:22f3f938cd2f 4 DigitalOut verde(LED2);
nervy 26:22f3f938cd2f 5 DigitalOut azul(LED3);
dan 0:7dec7e9ac085 6
nervy 25:ec72507ea71b 7 void luz_alto() {
nervy 26:22f3f938cd2f 8 rojo = 0;
nervy 26:22f3f938cd2f 9 verde = 1;
nervy 26:22f3f938cd2f 10 azul = 1;
nervy 25:ec72507ea71b 11 wait(5);
nervy 25:ec72507ea71b 12 }
dan 0:7dec7e9ac085 13
nervy 25:ec72507ea71b 14 void luz_preventivo() {
nervy 26:22f3f938cd2f 15 rojo = 0;
nervy 26:22f3f938cd2f 16 verde = 0;
nervy 26:22f3f938cd2f 17 azul = 1;
nervy 25:ec72507ea71b 18 wait(1);
nervy 25:ec72507ea71b 19 }
nervy 25:ec72507ea71b 20
nervy 25:ec72507ea71b 21 void luz_siga() {
nervy 26:22f3f938cd2f 22 rojo = 1;
nervy 26:22f3f938cd2f 23 verde = 0;
nervy 26:22f3f938cd2f 24 azul = 1;
nervy 25:ec72507ea71b 25 wait(3);
nervy 25:ec72507ea71b 26 }
nervy 25:ec72507ea71b 27
nervy 25:ec72507ea71b 28 void parpadear_luz(DigitalOut luz) {
nervy 25:ec72507ea71b 29 for(int i=0; i<4; i++) {
nervy 25:ec72507ea71b 30 luz = 1;
stevep 4:81cea7a352b0 31 wait(0.2);
stevep 4:81cea7a352b0 32 }
dan 0:7dec7e9ac085 33 }
nervy 25:ec72507ea71b 34
nervy 25:ec72507ea71b 35 int main() {
nervy 25:ec72507ea71b 36
nervy 25:ec72507ea71b 37 while(true)
nervy 25:ec72507ea71b 38 {
nervy 25:ec72507ea71b 39 luz_alto();
nervy 26:22f3f938cd2f 40 parpadear_luz(rojo);
nervy 25:ec72507ea71b 41 luz_preventivo();
nervy 25:ec72507ea71b 42 luz_siga();
nervy 26:22f3f938cd2f 43 parpadear_luz(verde);
nervy 25:ec72507ea71b 44 }
nervy 25:ec72507ea71b 45
nervy 25:ec72507ea71b 46 }