Juan Salvador Payares Ernesto Guevara

Dependencies:   DebouncedIn TextLCD mbed

main.cpp

Committer:
payarito32
Date:
2014-04-02
Revision:
0:7853369d3ed2

File content as of revision 0:7853369d3ed2:

#include "mbed.h"
#include "DebouncedIn.h"
#include "TextLCD.h"

AnalogIn Vin(PTC2);
TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7

DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut sound(PTC5); //Salida de Audio Digital 
DebouncedIn button1(PTC12);
DebouncedIn button2(PTC13);
DebouncedIn button3(PTC16);

int C1=0x0F;
int sp=0,kp=0,kd=0,ki=0,p=1;
int i;
int main()
{
    lcd.cls();
    lcd.writeCommand(C1);//escribimos un comando segun el manual del modulo LCD
    lcd.locate(8,0);
    lcd.printf("kp=%d", kp);
    lcd.locate(0,1);
    lcd.printf("Ki=%d", ki);
    lcd.locate(8,1);
    lcd.printf("Kd=%d", kd);
    lcd.locate(0,0);
    lcd.printf("Sp=%d", sp);

    while(1)
    {
        if (button1.falling())
        {
            
            for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
                sound = 0;
                wait(0.00015);  // Medio ciclo de dureza Arriba
                sound=1;
                wait(0.0005); // Medio ciclo Abajo
                
                }
            
            if (p==1)
            
            {
                ++sp;
                lcd.locate(3,0);
                lcd.printf("   ");
                lcd.locate(3,0);
                lcd.printf("%d", sp);
                
                }
                 else if (p==2)
            {
                ++kp;
                lcd.locate(11,0);
                lcd.printf("   ");
                lcd.locate(11,0);
                lcd.printf("%d", kp);
            }
            else if (p==3)
            {
                ++ki;
                lcd.locate(3,1);
                lcd.printf("   ");
                lcd.locate(3,1);
                lcd.printf("%d", ki);
            }
            else if (p==4)
            {
                ++kd;
                lcd.locate(11,1);
                 lcd.printf("   ");
                lcd.locate(11,1);
                lcd.printf("%d", kd);
            }
        }
        if (button2.falling())
        {
                for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
                sound = 0;
                wait(0.00012);  // Medio ciclo de dureza Arriba
                sound=1;
                wait(0.00008); // Medio ciclo Abajo
                
                }
            //led2 =!led2;
            //sound = 3.2;
            //wait(0.2);
            //sound = 0;
            if (p==1)
           
            {
                if (sp==0)  // no mostrar nada
                {
                }
                else
                {
                    --sp;
                    lcd.locate(3,0);
                    lcd.printf("   ");
                    lcd.locate(3,0);
                    lcd.printf("%d", sp);
                }
                }
            if (p==2)
            {
                if (kp==0)  // no mostrar nada
                {
                }
                else
                {
                    --kp;
                    lcd.locate(11,0);
                    lcd.printf("   ");
                    lcd.locate(11,0);
                    lcd.printf("%d", kp);
                }
            }
            if (p==3)
            {
                if (ki==0)  // no mostrar nada
                {
                }
                else
                 {
                    --ki;
                    lcd.locate(3,1);
                    lcd.printf("   ");
                    lcd.locate(3,1);
                    lcd.printf("%d", ki);
                }
            }
            if (p==4)
            {
                if (kd==0)  // no mostrar nada
                {
                }
                else
                {
                    --kd;
                    lcd.locate(11,1);
                    lcd.printf("   ");
                    lcd.locate(11,1);
                    lcd.printf("%d", kd);
                }
            }
        }
        
        if (button3.falling())
        {

                for(i=1; i<= 1000; ++i){ //ONDA CUADRADA, OSCILACIONES A 10 KHZ.... A VER SI FUNCIONA
                sound = 0;
                wait(0.00019);  // Medio ciclo de dureza Arriba
                sound=1;
                wait(0.00001); // Medio ciclo Abajo
                }
            //led3 =!led3;
            //sound = 3.2;
            //wait(0.2);
            //sound = 0;
            if (p==1)
            
            {
                ++p;
                lcd.locate(11,0);
                lcd.printf("%d", kp);
                
                
            }
            else if (p==2)
            {
                ++p;
                lcd.locate(3,1);
                lcd.printf("%d", ki);
                lcd.locate(3,1);
                
            }
            else if (p==3)
            {
                ++p;
                lcd.locate(11,1);
                lcd.printf("%d", kd);
                }
            else if (p==4)
            {
                p=1;
                lcd.locate(3,0);
                lcd.printf("%d", sp);
                
                
            }
        }
    }
}