Mikroişlemciler ve -...

Post on 04-Sep-2019

13 views 0 download

Transcript of Mikroişlemciler ve -...

Mikroişlemciler ve

Programlama Dersi- ARDUINO

Sensörler ve Analog-DigitalÇeviriciler İle Çalışma

Uygulama-5

LM35 Sensör İle Sıcaklık Ölçümü

3

Kullanılacak Bileşenler

1. Adım

• LM35 Sensörün Arduino İle Bağlantısı

4

1. Adım

• LM35 Sensörün Arduino İle Bağlantısı

4

• Vs+ Arduino‘nun 5V, Toprak piniGND'ye ve V çıkış olarakgösterilen pin de herhangi biranalog girişe takılarak Arduino ilesıcaklık ölçümü yapılabilir.

1. Adım

• LM35 Sensörün Arduino İle Bağlantısı

4

• 1-2-3 numaralı bacaklarınarduino uno ile bağlantısıyapılmalıdır.

2. Adım

• LCD Ekranın Arduino İle Bağlantısı

4

• LCD ekranımızda 16 adet pin bulunmakta.Kullanacağımız ekrana göre pinler ekranın üst, alt veyaher iki tarafında da yer alabilir. Çok nadir olarak bazıekranlarda ise arka aydınlatma ışığı bulunmadığından14 adet pin yer almaktadır. 15 ve 16 numaralı pinler,ekran aydınlatması bulunan ekranlarda ışığı yakmakiçin kullanılır.

2. Adım

• LCD Ekranın Arduino İle Bağlantısı

2. Adım

• Potansiyometre Kullanılarak LCD Ekranın Arduino İle Bağlantısı

4

Genel Uygulama Devre Şeması

4

Uygulama Kodları

4

• #include <LiquidCrystal.h> //Ekran kütüphanesinitaslağa dahil ettik.

• LiquidCrystal lcd(12,11,5,4,3,2);• int sicaklik =0; //Sıcaklık değişkenimiz.• const int sicaklik_pin= A0; //LM35'i bağladığımız pin.

• void setup() {• lcd.begin(16,2);• }

Uygulama Kodları

4

• void loop() {• lcd.clear();• sicaklik = analogRead(sicaklik_pin); //Ham analog veriyideğişkenimizde sakladık.

• sicaklik = sicaklik * 0.48828125; //Celcius cinsindensıcaklık birimine dönüştürdük

• lcd.print("Sicaklik: "); // Bilgileri• lcd.print(sicaklik); // ekrana• lcd.print("C"); // yazdırdık...• delay(1000);• }

Uygulama-6

HC-SR04 Sensör İle Mesafe Ölçümü

3

Kullanılacak Bileşenler

1. Adım

• HC-SR04 Sensörün Arduino İle Bağlantısı

4

2. Adım

• Potansiyometre Kullanılarak HC-SR04 Sensörün Arduino İle Bağlantısı

4

Genel Uygulama Devre Şeması

4

Uygulama Kodları

4

• #include <LiquidCrystal.h> //Load Liquid Crystal Library• LiquidCrystal LCD(11,10,9,2,3,4,5); //Create LiquidCrystal Object called LCD

•• #define trigPin 13 //Sensörün Echo pini Arduinonun13. pinine bağlanır

• #define echoPin 12 //Sensorün Trig pini Arduinonun12. pinine bağlanır

Uygulama Kodları

4

• void setup()• {• pinMode(trigPin, OUTPUT); //13. yani trigpini çıkışolarak ayarlıyoruz

• pinMode(echoPin, INPUT); //12. yani echoPini girişolarak ayarlıyoruz

•• LCD.begin(16,2); //Arduinoya lcdyi çalıştırmasınısöylüyoruz

• LCD.setCursor(0,0); //kursoru ilk satırın ilk sütununagetirmesini söylüyoruz

• LCD.print("ww.roboturka.com"); //İlk satırdagörünecek mesajı yazıyoruz

• }

Uygulama Kodları

4

• void loop() {• long duration, distance;• digitalWrite(trigPin, LOW);• delayMicroseconds(2);• digitalWrite(trigPin, HIGH);• delayMicroseconds(10);• digitalWrite(trigPin, LOW);• duration = pulseIn(echoPin, HIGH);• distance = (duration/2) / 29.1; //sesin gidiş gelişindeölçülen süreyi önce ikiye bölerek sadece gidiş hızınıölçüyor sonra da ses hızına bölerek mesafeyibuluyoruz.

Uygulama Kodları

4

• LCD.setCursor(0,1); //Kursoru ikinci satır birinci sütunagetiriyoruz

• LCD.print(" "); //Ekranı temizlemek için boşlukyazdırıyoruz.

• LCD.setCursor(0,1); //Kursoru tekrardan ikinci satırbirinci sütuna getiriyoruz

• LCD.print("Mesafe ");• LCD.setCursor(7,1); //satırın başında mesafe yazdığıiçin kursoru 7. sütuna götörüyoruz

• LCD.print(distance); //Ölçülenmesafeyi yazdırıyoruz• LCD.print(" cm"); //Ölçü birimini yazdırıyoruz• delay(250); //250 milisaniye bekletiyoruz.• }

Uygulama-7

LDR Sensör İle Sesli İkaz Sistemi Uygulaması

3

Kullanılacak Bileşenler

1. Adım

• Buzzer-Arduino Bağlantısı

4

2. Adım

• LDR Işık Sensörü-ArduinoBağlantısı

4

Genel Uygulama Devre Şeması

4

Uygulama Kodları

4

• int piezoPin = 8; // Piezonun bağlandığı pin D8

• int ldrPin = 0; // LDR’ nin bağlandığı pin A0

• int ldrValue = 0; // LDR değerini okuyacağımız değişkenitanımlıyoruz

Uygulama Kodları

4

• void setup() { }

• void loop() {

• ldrValue = analogRead(ldrPin); // LDR’ den analogdeğeri okuyoruz

• tone(piezoPin,1000); // piezodan 1000Hz değerindeses elde ediyoruz

• delay(25);

• noTone(piezoPin); // 25ms bekledikten sonra sesikapatıyoruz

Teşekkürler - Sorular

17