ARDUINO İLE SAYAÇ UYGULAMASI

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan ve Sunan Ali Yasin Çakılcı HUNROBOTX
Advertisements

PLC.
3. EGITIM CNY 70 SHARP SENSÖRLER ULTRASONİK SENSÖRLER LDR.
Nöbetçi Kontrollü Döngü
HAFIZALI KOLTUKLAR VE AYNALAR
PNÖMATİK TEMEL SEVİYE TP101 UYGULAMALAR.
5. EGITIM Mikrodenetleyiciler PIC16F628 – PIC16F877
SENSÖR VE TRANSDUSERLER
ARDUINO İLE ANALOG ÇIKIŞ VERMEK
SENSÖR VE TRANSDUSERLER
16F628 TANIMLAMA KISMI Devrenizi çalıştırmak için 16F628 mikrodenetleyicisini programlarken kullanacağınız tanımlama kısmı verilmiştir. Defterinize not.
ARDUINO DİJİTAL PİN KONTROLÜ
ZAMAN SABİTESİ.
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ARDUINO RÖLE KONTROLÜ.
MİKRODENETLEYİCİ İLE DİJİTAL GİRİŞ KONTROLÜ
TAŞINIRLARIN GİRİŞ İŞLEMLERİ Akış Şeması
ARDUINO İLE SERVO MOTOR KONTROLÜ
SENSÖR VE TRANSDUSERLER
SENSÖR VE TRANSDUSERLER
DİJİTAL ÇIKIŞ KOMUTLARI
MOSTEM Teknik Öğretmenleri
ELEKTRİK MAKİNELERİ VE
Şekil 13. 8B’de verici ve alıcı ayrı, ayrı yerlerdedir
ARDUINO DİJİTAL PİN KONTROLÜ
3. HAFTA 3. Hafta.
ELEKTRİK MAKİNELERİ VE
ARDUINO SENSÖR KONTROLÜ
ARDUINO DİJİTAL GiRİŞ KONTROLÜ
ELEKTRİK MAKİNELERİ VE
ELEKTRİK MAKİNELERİ VE
ELEKTRİK MAKİNELERİ VE
AB’15 Arduino ile sensörler dersi
Sensörler Ders2 Aslı Ergün.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
VARİL DOLUM SİSTEMİ. DOLUM SİSTEMİ GİRİŞLER: STOP BUTONU I0.0 START BUTONUI0.1 ÇIKIŞLAR: YEŞİL LAMBAQ0.0 KIRMIZI LAMBAQ0.1 BAND MOTORU Q0.2 Sistem çalışmıyorken.
Mekatronik Mühendisliği
ÖRNEK PROBLEMLER.
PWM (Pulse Width Modulation- Sinyal Genişlik Modülasyonu)
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
Motor Sürücü Devresi ile Kontrol
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Ü
Arduino ve Gaz Sensörü.
Sensörler Ders 8 Aslı Ergün.
CPT Ton dosyası oluşturma Ver:5.8
Arduino Uno R3 ile Merhaba Dünya Yrd. Doç. Dr. Deniz DAL
MİkroİŞlemcİler ve programlanmasI Mekatronik Mühendisliği Bölümü
DERS 1 Gömülü Sistemlere Giriş
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
Örnekler.
GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
Arduino Eğitimleri Bölüm 5 Dijital Giriş – Çıkış İşlemleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
MBLOCK ile Arduino ve Robotik Kodlama
ARDUİNO Arduino Eğitimleri Bölüm 2 Arduino’ya Giriş
MBLOCK ile Arduino ve Robotik Kodlama
MBLOCK ile Arduino ve Robotik Kodlama
MBLOCK ile Arduino ve Robotik Kodlama
PROJE SUNUMU TEK FAZ MOTOR KONTROLÜ
MBLOCK ile Arduino ve Robotik Kodlama
Arduino Uno R3 ile Merhaba Dünya Dr. Öğr. Üyesi Deniz DAL
Bilişim Teknolojileri Öğrt.
FLOPPY DİSKET İLE MÜZİK
Interrupts.
MBLOCK ile Arduino ve Robotik Kodlama
MBLOCK ile Arduino ve Robotik Kodlama
Sunum transkripti:

ARDUINO İLE SAYAÇ UYGULAMASI

goto komutu bekle: if(digitalRead(5)==1) { istenen işlem } else { goto bekle; } Goto komutu program içinde yönlendirme yapmayı sağlar. Goto komutu işlendiğinde, program goto’nun yanında yazan etikete yönlenir. Örneğin yandaki programda; 5 numaradaki butona basıldığında, program istenen işlemi yapar. Butona basılmadığında ise “bekle” etiketine yönlenerek butonu beklemeye devam eder.

