sicaklik mesafe okuma
Dependencies: mbed mbed-rtos TextLCD DHT11
main.cpp
- Committer:
- marvas
- Date:
- 2019-10-23
- Revision:
- 1:9ae75feba103
- Parent:
- 0:2988d5981310
- Child:
- 2:f6e831d1901e
File content as of revision 1:9ae75feba103:
#include "mbed.h" #include "hcsr04.h" #include "TextLCD.h" #include "rtos.h" #include "DHT11.h" TextLCD lcd(D11, D12, D7, D8, D9, D10); // rs, e, d4-d7 DigitalOut buzzer(A0); HCSR04 sensor(D5, D6); 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; } } } 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(); } } */