GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Slides:



Advertisements
Benzer bir sunumlar
ARDUINO DİJİTAL PİN KONTROLÜ
Advertisements

Prof. Dr. Ahmet Arıkan Gazi Ü niversitesi Gazi Eğitim Fakültesi OFMAE Bölümü Matematik Eğitimi Anabilim Dalı.
ARAZİ ROBOTU KAVRAMSAL TASARIMI
İNŞAAT TEKNOLOJİSİ UYGULAMALARI I
DONANIM VE YAZILIM.
İSTATİSTİK II BAĞIMSIZLIK TESTLERİ VE İYİ UYUM TESTLERİ “ c2 Kİ- KARE TESTLERİ “
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
ÇOK BOYUTLU SİNYAL İŞLEME
Ultrasonik sensörler
BİLGİSAYAR PROGRAMLAMA DERSİ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
PWM (Pulse Width Modulation- Sinyal Genişlik Modülasyonu)
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
MF/HF ORTA FREKANS YÜKSEK FREKANS.
Sismik Kırılma (Refraction) Yöntemi Ders 5
Motor Sürücü Devresi ile Kontrol
2.Hafta Transistörlü Yükselteçler 2
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
T- Testİ: ORTALAMALAR ARASI FARKLARIN TEST EDİLMESİ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Uno R3 ile Merhaba Dünya Yrd. Doç. Dr. Deniz DAL
Mekatronik Mühendisliği
Arduino ve Gaz Sensörü.
Ders Adı: Sayısal Elektronik
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
Doğu Akdeniz Üniversitesi Bilgisayar Ve Teknoloji Yüksek Okulu
BİLGİSAYAR ÇEŞİTLERİ.
BİLİŞİM TEKNOLOJİLERİ ALANI
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
TUTUM VE ALGILAR.
BÖLÜM 11 SES. BÖLÜM 11 SES SES DALGALARI Aşağıdaki şeklin (1) ile gösterilen kısmı bir ses dalgasını temsil etmektedir. Dalga ortam boyunca hareket.
Kırınım, Girişim ve Müzik
Sağlık Bilimleri Fakültesi
Bilişim Teknolojileri ve Yazılım Dersi
Temel Bilgisayar Bilgileri
Ders 5 Devre Bağlantıları
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
ARDUİNO Arduino Eğitimleri Bölüm 6 Analog Giriş – Çıkış İşlemleri
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
ARDUİNO Arduino Eğitimleri Bölüm 4 Programlama Dili Temelleri - II
Düz hatlar, makaslar & kruvazmanlar için ivmelenme izleme sistemi
MİKRODENETLEYİCİ KONTROLLÜ KOŞU BANDI
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
MBLOCK ile Arduino ve Robotik Kodlama
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Programlama Dili
Ölçü transformatorları
10. SINIF: 3. ÜNİTE: DALGALAR-1
Evren-Örneklem, Örnekleme Yöntemleri 2
Bilgisayar Bilimi Koşullu Durumlar.
İşlemciler.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
FOTOSENTEZ.
NİŞANTAŞI ÜNİVERSİTESİ
Marmara Üniversitesi Mekatronik Tezli YL Programı
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
EĞİTSEL ROBOTLARIN BİLEŞENLERİ-3
TYS102 ÖLÇME BİLGİSİ Yrd. Doç. Dr. N. Yasemin EMEKLİ
MBLOCK ile Arduino ve Robotik Kodlama
GÖRÜŞME İLKE VE TEKNİKLERİ Sağlık Bilimleri Fakültesi
SES KOMUT TANIMA İLE GEZGİN ARAÇ KONTROLÜ
ULTRASONİK MESAFE ÖLÇER ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ
Bilimsel Araştırma Yöntemleri
MBLOCK ile Arduino ve Robotik Kodlama
EŞ YÜKSELTİ (TESVİYE) EĞRİLERİNİN
İSTATİSTİK II BAĞIMSIZLIK TESTLERİ VE İYİ UYUM TESTLERİ “ c2 Kİ- KARE TESTLERİ “
Sunum transkripti:

GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ 10.HAFTA Yrd. Doç. Dr. Fecir DURAN Arş. Gör. Esra SÖĞÜT