ARDUINO İLE SAYDIRMA İŞLEMİ Dijital giriş pinlerinden alınan verilere göre, dijital çıkış pinlerini kontrol etmek her zaman yeterli olmayabilir. Bazı durumlarda girişe gelen sinyal sayısını saydırarak, çıkışları kontrol etmek gerekebilir.

ARDUINO İLE SAYDIRMA İŞLEMİ Örneğin : bir konveyör üzerinden geçen ürünleri saydırarak, belirli bir ürün sayısından sonra bir konveyörün durmasını veya bir lamba yada buzzer ile sinyal verilmesini sağlayabiliriz.

ARDUINO İLE SAYDIRMA İŞLEMİ Bir ürünün sayılabilmesi için, sensörün önce ürünü görmesi; ve sonra ürünün bant üzerinde biraz ilerleyip sensörün görmeyeceği konuma gelmesi gerekir. Sadece görme durumunda sayılırsa; program çok hızlı tarama yaptığından, bir ürün geçene kadar sayaç değeri milyonlarca sayıya ulaşabilir.

ARDUINO İLE SAYDIRMA İŞLEMİ

ARDUINO İLE SAYDIRMA İŞLEMİ Sensör 0 çıkışı vermektedir !

ARDUINO İLE SAYDIRMA İŞLEMİ Sensör 1 çıkışı vermektedir !

ARDUINO İLE SAYDIRMA İŞLEMİ Ürün sensörün önüne gelene kadar bekler; Ürün sensörün önüne gelince, ürünün görülmeme durumu oluşmasını bekler. Sensör ürünü 1 kez görüp, sonrasında GÖRMEME durumu oluştuğunda sayı 1 artacak , böylece 1 ürünün geçtiği yazılımla algılanacaktır. Aynı işlem tüm ürünler için gerçekleşecektir.

ARDUINO İLE SAYDIRMA İŞLEMİ Kullandığımız optik sensör(MZ80); ALGILAMA DURUMUNDA => 0 (SIFIR) ALGILAMAMA DURUMUNDA => 1 çıkışı vermektedir.

ARDUINO İLE SAYDIRMA İŞLEMİ Yazılımımızda; - 0 değeri gelmiş mi ? (Ürün geldi mi ?) - Eğer 0 gelmişse; 1 değeri gelmiş mi? (Ürün geçti mi ?) şeklinde iç-içe IF yapısından yararlanacağız.

ARDUINO İLE SAYDIRMA İŞLEMİ Sensörümüz 5 nolu pine bağlı olarak düşünülürse ; if(digitalRead(5)==0)  Cisim sensörün önüne geldi mi ? { if(digitalRead(5)==1)  Cisim sensörün önünden geçti mi ? { SAYACI ARTTIR! } }

ÖRNEK UYGULAMA Senaryo : Arduino Uno’nun 5 nolu pininden start butonu, 6 nolu pininden stop butonu, 7 nolu pininden MZ80 optik sensör, 8 nolu pininden transistör yardımı ile kontrol edilen röle üzerinden DC Motor kontrol edilecektir. Start butonuna basılıncaya kadar sistem bekleyecek, butona basılınca Motor çalışarak bant dönmeye başlayacaktır. Bant üzerinden 10 adet ürün geçtiğinde veya STOP’a basılırsa bant otomatik olarak duracaktır ve sayma değeri sıfırlanarak, en başa dönülecek ve START beklenecektir.

int sayac; void setup() { pinMode(5,INPUT); pinMode(6,INPUT); pinMode(7,INPUT); pinMode(8,OUTPUT); bekle: if(digitalRead(5)==1) { digitalWrite(8,OUTPUT); } else { goto bekle; } } Sayma işlemi yapılacağı için, bu komut ile arduino’nun hafızasından sayaç için bir alan ayrılır. Geçen ürün sayısı sayac’ın içine kaydedilecektir. START butonuna BASILMIŞ mı ? BASILMIŞSA Bant çalışsın !! START butonuna BASILMAMIŞ mı ? BASILMAMIŞSA bekle etiketine yönlen !!

else if(sayac==10) { digitalWrite(8,LOW); sayac=0; goto bekle; } } void loop() { if(digitalRead(7)==0) { delay(20); if(digitalRead(7)==1) { sayac=sayac+1; } } else if(digitalRead(6)==1) { digitalWrite(8,LOW); sayac=0; goto bekle; } else if(sayac==10) { digitalWrite(8,LOW); sayac=0; goto bekle; } }

