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(); } } */