İÇİNDEKİLER HC-SR04 ULTRASONİK UZAKLIK ALGILAYICISI PULSEIN() BUZZER GEREKLİ FONKSİYONLAR MESAFE ÖLÇÜMÜ UYGULAMALARI SHARP INFRARED PROXİMİTY ALGILAYICISI

HC-SR04 Ultrasonik Uzaklık Algılayıcısı Uygulamada uzaklık ölçümü için HC-SR04 ultrasonik uzaklık algılayıcısı kullanılacaktır. Algılayıcı üzerinde giriş ve çıkış olmak üzere iki yüzey bulunmaktadır. Çıkış yüzeyinden ortama belirli bir frekansta ultrasonik ses dalgası salınır. Giriş yüzeyi de çıkış yüzeyinin ortama saldığı belirli frekanslardaki ses dalgalarını toplar. Dalganın çıkış yüzeyinden çıkmasıyla giriş yüzeyine ulaşması arasında geçen süre ölçülerek, cismin uzaklığı hesaplanır. Bu mantıkla çalışan algılayıcı, 2 cm ile 200 cm arasındaki uzaklıkları 1 cm hassasiyetle ölçebilmektedir. Algılayıcı bu aralık dışındaki uzaklıkları istikrarlı olarak ölçememektedir.

Uzaklık Algılayıcısı Algılayıcı üzerinde VCC, Trig, Echo, GND olmak üzere 4 adet pin bulunmaktadır. VCC pini besleme (5 volt), GND pini toprak hattıdır. Trig pini çıkış yüzeyinden dalganın salınmasını sağlayan pindir. Echo pini ise giriş yüzeyine yansıyan dalganın ulaştığını Arduino'ya haber veren pindir. Arduino'da trig pini çıkış, echo pini ise giriş olarak ayarlanmalıdır.

PulseIn() Bir pin üzerindeki bir pulse değeri (HIGH veya LOW) okur. Örneğin, değer HIGH ise, pulseIn () pinin HIGH (YÜKSEK) konumuna gelmesini bekler, zamanlamaya başlar, sonra pinin LOW (DÜŞÜK) olmasını bekler ve zamanlamayı durdurur. Pulse değerinin uzunluğunu mikrosaniye cinsinden döndürür veya zaman aşımı süresince tam darbe alınamıyorsa 0 döndürür.

Mesafe ölçümü Uygulaması-1 Uygulamada algılayıcı yardımıyla ölçülen uzaklığın görülmesi için, uzaklık bilgisinin seri haberleşmeyle bilgisayara aktarılmasını sağlayınız. Gerekli Donanımlar: Mesafe algılayıcısı Ardunio Board

UZAKLIĞIN HESAPLANMASI GEREKLİ AYARLARI YAP BAŞLA SES DALGASININ GERİ DÖNÜŞ SÜRESİNİN HESAPLANMASI EVET SENSÖR AKTİF Mİ?   HAYIR SENSÖRÜ AKTİF HALE GETİR BİTİR

Bağlantı Şeması

Kodlar int trigPin = 6; //Sensorun trig pini Arduinonun //6 numaralı ayağına bağlandı int echoPin = 7; //Sensorun echo pini Arduinonun //7 numaralı ayağına bağlandı long sure; long uzaklik; void setup() { pinMode(trigPin, OUTPUT); //trig pini çıkış olarak ayarlandı pinMode(echoPin,INPUT); //echo pini giriş olarak ayarlandı Serial.begin(9600); //Seri haberlesme baslatildi }

Kodlar void loop() { digitalWrite(trigPin, LOW); /*sensör pasif hale getirildi*/ delayMicroseconds(5); digitalWrite(trigPin, HIGH); /*sensore ses dalgasını üretmesi için emir verildi */ delayMicroseconds(10); digitalWrite(trigPin, LOW); /* Yeni dalgaların üretilmemesi için trig pini LOW* konumuna getirildi */ sure = pulseIn(echoPin, HIGH); /* ses dalgasının geri dönmesi için geçen sure ölçülüyor*/ uzaklik= sure /29.1/2; /*ölçülen sure uzaklığa çevriliyor*/ if(uzaklik > 200) uzaklik = 200; Serial.print("Uzaklik "); Serial.print(uzaklik); /* hesaplanan uzaklık bilgisayara aktarılıyor */ Serial.println(" CM olarak olculmustur."); delay(500); }

