mikroişlemciler ve -...

29
Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörler ve Analog-Digital Çeviriciler İle Çalışma

Upload: others

Post on 04-Sep-2019

28 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Mikroişlemciler ve

Programlama Dersi- ARDUINO

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

Page 2: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Uygulama-5

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

Page 3: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

3

Kullanılacak Bileşenler

Page 4: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

1. Adım

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

4

Page 5: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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.

Page 6: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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.

Page 7: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

2. Adım

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

4

Page 8: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

• 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ı

Page 9: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

2. Adım

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

4

Page 10: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Genel Uygulama Devre Şeması

4

Page 11: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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);• }

Page 12: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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);• }

Page 13: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Uygulama-6

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

Page 14: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

3

Kullanılacak Bileşenler

Page 15: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

1. Adım

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

4

Page 16: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

2. Adım

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

4

Page 17: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Genel Uygulama Devre Şeması

4

Page 18: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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

Page 19: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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

• }

Page 20: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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.

Page 21: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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.• }

Page 22: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Uygulama-7

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

Page 23: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

3

Kullanılacak Bileşenler

Page 24: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

1. Adım

• Buzzer-Arduino Bağlantısı

4

Page 25: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

2. Adım

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

4

Page 26: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Genel Uygulama Devre Şeması

4

Page 27: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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

Page 28: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

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

Page 29: Mikroişlemciler ve - muhammetbaykara.commuhammetbaykara.com/wp-content/uploads/2017/04/arduino-uygulamaları.pdf · Mikroişlemciler ve Programlama Dersi- ARDUINO Sensörlerve Analog-Digital

Teşekkürler - Sorular

17