sicaklik mesafe okuma
Dependencies: mbed mbed-rtos TextLCD DHT11
Diff: main.cpp
- Revision:
- 0:2988d5981310
- Child:
- 1:9ae75feba103
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Oct 23 08:18:47 2019 +0000 @@ -0,0 +1,98 @@ + +#include "mbed.h" +#include "hcsr04.h" +#include "TextLCD.h" +#include "rtos.h" +#include "DHT11.h" + +Thread msf,dht_11; +DHT11 t(D3); +volatile long distance;//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:%c N:%c", sicaklik,nem); +wait(2); + + } + } +void mesafemetodu() +{ + while(1) + { + if(distance<50) + { + buzzer=1; + wait(300); + buzzer=0; + wait(300); + } + else + { + buzzer=0; + } + + } + } +TextLCD lcd(D11, D12, D7, D8, D9, D10); // rs, e, d4-d7 +DigitalOut buzzer(A0); + HCSR04 sensor(D5, D6); +int main() { + msf.start(mesafemetodu); + dht_11.start(sicaklikmetodu); + while(1) { + + distance = sensor.distance(); + if( distance<200) + { + printf("Mesafe %d \n",distance); + lcd.locate(0,0); + lcd.printf("Mesafe %dcm",distance); + 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(); + + } + } + */ \ No newline at end of file