sicaklik mesafe okuma

Dependencies:   mbed mbed-rtos TextLCD DHT11

Committer:
marvas
Date:
Wed Oct 23 08:20:29 2019 +0000
Revision:
1:9ae75feba103
Parent:
0:2988d5981310
Child:
2:f6e831d1901e
yeni_sicaklik_ultrasonik

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marvas 0:2988d5981310 1
marvas 0:2988d5981310 2 #include "mbed.h"
marvas 0:2988d5981310 3 #include "hcsr04.h"
marvas 0:2988d5981310 4 #include "TextLCD.h"
marvas 0:2988d5981310 5 #include "rtos.h"
marvas 0:2988d5981310 6 #include "DHT11.h"
marvas 1:9ae75feba103 7 TextLCD lcd(D11, D12, D7, D8, D9, D10); // rs, e, d4-d7
marvas 1:9ae75feba103 8 DigitalOut buzzer(A0);
marvas 1:9ae75feba103 9 HCSR04 sensor(D5, D6);
marvas 0:2988d5981310 10 Thread msf,dht_11;
marvas 0:2988d5981310 11 DHT11 t(D3);
marvas 0:2988d5981310 12 volatile long distance;//bu değişken bütün threadlerde çalışır
marvas 0:2988d5981310 13 volatile char sicaklik,nem;
marvas 0:2988d5981310 14 void sicaklikmetodu()
marvas 0:2988d5981310 15 {
marvas 0:2988d5981310 16 while(1)
marvas 0:2988d5981310 17 {
marvas 0:2988d5981310 18 t.readData();
marvas 0:2988d5981310 19 sicaklik= t.readTemperature();
marvas 0:2988d5981310 20 nem=t.readHumidity();
marvas 0:2988d5981310 21 cout<<"Sicaklik:"<<t.readTemperature()<<" Nem:%"<<t.readHumidity()<<endl;
marvas 0:2988d5981310 22 lcd.locate(0,1);
marvas 0:2988d5981310 23 lcd.printf("S:%c N:%c", sicaklik,nem);
marvas 0:2988d5981310 24 wait(2);
marvas 0:2988d5981310 25
marvas 0:2988d5981310 26 }
marvas 0:2988d5981310 27 }
marvas 0:2988d5981310 28 void mesafemetodu()
marvas 0:2988d5981310 29 {
marvas 0:2988d5981310 30 while(1)
marvas 0:2988d5981310 31 {
marvas 0:2988d5981310 32 if(distance<50)
marvas 0:2988d5981310 33 {
marvas 0:2988d5981310 34 buzzer=1;
marvas 0:2988d5981310 35 wait(300);
marvas 0:2988d5981310 36 buzzer=0;
marvas 0:2988d5981310 37 wait(300);
marvas 0:2988d5981310 38 }
marvas 0:2988d5981310 39 else
marvas 0:2988d5981310 40 {
marvas 0:2988d5981310 41 buzzer=0;
marvas 0:2988d5981310 42 }
marvas 0:2988d5981310 43
marvas 0:2988d5981310 44 }
marvas 0:2988d5981310 45 }
marvas 1:9ae75feba103 46
marvas 0:2988d5981310 47 int main() {
marvas 0:2988d5981310 48 msf.start(mesafemetodu);
marvas 0:2988d5981310 49 dht_11.start(sicaklikmetodu);
marvas 0:2988d5981310 50 while(1) {
marvas 0:2988d5981310 51
marvas 0:2988d5981310 52 distance = sensor.distance();
marvas 0:2988d5981310 53 if( distance<200)
marvas 0:2988d5981310 54 {
marvas 0:2988d5981310 55 printf("Mesafe %d \n",distance);
marvas 0:2988d5981310 56 lcd.locate(0,0);
marvas 0:2988d5981310 57 lcd.printf("Mesafe %dcm",distance);
marvas 0:2988d5981310 58 lcd.printf(" ");
marvas 0:2988d5981310 59 }
marvas 0:2988d5981310 60 wait_ms(200); // 1 sec
marvas 0:2988d5981310 61
marvas 0:2988d5981310 62 }
marvas 0:2988d5981310 63 }
marvas 0:2988d5981310 64 /*
marvas 0:2988d5981310 65
marvas 0:2988d5981310 66
marvas 0:2988d5981310 67 #include "mbed.h"
marvas 0:2988d5981310 68
marvas 0:2988d5981310 69 DigitalOut trig(D5);
marvas 0:2988d5981310 70 DigitalIn echo(D6);
marvas 0:2988d5981310 71 Timer sure;
marvas 0:2988d5981310 72 float mesafe;
marvas 0:2988d5981310 73
marvas 0:2988d5981310 74 int main()
marvas 0:2988d5981310 75 {
marvas 0:2988d5981310 76 while(1)
marvas 0:2988d5981310 77 {
marvas 0:2988d5981310 78 trig=0;
marvas 0:2988d5981310 79 wait_us(5);
marvas 0:2988d5981310 80 trig=1;
marvas 0:2988d5981310 81 wait_us(10);
marvas 0:2988d5981310 82 sure.start();
marvas 0:2988d5981310 83 trig=0;
marvas 0:2988d5981310 84 while(1)
marvas 0:2988d5981310 85 {
marvas 0:2988d5981310 86 if(echo==1)
marvas 0:2988d5981310 87 {
marvas 0:2988d5981310 88 sure.stop();
marvas 0:2988d5981310 89 break;
marvas 0:2988d5981310 90 }
marvas 0:2988d5981310 91 }
marvas 0:2988d5981310 92 mesafe=sure.read()/58.2;
marvas 0:2988d5981310 93 printf("%f cm \n",mesafe);
marvas 0:2988d5981310 94 sure.reset();
marvas 0:2988d5981310 95
marvas 0:2988d5981310 96 }
marvas 0:2988d5981310 97 }
marvas 0:2988d5981310 98 */