Projeto de microcontroladores para monitoramento de um vaso.
Dependencies: BME280 LM75B mbed
Fork of Serial_To_Bluetooth_Helloworld_WIZwiki-W7500 by
main.cpp@1:cf760564ee8e, 2018-06-25 (annotated)
- Committer:
- DodoRRS
- Date:
- Mon Jun 25 01:39:57 2018 +0000
- Revision:
- 1:cf760564ee8e
- Parent:
- 0:22832bff21a1
Projeto de Microcontroladores
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
joon874 | 0:22832bff21a1 | 1 | #include "mbed.h" |
DodoRRS | 1:cf760564ee8e | 2 | #include "LM75B.h" |
DodoRRS | 1:cf760564ee8e | 3 | #include "BME280.h" |
DodoRRS | 1:cf760564ee8e | 4 | |
joon874 | 0:22832bff21a1 | 5 | |
joon874 | 0:22832bff21a1 | 6 | /* Digital Out Pin Configuration */ |
DodoRRS | 1:cf760564ee8e | 7 | DigitalOut RED(p23,1); |
DodoRRS | 1:cf760564ee8e | 8 | DigitalOut GREEN(p24,1); |
DodoRRS | 1:cf760564ee8e | 9 | DigitalOut BLUE(p25,1); |
DodoRRS | 1:cf760564ee8e | 10 | |
DodoRRS | 1:cf760564ee8e | 11 | AnalogIn LDR(p16);// 1 para iluminado e 0.1 para escuro |
DodoRRS | 1:cf760564ee8e | 12 | |
DodoRRS | 1:cf760564ee8e | 13 | AnalogIn moisture(p15); // 1 para seco , 0.47 para molhado |
DodoRRS | 1:cf760564ee8e | 14 | |
DodoRRS | 1:cf760564ee8e | 15 | AnalogIn fogo(p17); // 1 para fogo e 0.6 pra suave |
DodoRRS | 1:cf760564ee8e | 16 | |
DodoRRS | 1:cf760564ee8e | 17 | DigitalOut motor(p21);// 1 para ligado , 0 para desligado |
DodoRRS | 1:cf760564ee8e | 18 | |
DodoRRS | 1:cf760564ee8e | 19 | DigitalIn presente(p5);// 1 tem alguem , 0 nao tem ninguem |
joon874 | 0:22832bff21a1 | 20 | |
joon874 | 0:22832bff21a1 | 21 | /* UART Pin Configuration */ |
joon874 | 0:22832bff21a1 | 22 | Serial pc(USBTX, USBRX); |
DodoRRS | 1:cf760564ee8e | 23 | Serial bt(p13,p14); |
DodoRRS | 1:cf760564ee8e | 24 | |
DodoRRS | 1:cf760564ee8e | 25 | |
DodoRRS | 1:cf760564ee8e | 26 | |
DodoRRS | 1:cf760564ee8e | 27 | #if defined(TARGET_LPC1768) |
DodoRRS | 1:cf760564ee8e | 28 | BME280 thp(p28, p27); // scl no 27, |
DodoRRS | 1:cf760564ee8e | 29 | #else |
DodoRRS | 1:cf760564ee8e | 30 | BME280 thp(I2C_SDA, I2C_SCL); |
DodoRRS | 1:cf760564ee8e | 31 | #endif |
joon874 | 0:22832bff21a1 | 32 | |
joon874 | 0:22832bff21a1 | 33 | |
joon874 | 0:22832bff21a1 | 34 | int main(void) |
joon874 | 0:22832bff21a1 | 35 | { |
joon874 | 0:22832bff21a1 | 36 | /* baudrate configuration */ |
joon874 | 0:22832bff21a1 | 37 | pc.baud(115200); |
joon874 | 0:22832bff21a1 | 38 | bt.baud(9600); |
joon874 | 0:22832bff21a1 | 39 | |
DodoRRS | 1:cf760564ee8e | 40 | |
joon874 | 0:22832bff21a1 | 41 | pc.printf("WIZwiki-W7500 BT\n\r"); |
joon874 | 0:22832bff21a1 | 42 | |
joon874 | 0:22832bff21a1 | 43 | char ch; |
joon874 | 0:22832bff21a1 | 44 | char msg[256]; |
joon874 | 0:22832bff21a1 | 45 | |
DodoRRS | 1:cf760564ee8e | 46 | |
DodoRRS | 1:cf760564ee8e | 47 | float vfogo = 0.0f; |
DodoRRS | 1:cf760564ee8e | 48 | float value = 0.0f; |
DodoRRS | 1:cf760564ee8e | 49 | |
DodoRRS | 1:cf760564ee8e | 50 | |
DodoRRS | 1:cf760564ee8e | 51 | while(1) |
joon874 | 0:22832bff21a1 | 52 | { |
DodoRRS | 1:cf760564ee8e | 53 | |
DodoRRS | 1:cf760564ee8e | 54 | |
DodoRRS | 1:cf760564ee8e | 55 | value = moisture; |
DodoRRS | 1:cf760564ee8e | 56 | vfogo = fogo; |
DodoRRS | 1:cf760564ee8e | 57 | if (vfogo >= 0.6){ |
DodoRRS | 1:cf760564ee8e | 58 | bt.printf ("TA PEGANDO FOGO BIXOOO\n"); |
DodoRRS | 1:cf760564ee8e | 59 | } |
DodoRRS | 1:cf760564ee8e | 60 | if (value <= 0.5){ |
DodoRRS | 1:cf760564ee8e | 61 | motor = 1; |
DodoRRS | 1:cf760564ee8e | 62 | wait(0.8); |
DodoRRS | 1:cf760564ee8e | 63 | motor =0; |
DodoRRS | 1:cf760564ee8e | 64 | } |
DodoRRS | 1:cf760564ee8e | 65 | if (presente == 1){ |
DodoRRS | 1:cf760564ee8e | 66 | bt.printf("\n OPA!!!! \n Tem Alguem Aqui"); |
DodoRRS | 1:cf760564ee8e | 67 | } |
DodoRRS | 1:cf760564ee8e | 68 | wait(1.0); |
joon874 | 0:22832bff21a1 | 69 | |
DodoRRS | 1:cf760564ee8e | 70 | |
DodoRRS | 1:cf760564ee8e | 71 | /* WIZwiki-W7500 to Bluetooth */ |
DodoRRS | 1:cf760564ee8e | 72 | if(pc.readable()) |
DodoRRS | 1:cf760564ee8e | 73 | { |
DodoRRS | 1:cf760564ee8e | 74 | pc.scanf("%s",&msg); |
DodoRRS | 1:cf760564ee8e | 75 | bt.printf("%s",msg); |
joon874 | 0:22832bff21a1 | 76 | } |
DodoRRS | 1:cf760564ee8e | 77 | |
DodoRRS | 1:cf760564ee8e | 78 | /* Bluetooth to WIZwiki-W7500 */ |
DodoRRS | 1:cf760564ee8e | 79 | if(bt.readable()) |
DodoRRS | 1:cf760564ee8e | 80 | { |
DodoRRS | 1:cf760564ee8e | 81 | ch = bt.getc(); |
DodoRRS | 1:cf760564ee8e | 82 | pc.putc(ch); |
DodoRRS | 1:cf760564ee8e | 83 | |
DodoRRS | 1:cf760564ee8e | 84 | |
DodoRRS | 1:cf760564ee8e | 85 | if(ch == 'r'){ |
DodoRRS | 1:cf760564ee8e | 86 | /* Mostra todas as Informações da estufa */ |
DodoRRS | 1:cf760564ee8e | 87 | bt.printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n"); |
DodoRRS | 1:cf760564ee8e | 88 | bt.printf ("MWMWMWMWMWMWMWMWMWMW\n"); |
DodoRRS | 1:cf760564ee8e | 89 | bt.printf ("Luminosidade = %f\n", LDR.read()); |
DodoRRS | 1:cf760564ee8e | 90 | bt.printf ("Humidade do Solo = %f\n", (float)value); |
DodoRRS | 1:cf760564ee8e | 91 | bt.printf ("Pressao = %04.2f hPa\n", thp.getPressure()); |
DodoRRS | 1:cf760564ee8e | 92 | bt.printf ("Temperatura = %2.2f °C\n", thp.getTemperature()); |
DodoRRS | 1:cf760564ee8e | 93 | bt.printf ("MWMWMWMWMWMWMWMWMWMW\n"); |
DodoRRS | 1:cf760564ee8e | 94 | bt.printf ("\n"); |
DodoRRS | 1:cf760564ee8e | 95 | |
DodoRRS | 1:cf760564ee8e | 96 | }else if(ch == 'g'){ |
DodoRRS | 1:cf760564ee8e | 97 | motor = 1; |
DodoRRS | 1:cf760564ee8e | 98 | wait(0.8); |
DodoRRS | 1:cf760564ee8e | 99 | motor =0; |
DodoRRS | 1:cf760564ee8e | 100 | } |
DodoRRS | 1:cf760564ee8e | 101 | } |
DodoRRS | 1:cf760564ee8e | 102 | |
joon874 | 0:22832bff21a1 | 103 | } |
joon874 | 0:22832bff21a1 | 104 | } |
DodoRRS | 1:cf760564ee8e | 105 |