Buzzer Buzzer dediğimiz devre elemanını ufak bir hoparlör olarak düşünebiliriz. Hoparlörler kadar yüksek ve detaylı ses üretemeseler de, “bip” leme seslerini çıkartmada oldukça başarılıdırlar. Bildiğimiz gibi hemen hemen her sesin kendine ait bir notası vardır. Notaların da her birine ait belirli bir frekans değeri vardır. Frekans arttıkça çıkan ses tizleşir.

Uygulama-2 Mesafe ölçümü için uygulama yapınız ve mesafe algılayıcısını kullanınız. Algılayıcı ile ortam arasındaki mesafe ilişkisini kurmak için Buzzer kullanınız. Aradaki mesafe azaldıkça Buzzer’dan çıkan sesin frekansını arttırınız ve mesafe arttıkça da ses frekansını azaltınız.

GEREKLİ AYARLARI YAP BAŞLA BUZZER 100 MS BİPLESİN EVET MESAFE 10 CM’DEN AZ MI?   HAYIR BUZZER 200 MS BİPLESİN

Bağlantı Şeması

Uygulama-2 KODLAR #include <NewPing.h> #define TRIGGER_PIN 12   #define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor. #define ECHO_PIN 11 // Arduino pin tied to echo pin on the ultrasonic sensor. #define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). // Maximum sensor distance is rated at 400-500cm. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance. int buzzerPin = 10;

Uygulama-2 KODLAR void setup() { analogWrite(buzzerPin, 255); Serial.begin(9600); } void loop() { int distance; delay(100); Serial.print("Ping: "); distance = sonar.ping_cm(); warning(distance); }

Uygulama-2 KODLAR void warning(int distance ) { Serial.print(distance); Serial.println("cm"); if(distance > 50 || distance == 0) { analogWrite(buzzerPin, 255); delay(100); } else if(distance > 21) { analogWrite(buzzerPin, 150); // Buzzer'i 70 milisaniye delay(70); // boyunca biplet analogWrite(buzzerPin, 255); // Buzzer'i 430 milisaniye delay(430); // boyunca sustur // Eger mesafe 11 cm ve 21 cm arasinda ise else if(distance > 8) { analogWrite(buzzerPin, 150); // Buzzer'i 150 milisaniye delay(150); // boyunca biplet analogWrite(buzzerPin, 255); // Buzzer'i 200 milisaniye delay(200); // boyunca sustur }   // Eger mesafe 10 cm'den kucukse else { 425 milisaniye delay(425); // boyunca sustur

Fonksiyonlar #include <NewPing.h> #define TRIGGER_PIN 12   #define TRIGGER_PIN 12 // Arduino pini, ultrasonik sensör üzerindeki tetikleme pinine bağlar #define ECHO_PIN 11 // Arduino pini ultrasonik sensör üzerindeki echo pinine bağlandı #define MAX_DISTANCE 200 //Ping yapmak istediğimiz maksimum mesafe (santimetre cinsinden). // Maksimum sensör mesafesi 400-500cm olarak derecelendirilmiştir. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //pin’lerin ve max mesafenin ayarlanması

SHARP Infrared Proximity Algılayıcısı

SHARP Infrared Proximity Algılayıcısı Bir kızılötesi ışık demeti parlatarak mesafeyi ölçer ve geri sıçrayan ışığın yoğunluğunu ölçmek için bir fototransitör kullanır. Analog Okuma API'sı ile A0 okumak, muhtemelen sensör değerini okumanın en basit yoludur, ancak en iyi yol değildir. Bu sensörler yüksek bir hata oranına sahiptir, bu nedenle ham değerleri bir yazılım filtresi ile çalıştırmak en iyisidir. "SharpIR" kütüphanesi bu işlemler için kullanılabilir.

SHARP Infrared Proximity Algılayıcısı Bu yakınlık sensörü için etkili mesafe ölçüm aralığı 10-80 cm'dir. Bir nesne en kısa mesafeden daha yakınsa, önemli ölçüde daha yüksek bir analog çıktı bildirir ve beklenen menzil sonuçlarıyla tutarsızdır. Örneğin, bir nesne sensörden 1 cm uzakta olduğunda, analogRead () değeri 322 olarak bildirir. Bununla birlikte, nesne 5 cm uzaklıktayken çıktı 655'dir.