sicaklik mesafe okuma
Dependencies: mbed mbed-rtos TextLCD DHT11
main.cpp@2:f6e831d1901e, 2019-10-23 (annotated)
- 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?
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 | 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 | */ |