Ruleta de lees

Dependencies:   TSI mbed

Committer:
Equipo13
Date:
Mon Nov 04 15:34:21 2013 +0000
Revision:
0:3a9a89ac25e7
Parcial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Equipo13 0:3a9a89ac25e7 1 #include "mbed.h"
Equipo13 0:3a9a89ac25e7 2 DigitalOut myled(LED1);
Equipo13 0:3a9a89ac25e7 3 BusOut leds(PTA5, PTA13, PTC9, PTC8, PTD5, PTD4, PTA12, PTA4); //Para controlar varios puertos al mismo tiempo
Equipo13 0:3a9a89ac25e7 4 AnalogIn pot(PTB3); //PTA13, PTD5
Equipo13 0:3a9a89ac25e7 5 DigitalIn BS(PTD2);
Equipo13 0:3a9a89ac25e7 6 DigitalIn BR(PTD0);
Equipo13 0:3a9a89ac25e7 7 Serial pc(USBTX, USBRX);
Equipo13 0:3a9a89ac25e7 8
Equipo13 0:3a9a89ac25e7 9
Equipo13 0:3a9a89ac25e7 10
Equipo13 0:3a9a89ac25e7 11 int main() {
Equipo13 0:3a9a89ac25e7 12 myled = 1;
Equipo13 0:3a9a89ac25e7 13 int count = 0;
Equipo13 0:3a9a89ac25e7 14 int reps = 10; //modifica este valor para hacer la secuencia mas rapida o lenta
Equipo13 0:3a9a89ac25e7 15
Equipo13 0:3a9a89ac25e7 16 int points = 100;
Equipo13 0:3a9a89ac25e7 17 int on = 1; //variable que me va a decir que led o leds encender, recuerda que los
Equipo13 0:3a9a89ac25e7 18 //leds rgb funcionan con logica inversa
Equipo13 0:3a9a89ac25e7 19 while(1) {
Equipo13 0:3a9a89ac25e7 20 leds = on; //asigno el valor de on a los leds
Equipo13 0:3a9a89ac25e7 21 while(count < reps){ //equivalente a un wait de aprox 100 ms
Equipo13 0:3a9a89ac25e7 22 wait(0.1 - pot/10 + .015);
Equipo13 0:3a9a89ac25e7 23 if (BS == 0 && D4 == on){
Equipo13 0:3a9a89ac25e7 24 points = points + 10;
Equipo13 0:3a9a89ac25e7 25 pc.printf ("Ganaste! Tus puntos son %d\n", points);
Equipo13 0:3a9a89ac25e7 26 on = 128;
Equipo13 0:3a9a89ac25e7 27 wait (0.5);
Equipo13 0:3a9a89ac25e7 28 }
Equipo13 0:3a9a89ac25e7 29 if (BS == 0 && D4 != on){
Equipo13 0:3a9a89ac25e7 30 points = points - 10;
Equipo13 0:3a9a89ac25e7 31 pc.printf ("perdiste! Tus puntos son %d\n", points);
Equipo13 0:3a9a89ac25e7 32 on = 128;
Equipo13 0:3a9a89ac25e7 33 wait (0.5);
Equipo13 0:3a9a89ac25e7 34 }
Equipo13 0:3a9a89ac25e7 35 if (BR == 0){
Equipo13 0:3a9a89ac25e7 36 points = 100;
Equipo13 0:3a9a89ac25e7 37 pc.printf ("Tu juego se a reseteado, ahora tienes %d\n", points);
Equipo13 0:3a9a89ac25e7 38 on = 128;
Equipo13 0:3a9a89ac25e7 39 wait (0.5);
Equipo13 0:3a9a89ac25e7 40 }
Equipo13 0:3a9a89ac25e7 41 count ++;
Equipo13 0:3a9a89ac25e7 42
Equipo13 0:3a9a89ac25e7 43 }
Equipo13 0:3a9a89ac25e7 44 count = 0;
Equipo13 0:3a9a89ac25e7 45 on = on << 1; //recorro un bit a la izquierda piensa en binario (001 recorriendo queda 010)
Equipo13 0:3a9a89ac25e7 46 if (on == 256){ //Si vale 8 o en binario 1000 reseteo el valor a 1 o 001 en binario
Equipo13 0:3a9a89ac25e7 47 on = 1;
Equipo13 0:3a9a89ac25e7 48 }
Equipo13 0:3a9a89ac25e7 49 }
Equipo13 0:3a9a89ac25e7 50 }
Equipo13 0:3a9a89ac25e7 51
Equipo13 0:3a9a89ac25e7 52
Equipo13 0:3a9a89ac25e7 53
Equipo13 0:3a9a89ac25e7 54
Equipo13 0:3a9a89ac25e7 55