Programı parça parça inceleyelim: if(digitalRead(7)==0) { delay(20); if(digitalRead(7)==1) { sayac=sayac+1; } } Ürün geldi mi ? Ürün GEÇTİ mi ? Ürün geçtiyse sayacı 1 arttır !

Programı parça parça inceleyelim: Stop butonuna BASILDI mı ? else if(digitalRead(6)==1) { digitalWrite(8,LOW); sayac=0; goto bekle; } BASILDIYSA : Bantı DURDUR !! Sayacı SIFIRLA !! En başa dön ve START butonunu BEKLE !!!

Programı parça parça inceleyelim: Sayac 10 oldu mu ? (10 adet ürün geçti mi ?) else if(sayac==10) { digitalWrite(8,LOW); sayac=0; goto bekle; } 10 olduysa ; Bantı DURDUR !! Sayacı SIFIRLA !! En başa dön ve START butonunu BEKLE !!! Devre şemasını kendiniz tasarlayarak, gerekli malzemeleri alıp, programı yükleyerek devrenizi kurup; çalıştırınız.

SENARYO Senaryo : Arduino Uno’nun 5 nolu pininden start butonu, 6 nolu pininden stop butonu, 7 nolu pininden MZ80 optik sensör, 8 nolu pininden transistör yardımı ile kontrol edilen röle üzerinden DC Motor, 9 nolu pininden LED1, 10 nolu pininden LED2 kontrol edilecektir. Start butonuna basılıncaya kadar sistem bekleyecek, butona basılınca Motor çalışarak bant dönmeye başlayacaktır.

SENARYO Senaryo (devamı) Banttan geçen ürün sayısı 5’den büyükse LED1, 8’den büyükse LED2 ışık verecektir. Ürün sayısı 12 olduğunda veya STOP’a basıldığında; LED’ler sönecek, bant duracak, sayaç sıfırlanacak ve program en başa dönerek; tekrar START’a basılma durumu beklenecektir. Gerekli devre ve program tasarımını yaparak, sistemi çalıştırınız.

TEMRİN UYGULAMASI Temrin Adı : Arduino ve sensör ile sayıcı uygulaması Temrin Amacı : Geçen ürün sayısını saydırmak.

TEMRİN UYGULAMASI Senaryo : Arduino Uno’nun 5 nolu pininden start butonu, 6 nolu pininden stop butonu, 7 nolu pininden MZ80 optik sensör-1, 9 nolu pininden MZ80 optik sensör-2, 10 nolu pininden transistör yardımı ile kontrol edilen röle üzerinden DC Motor, 11 nolu pininden LED1, 12 nolu pininden LED2 kontrol edilmektedir. Start butonuna basılıncaya kadar sistem bekleyecek, butona basılınca Motor çalışarak bant dönmeye başlayacaktır. UYGULAMA SÜRENİZ: 50 dkdır.

TEMRİN UYGULAMASI Senaryo (devamı) : Sensör1’in önünden geçen ürün sayısı, Sensör2’nin önünden geçen ürün sayısından büyük olduğunda motor çalışmaya devam edecektir. Sensör1’in önünden geçen ürün sayısı ile Sensör2’nin önünden geçen ürün sayısı eşit olduğunda motor duracaktır. Sensör1’in önünden geçen sayısı 3’den büyükse LED1 ışık versin. Sensör1’in önünden geçen sayısı 5’den büyükse LED2 ışık versin. Sensör1’in önünden geçen ürün sayısı 11 olunca veya STOP’a basılınca bant duracak, LED’ler sönecek, sayaç sıfırlanacek ve tekrar START butonuna basılana kadar beklenecektir.(en başa dönülecek) Gerekli devreyi tasarlayınız, programı yazınız.

İşlem Basamakları ( Yazmayın ) TEMRİN UYGULAMASI İşlem Basamakları ( Yazmayın ) 1) Senaryoyu müsveddeye not edin. 2) Gerekli programı bilgisayarda yazın. 3) Kurmanız gereken devreyi müsveddeye çizin. 4) Öğretmeninizden şema ve program için onay bekleyin. 5) Daha sonra malzemelerinizi alarak uygulamanızı yapın. 6) Devrenizin çalışmasını kontrol ettirmek için el kaldırarak sıra alın.

Defterde temrinle ilgili bulunması gerekenler TEMRİN UYGULAMASI Defterde temrinle ilgili bulunması gerekenler Temrin uygulaması ile alakalı aşağıda istenenleri defterinize düzenli bir şekilde yapın. 1) Senaryo 2) Devre şeması 3) Yazılım 4) Malzeme listesi ** Temrin tablosu çizmenize gerek yoktur.