Repositório para o trabalho semestral (Projeto Estufa) de Microcontroladores.

Dependencies:   mbed

bomba-sensor_umidade/main.cpp

Committer:
RickBadKan
Date:
2018-06-06
Revision:
0:cdb895446e57
Child:
1:4d014defc573

File content as of revision 0:cdb895446e57:

#include "mbed.h"

// Biblioteca para utilização do LCD Display
#include "C12832.h"

// Initialize a pins to perform analog input and digital output fucntions
AnalogIn   potenciometro(p19);
AnalogIn   sensor(p15);

//DigitalOut blue(p25);
//DigitalOut green(p24);

// Visualização PWM LED1
PwmOut l_out(LED1);
PwmOut pwm(p24);

// Default initialization for LCD
C12832 lcd(p5, p7, p6, p8, p11);

int main(void)
{
    lcd.cls();

    // Codigo PWM
    int i;
    float pw;  // signal pulse width from 0 to 1
    int reps;  // pulse repetitions
    float level[]= {0, 0.2, 0.4, 0.6 };

    pwm.period_us(100);

    while (1) {


        for(i=0; i<=3; i+=1) {
            pw = level[i];      // pulse width steps of 0, 0.2, 0.4, and 0.6
            for(reps=0; reps<=10000; reps++) { // for visual delay

                l_out.write(pw);
            }
        }

        pwm.write(0.5f);

        /*
            Test the voltage on the initialized analog pin
            and if greater than 0.3 * VCC set the blue on
            otherwise green on
        */
        //if(potenciometro > 0.3f) {  // Valor capturado somente chamando o nome do AnalogIn
        //    blue = 1;
        //    green = 0;
        //}
        //else {
        //    blue = 0;
        //    green = 1;
        //}

        // Print the % value and the absolute value from the sensor at p15
        lcd.locate(0,3);
        lcd.printf( "Percentage: %3.3f%% \n", sensor.read() * 100.0f );
        lcd.printf( "Absolute Value: %2.3f", sensor.read() );
        wait(0.02f);
        lcd.cls();
    }
}