sicaklik mesafe okuma

Dependencies:   mbed mbed-rtos TextLCD DHT11

main.cpp

Committer:
marvas
Date:
2019-10-23
Revision:
3:90c2a3485cf6
Parent:
2:f6e831d1901e

File content as of revision 3:90c2a3485cf6:


#include "mbed.h"

#include "TextLCD.h"
#include "rtos.h"
#include "DHT11.h"
#include <iostream>
Timer sure;
TextLCD lcd(D11, D12, D7, D8, D9, D10); // rs, e, d4-d7
DigitalOut buzzer(A0);
DigitalIn echo(D6);
DigitalOut trig(D5);
Thread msf,dht_11;
DHT11 t(D3);
long mesafe;
volatile long x;//bu değişken bütün threadlerde çalışır
volatile char sicaklik,nem;
void sicaklikmetodu()
{
    while(1)
    {
         t.readData();
             sicaklik= t.readTemperature();
             nem=t.readHumidity();
cout<<"Sicaklik:"<<t.readTemperature()<<" Nem:%"<<t.readHumidity()<<endl;
lcd.locate(0,1);
lcd.printf("S:%d N:%d", sicaklik,nem);
wait(2);
        
        }
    }
void mesafemetodu()
{
      while(1)
      {
      if(x<50)
      {
          buzzer=1;
          wait(300);
          buzzer=0;
           wait(300);
          }
          else
          {
              buzzer=0;
              }
        
          }
    }

int main() {
  
    msf.start(mesafemetodu);
    dht_11.start(sicaklikmetodu);
    while(1) {
  sure.reset();
        trig=0;
        wait_us(5);
        trig=1;
        wait_us(10);
        sure.start();
        trig=0;
         while(!echo); // start pulseIN
      sure.start();
     while(echo);
      sure.stop();
        mesafe=sure.read_us()/58.2;
        printf("%f cm \n",mesafe);
        x=mesafe;
     if( mesafe<200)
     {
      printf("Mesafe  %d  \n",mesafe);
      lcd.locate(0,0);
      lcd.printf("Mesafe %d cm",mesafe);
      lcd.printf("   ");
      }
      wait_ms(200); // 1 sec  
        
    }
}
/*


#include "mbed.h"

DigitalOut trig(D5);
DigitalIn echo(D6);
Timer sure;
float mesafe;

int main()
{
    while(1)
    {
        trig=0;
        wait_us(5);
        trig=1;
        wait_us(10);
        sure.start();
        trig=0;
        while(1)
        {
         if(echo==1)
         {
        sure.stop();
        break;
        }
        }
        mesafe=sure.read()/58.2;
        printf("%f cm \n",mesafe);
        sure.reset();

       }
    }
    */