Programa de Raices Reales.

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
JavierMarcelo98
Date:
Fri Oct 25 14:21:11 2019 +0000
Parent:
4:e8498d695fc2
Commit message:
Programa de Raices Reales.

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r e8498d695fc2 -r 7bd28f4ca12b main.cpp
--- a/main.cpp	Wed Oct 23 04:10:29 2019 +0000
+++ b/main.cpp	Fri Oct 25 14:21:11 2019 +0000
@@ -55,11 +55,8 @@
 |  Configuración de Puertos 
 +-------------------------------------------------------------------------------
 */ 
-DigitalOut   verde  (LED1);    // NC       (Green_Led)
-BusOut       Torreta(PB_4,PB_3,PA_15,PA_12,PA_11,PA_10,PA_9,PA_8); // 
+DigitalOut   verde  (LED1);    // NC       (Green_Led) 
 DigitalOut   Led_Monitor (PB_1);         // Led monitor de la Tarjeta STM32F103C8
-Ticker       Barrido;    
-PwmOut       Buzzer(PB_11);
 Serial       terminal (PA_2, PA_3);          // Inicializa la comunicación serial a la PC (Tx,Rx)
 //Serial     terminal(USBTX, USBRX,115200);// Tx, Rx  Baud Rate - Terminal Serial por USB @ 115,200 Bauds
 
@@ -68,24 +65,13 @@
 |  Variables Globales de Usuario
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
-uint8_t SecuenciaA[]={          //Secuencia de luces A
-        0xC3,0x3C,0xC3,0x3C,0xC3,0x3C,0xC3,0x3C,
-        0xC3,0xFF,0xC3,0xFF,0xC3,0xFF,0xC3,0xFF,
-        0xC3,0xFF,0xC3,0xFF,0xC3,0xFF,0xC3,0xFF, 
-        };
-uint16_t No_SecuenciasA=24;      
-uint16_t A=0;                    
-uint16_t delayA=100;             
-uint16_t contadorA=0;           // Velocidad de Transmisión (Bauds)
-
 /*
 |  Definición de Funciones Prototipo y Rutinas de los Vectores de Interrupción
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
 void Portada();
-void Seleccion();
+void Calculos();
 void Setup(void);  
-void Barrido_OnInterrupt(void);  
 /* END definitions */ 
 
 /*
@@ -98,9 +84,8 @@
 int main()          
 {                   // Inicialización de variables, puertos e interrupciones     // Configure system clock (72MHz HSE clock, 48MHz USB clock)
 Setup();            // Inicialización del sistema
-
 Portada();          //Mandar a llamar a la funcion Portada.
-Seleccion();        //Mandar a llamar a la Seleccion.
+Calculos();         //Mandar a llamar a la funcion Calculos.
 }
 /* END main */
 
@@ -122,123 +107,47 @@
 {
 //  terminal.baud(Baud_Rate);         // Se configura la velocidad de transmisión e inicia la comunicación serial.    
   terminal.baud(115200);              // Se configura la velocidad de transmisión e inicia la comunicación serial.  
-}    
-void Portada()//Funcion Portada
+}  
+void Portada()//Funcion Portada  
 {
-    terminal.printf("ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA"); 
-    terminal.printf("\n\rIngenieria en comunicaciones y electronica"); 
-    terminal.printf("\n\rAnalisis Numerico"); 
-    terminal.printf("\n\rPrograma N. 5 ");
-    terminal.printf("\n\rMarcelo Padron Javier"); 
-    terminal.printf("\n\rGRUPO:4CV2");
-    wait(3.0);//Retardo de 3 segundos
-    
+    terminal.printf("\n\r\t\e[1;32m0101  0101  010101  01   10  0101    0101  0101  0101  0101  0101 0101  01   10  0101  0101\e[0m");
+    terminal.printf("\n\r\t\e[1;32m01    01      01    010 010  01        0   0  1  01    0  1   10  01    010  10  01    0  1\e[0m");
+    terminal.printf("\n\r\t\e[1;32m0101  0101    01    01 1 10  0101     1    0101  01    0101   10  0101  01 1 10  01    0  1\e[0m");
+    terminal.printf("\n\r\t\e[1;32m01      01    01    01   10  01      0     0  1  01    0  1   10  01    01  010  01    0  1\e[0m"); 
+    terminal.printf("\n\r\t\e[1;32m0101  0101  010101  01   10  0101    0101  0  1  0101  0  1   10  0101  01   10  0101  0101\e[0m");
+    terminal.printf("\n\n\r\t\e[1;32m       \'NUESTROS COLORES VERDE \e[0m\e[1;37mY BLANCO, POR QUE EL\e[0m\e[1;31m ROJO LO LLEVAMOS EN LA SANGRE!!!\'\e[0m\n\n");
+    terminal.printf("\n\r\t\t\e[1;37m           ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA\e[0m"); 
+    terminal.printf("\n\n\r\t\t\e[1;37m                INGENIERIA EN COMUNICACIONES Y ELECTRONICA\e[0m"); 
+    terminal.printf("\n\n\r\t\t\e[1;37m                            ANALISIS NUMERICO\e[0m"); 
+    terminal.printf("\n\n\r\t\t\e[1;37m                         PROGRAMA: RAICES REALES\e[0m");
+    terminal.printf("\n\n\r\t\t\e[1;37m                      ALUMNO: MARCELO PADRON JAVIER\e[0m");
+    terminal.printf("\n\n\r\t\t\e[1;37m                              GRUPO: 4CV2\e[0m\n\n");
+    wait(3.0);//Retardo de 3 segundos   
 }
