sicaklik mesafe okuma
Dependencies: mbed mbed-rtos TextLCD DHT11
main.cpp@1:9ae75feba103, 2019-10-23 (annotated)
- 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?
User | Revision | Line number | New 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 | */ |