sd_kart_dht11_ldr_lcd

Dependencies:   mbed sd_kart_yazma_okma TextLCD DHT11

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "TextLCD.h"
00003 #include "DHT11.h"
00004 #include "SDFileSystem.h"
00005 Timer sure;
00006 DigitalIn btn(PC_13);
00007 DigitalOut kartled(LED1);
00008 AnalogIn ldr(A0);
00009 SDFileSystem sd(PB_15, PB_14, PB_13, PB_1, "sd"); // mosi, miso, sclk, cs(scl)
00010 
00011 TextLCD lcd(D11, D12, D7, D8, D9, D10); // rs, e, d4-d7
00012 DHT11 t(D3);
00013 volatile char sicaklik;
00014 volatile float isik;
00015 unsigned char c;
00016 void sicaklikmetodu()
00017 {
00018             sure.start();
00019             if(sure.read()>=2)
00020             {
00021             t.readData();
00022        sicaklik= t.readTemperature();
00023        lcd.cls();
00024        lcd.printf("Sicaklik: %d",sicaklik);
00025        //printf("Sicaklik: %d",sicaklik);
00026        sure.reset();
00027        }
00028        
00029     }
00030     void ldrmetodu()
00031     {
00032         isik=ldr.read();
00033         if(isik==1)
00034         {
00035         kartled=0;
00036                 //printf("Led OFF\n");
00037         }
00038         else
00039         {
00040         kartled=1;
00041         //printf("Led ON\n");
00042         }
00043         //printf("Isik Seviyesi: %f \n",ldr.read());
00044         }
00045 int main() {
00046           
00047           btn.mode(PullUp);
00048            mkdir("/sd", 0777);
00049            while(1)
00050            {
00051                    ldrmetodu();
00052                    if(btn==0)
00053                    {
00054                     set_time(1572432498); 
00055                     } 
00056                     time_t seconds = time(NULL);
00057                   
00058                     sicaklikmetodu();  
00059                 FILE *fp = fopen("/sd/sicaklik.txt", "a");
00060                  if(fp == NULL) {
00061             error("Yazma icin dosya acilamadi \n");
00062             printf("Yazma icin dosya acilamadi \n");
00063         }
00064          else {
00065             //Sd karta yazar
00066             if(isik<1)
00067             fprintf(fp, "%c, %s LED ON",sicaklik,ctime(&seconds));
00068             else
00069             fprintf(fp, "%c, %s LED OFF",sicaklik,ctime(&seconds));
00070             fclose(fp); //Dosya kapat
00071 //
00072             FILE *fpr = fopen("/sd/sicaklik.txt", "r");
00073             //Okunacak dosya seçildi
00074 
00075 //file end of. Okuma işlemi bitene kadar devam et.
00076 //Dosya sonuna kadar okumaya devam et.
00077             while (!feof(fpr)) {
00078                 c=fgetc(fpr);
00079                 printf("%c",c);
00080             }
00081             fclose(fpr);
00082         }
00083          
00084                }
00085 
00086 }