testfase

Dependencies:   TextLCD mbed DS1307 Servo

main.cpp

Committer:
JonathanCaes
Date:
2014-11-27
Revision:
0:09e0c8d681a8
Child:
1:83cbca2c2d86

File content as of revision 0:09e0c8d681a8:

//Library's
#include "mbed.h"
#include "TextLCD.h"

//Pin initialisatie
Serial pc(USBTX,USBRX);
AnalogIn temp1(p20);
AnalogIn temp2(p19);
DigitalIn knopUP(p5);
DigitalIn knopDOWN(p6);
DigitalIn knopINSTEL(p7);
DigitalIn knopBACK(p8);
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
TextLCD lcd(p15, p16, p21, p22, p23, p24); // rs, e, d4-d7
PwmOut Servo(p25);

//variabelen declareren/initialiseren
float i = 0;
float j = 0;
int temperatuur = 20;
int counter = 0;
int teller = 0;

//Main Programma
int main()
{
    pc.printf("\x1B\x48\x1B\x4A");
    pc.printf("Temperatuur");
    while(1)
    {
/*------------------------------------------------------------------------*/
        //Seriele communicatie met pc
        pc.printf("\x1B\x48");
        i=0;
        j=0;
/*------------------------------------------------------------------------*/
        //Temperatuur inlezen
        for(int t=0;t<100;t++) 
        {
            i=i+temp1.read();
            
        }
        for(int k=0;k<100;k++) 
        {
            j=j+temp2.read();
        }
/*------------------------------------------------------------------------*/
        //Motor aansturen
        Servo.period_ms(20);
        if(knopUP)
        {
            Servo = (90 * 0.000511 + 0.026); // rust
            wait(1);
            Servo = (7 * 0.000511 + 0.026); // links 7
            wait(1);
            Servo = (90 * 0.000511 + 0.026); // rust
            wait(1);
            Servo = (170 * 0.000511 + 0.026); // rechts
            wait(1);
        }
/*------------------------------------------------------------------------*/
        //Menu Instellingen
        if(knopINSTEL)
        {
            teller = 0;
            wait(0.3);
            lcd.cls();
            while(knopBACK == 0)
            {    
                lcd.locate(0,0);
                lcd.printf(" Instellen Temp");
                lcd.locate(0,1);
                lcd.printf("   Temp = %iC", temperatuur);
                if(knopUP)
                {
                    temperatuur = temperatuur + 1;
                    if(temperatuur > 30)
                    {
                        temperatuur = 20;  
                    }
                    if(temperatuur < 20)
                    {
                        temperatuur = 30;   
                    } 
                    lcd.cls();
                    lcd.locate(0,0);
                    lcd.printf("Ingestelde Temp");
                    lcd.locate(0,1);
                    lcd.printf("       %iC     ", temperatuur);
                    wait(0.6);
                    lcd.cls();
                }
                if(knopDOWN)
                {
                    temperatuur = temperatuur - 1;
                    if(temperatuur == 30)
                    {
                        temperatuur = 20;  
                    }
                    if(temperatuur < 20)
                    {
                        temperatuur = 30;   
                    } 
                    lcd.cls();
                    lcd.locate(0,0);
                    lcd.printf("Ingestelde Temp");
                    lcd.locate(0,1);
                    lcd.printf("       %iC     ", temperatuur);
                    wait(0.6);
                    lcd.cls();
                }
            }
        }
/*------------------------------------------------------------------------*/
        //Temperatuur instellen
        /*if(knopUP)
        {
            temperatuur = temperatuur + 1;
            if(temperatuur == 30)
            {
                temperatuur = 24;  
            }    
            lcd.cls();
            lcd.locate(0,0);
            lcd.printf("ingestelde temp");
            lcd.locate(0,1);
            lcd.printf("       %iC     ", temperatuur);
            wait(1);
        }*/
/*------------------------------------------------------------------------*/
        /*Temperatuur: Wanneer temperatuur hoger wordt dan ingesteld
                       zal een ledje dit aangeven*/
        if((i*3.3)>= temperatuur)
        {
            myled1 = 1;    
        }
        if((i*3.3) < temperatuur)
        {
            myled1 = 0;    
        }
/*------------------------------------------------------------------------*/
        //LCD uitschrijven
        counter++;
        if(counter == 250)
        {
            lcd.cls();
            lcd.locate(0,0);
            lcd.printf("Temp 1:%4.1fC", i*3.3);
            lcd.locate(0,1);
            lcd.printf("Temp 2:%4.1fC", j*3.3);
            pc.printf("\n\n\rTemperature1 %4.1f C ",i*3.3);
            pc.printf("\n\rTemperature2 %4.1f C ",j*3.3);
            counter = 0;
        }
    }
}