sicaklik mesafe okuma

Dependencies:   mbed mbed-rtos TextLCD DHT11

Committer:
marvas
Date:
Wed Oct 23 08:25:50 2019 +0000
Revision:
2:f6e831d1901e
Parent:
1:9ae75feba103
Child:
3:90c2a3485cf6
yeni

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