Arduino
OKUDUĞUNUZ KONU
Arduino ile Konveyör Bant Sistemi (Ürün Sayma)
25

Arduino ile Konveyör Bant Sistemi (Ürün Sayma)

Yazar : Kenan Yemencioğlu26 Mayıs 2016

Merhaba arkadaşlar, uzun bir okul telaşesinden sonra hazır mezuniyete de 4 gün varken sizlere konveyör projemin ürün sayma kısmından bahsedeceğim.Konveyör sistemleri bildiğiniz gibi bant sistemleridir ve otomasyon projelerinde büyük rol oynamaktadır.Bu projede;

1.Arduino Uno (1 Adet)
2.MZ80 Kızılötesi Sensör (1 Adet)
3.16X2 LCD Ekran (1 Adet)
4.I2C (LCD Ara Birim) (1 Adet)
5.4X3 Keypad
6.Led (1 Adet) /Veya Röle (Motoru Kontrol Etmek İçin)

Sizler için yeterli olacaktır.Dediğim gibi bu bant sisteminin sadece ürün girişi, ürün sayma, durum bildirimi ve bant sisteminin aktif ve pasif olma kısmını oluşturmaktadır.

bantsistemi

#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7);
#include <Keypad.h>//Keypad kütüphanesi eklendi...
byte motor = 4, mz80 = 5;
int sayac = 0, adet = 0;
const byte SATIR = 4;//4 satır için sabit tanımlanıyor...
const byte SUTUN = 3;//3 sütun için sabit tanımlanıyor...
char tuslar[SATIR][SUTUN] = {
{'1', '2', '3'},
{'4', '5', '6'},
{'7', '8', '9'},
{'*', '0', '#'},
};//4X3 lük matris oluşturuldu...
byte rowPins[SATIR] = { 9, 8, 7, 6 }; //Satır pinlerinin dijital girişleri ayarlanıyor...
byte colPins[SUTUN] = { 12, 11, 10 };//Sütun pinlerinin dijital girişleri ayarlanıyor...
Keypad kpd = Keypad( makeKeymap(tuslar), rowPins, colPins, SATIR, SUTUN );//Satır ve sütun için tuş haritası oluşturuluyor...
void setup() {
lcd.setBacklightPin(3, POSITIVE);
lcd.setBacklight(HIGH); // NOTE: You can turn the backlight off by setting it to LOW instead of HIGH
lcd.begin(16, 2);
lcd.print("Adet Gir:");
pinMode(mz80, INPUT);//Sensör giriş olarak tanımlanıyor...
pinMode(motor, OUTPUT);//Motorun bağlı olacağı röleyi çıkış olarak ayarlıyoruz...
}
void loop() {
char tus = kpd.getKey(); //Keypadden gelen değer okunup adete gönderiliyor...
if (tus)//Tuşa basıldığında;
{
lcd.print(tus);
adet = tus - 48;//Char cinsinden int cinsine çevir...
}
if (digitalRead(mz80) == 0) //Sensör ürünü gördü mü?
{
delay(20);//Bekleme...
if (digitalRead(mz80) == 1) //Ürün sensörün önünden geçtiyse;
{
lcd.clear();
sayac++;//Her ürün geçtiğinde sayı 1 arttırılacak...
lcd.print("Adet:");
lcd.println(sayac);//Sayacı ekrana yazdırıyoruz...
if (sayac == adet) //Eğer sayaç değişkeni girilen adet sayısana eşitse;
{
digitalWrite(motor, HIGH);//Motor dursun...
lcd.println("Bitti");//Bitti yazsın...
sayac = 0;//Sayaç sıfırlansın...
adet = 0;//Adeti sıfırla...
delay(5000);//5 saniye bekle...
lcd.clear();
lcd.print("Adet Giriniz:");
lcd.print(adet);
adet = 0;
sayac = 0;
}
}
}
if (tus == '*')
{
digitalWrite(motor, HIGH);//Durdur
lcd.print("Bitti:");
lcd.print(sayac);
adet = 0;
sayac = 0;
}
if (tus == '#')
{
digitalWrite(motor, LOW);//Başlat
lcd.print(sayac);
lcd.setCursor(0, 1);
lcd.print(tus);
}
}
SİZCE NASIL OLMUŞ?
Beğendim
59%
İlginç
14%
Eh İşte
11%
Anlamadım
11%
Kötü
0%
Berbat
5%
YAZAR HAKKINDA
Kenan Yemencioğlu
Kenan Yemencioğlu
1991 Diyarbakır doğumluyum.İlk ve Orta öğretimimi Kocaeli'de tamamladım. GATEM Elektrik - Elektronik Bölümü Kontrol ve Otomasyon Alanından Mezun olduktan sonra 1 sene kadar özel bir otomasyon şirketinde çalıştıktan sonra TRT Çocuk kanalında yayınlanan 2 adet projede 3D modelleme, animasyon ve render alanında 4 yıl çalıştım daha sonra eğitimime devam etmek için üniversiteye başladım şuanda Mehmet Akif Ersoy Üniversitesi Mekatronik bölümü son sınıf öğrencisiyim. İnternet of things, akıllı otomasyon ve kontrol sistemleri, yapay zeka üzerine kendimi geliştirmekteyim.Uzaktan kontrol sistemleri ve gömülü sistemler hakkında çalışmalarım mevcut.Ayrıca şuanda arduino ile nesnelerin interneti ve gömülü sistemler hakkında bir kitap bitirme aşamasındayım.
25 YORUMLAR

YORUM YAP