-void Seleccion()//Funcion Seleccion
-{   
-Primero:    
-    terminal.printf("\n\n\rEste programa despliega una secuencia de luces,\n\runa secuencia de sonido o ambas al mismo tiempo.");
-    terminal.printf("\n\rOprima 1 si: Desea que se despliegue la secuencia de luces.");
-    terminal.printf("\n\rOprima 2 si: Desea que se despliegue una secuencia de sonido.");
-    terminal.printf("\n\rOprima 3 si: Desea que se desplieguen ambas secuencias.\n\r");
-    char valor = terminal.getc(); //Seleccion de opcion(No funciona!!)
-    wait(1.0);
-    valor = '3';//Valor predefinido que lanza la secuencia de Luces y del Buzzer
-    switch(valor) { //Menu de opciones
-    case '1': terminal.printf("\n\rUsted a seleccionado la opcion 1\n\r"); 
-              wait(1.0);
-              terminal.printf("\n\rDesplegando secuencia en....");
-              wait(1.0);
-              terminal.printf("\n\r3....");
-              wait(1.0);
-              terminal.printf("\n\r2....");
-              wait(1.0);
-              terminal.printf("\n\r1....");
-              wait(1.0);
-              Barrido.attach_us(&Barrido_OnInterrupt, Ticker_Rate);
-              break;
-    case '2': terminal.printf("\n\rUsted a seleccionado la opcion 2\n\r"); 
-              wait(1.0);
-              terminal.printf("\n\rDesplegando secuencia en....");
-              wait(1.0);
-              terminal.printf("\n\r3....");
-              wait(1.0);
-              terminal.printf("\n\r2....");
-              wait(1.0);
-              terminal.printf("\n\r1....");
-              wait(1.0);
-              for(int x=0; x<40; x++)//Este for solamente repite la secuencia, puedes modificar x.
-              {
-              int i;
-              for (i=0; i<26; i=i+2) { //For que se encarga de aumentar y disminuir frecuencias del Buzzer.
-              Buzzer.period(1.0/969.0);
-              Buzzer = float(i)/50.0;
-              wait(.5);
-              Buzzer.period(1.0/800.0);
-              wait(.5);
-              }
-              for (i=25; i>=0; i=i-2) {
-              Buzzer.period(1.0/969.0);
-              Buzzer = float(i)/50.0;
-              wait(.5);
-              Buzzer.period(1.0/800.0);
-              wait(.5);
-              }
-              Buzzer = 0.0;
-              }
-              break;
-    case '3': terminal.printf("\n\rUsted a seleccionado la opcion 3\n\r"); 
-              wait(1.0);
-              terminal.printf("\n\rDesplegando secuencia en....");
-              wait(1.0);
-              terminal.printf("\n\r3....");
-              wait(1.0);
-              terminal.printf("\n\r2....");
-              wait(1.0);
-              terminal.printf("\n\r1....");
-              wait(1.0);
-              {
-              Barrido.attach_us(&Barrido_OnInterrupt, Ticker_Rate);
-              for(int x=0; x<40; x++)
-              {
-              int i;
-              for (i=0; i<26; i=i+2) {
-              Buzzer.period(1.0/969.0);
-              Buzzer = float(i)/50.0;
-              wait(.5);
-              Buzzer.period(1.0/800.0);
-              wait(.5);
-              }
-              for (i=25; i>=0; i=i-2) {
-              Buzzer.period(1.0/969.0);
-              Buzzer = float(i)/50.0;
-              wait(.5);
-              Buzzer.period(1.0/800.0);
-              wait(.5);
-              }
-              Buzzer = 0.0;
-              }
-              }
-              break; 
-     default: terminal.printf("\n\r\n\rUsted ha ingresado una opcion que no es valida!!)");
-              terminal.printf("\n\rEn unos instantes lo regresaremos al menu!!\n\r");
-              wait(4.0);
-              goto Primero; // Regresa al usuario a la seleccion de opcion n veces hasta que seleccione una opcion valida 
-}
-}  
-void Barrido_OnInterrupt()
+void Calculos()
 {
-    /* Rutina de Atención a la Interrupción */
-    contadorA++;                     // Incremeta el contador de mili segundos
-    if (contadorA == delayA)          // Contador es igual al retardo programado?
+    float a,b,c; 
+    float x1,x2,x3,ax,bx;
+    terminal.printf("\n\r\t\e[1;37mIntroduce los valores de a, b, c.\e[0m\n");
+    terminal.printf("\n\r\t\e[1;37ma = \e[0m\n"); a = terminal.getc();
+    terminal.printf("\n\r\t\e[1;37mb = \e[0m\n"); b = terminal.getc();
+    terminal.printf("\n\r\t\e[1;37mc = \e[0m\n"); c = terminal.getc();
+    c= sqrt(float (b*b)- 4*a*c);
+    ax=(-b-x3);
+    x1=ax/(2*a);
+    bx=(-b+x3);
+    x2=(-b+x3)/(2*a);
+    terminal.printf("\n\r\t\e[1;37mEl valor de x1 es %.2f \e[0m\n",x1);
+    terminal.printf("\n\r\t\e[1;37mEl valor de x2 es %.2f \e[0m\n",x2);
+    if(ax>0 || bx>0)
     {
-    Torreta=SecuenciaA[A];          // Escribe la secuencia
-    A++;                            // Incrementa el índice
-    if (A >= No_SecuenciasA) A=0;    // Es la última secuencia?
-    contadorA =0;                    // Reinicia contador de retardo
-    Led_Monitor = !Led_Monitor;     // Parpadeo del Led Monitor
+    terminal.printf("\n\r\t\e[1;37mLa ecuacion es real\e[0m\n");
     }
-}
+    else
+    {
+    terminal.printf("\n\r\t\e[1;37mLa ecuacion no es real\e[0m\n");
+    }
+} 
 /* END routines */   
  
 /* END program */