Robotik Kodlama

Robotik Kodlama
Ana Sayfa

İLGİNİZİ ÇEKEBİLECEK LİNKLER :

26 Nisan 2021 Pazartesi

RFID RC522 ve Arduino Kullanan Kapı Güvenlik Sistemi

 

RFID RC522 ve Arduino Kullanan Kapı Güvenlik Sistemi


RFID RC522 ve Arduino Kullanan Kapı Güvenlik Sistemi: Bu   Arduino tabanlı proje , RC522 RFID modülünün Arduino ile nasıl arayüzleneceği ve kapı güvenlik sisteminin nasıl tasarlanacağı ile ilgilidir. Kapı Güvenlik Sistemi , yetkisiz kişilerin bir odaya veya bir binaya girişini engellemek için kullanılır. Bu tür bir sistem, bir bilgisayarda veya dosya paketinde depolanan önemli verileriniz, bilgileriniz ve araştırmacılarınız varsa çok kullanışlıdır.







Bu tür bir güvenlik sistemi Askeri, Araştırma Merkezleri, Bankalar, Sunucu odaları, Hapishaneler, Devlet daireleri ve Nükleer Santrallerde çok kullanışlıdır. Bu sistem büyük bir yıkımı ve kaybı önler. Proje RFID RC522 modülüne dayanmaktadır; RFID RC522 modülünü bilmiyorum daha sonra açıklayacağım. Arduino Uno, bu projenin beynidir.  LCD , mesajları görüntülemek için kullanılır. Servo motor , kapının açıldığını veya kapandığını belirtmek için kullanılır.

RFID RC522 Kullanan Kapı Güvenlik Sisteminin Blok Şeması RFID RC522 ve Arduino blok şemasını kullanarak Kapı Güvenlik Sistemi

RFID RC522 Kullanan Kapı Güvenlik Sistemi için Gerekli Bileşenler


  • Arduino Uno: Projemde Arduino Uno kullanıyorum çünkü kullanımı kolay ve fiyatı çok ucuz. RFID modülü için 12 dijital pin ve 3.3v'ye ihtiyacım olduğu için projeme de uyuyor. 
  • Servo Motor: Bu projede servo motor kapının açılıp kapandığını belirtmek için kullanılmaktadır. Kullanımı ve programlanması kolaydır ve ayrıca hassas hareket sağlar. Arduino ile servo motor arayüzünde servo hakkında daha fazla bilgi edinin
  • 16 × 2 LCD: LCD, Metin ve özel karakterleri göstermek için kullanılır. Toplam 16 pimi vardır. LCD'nin kontrastını ayarlamak için üçüncü pim ile bir 10K ohm potansiyometre bağlanır. Ayrıca bir arka ışık LED'i içerir. Kullandığımız bu projede LCD , iki satırda 16 karakter görüntüleyebilmektedir. Bu projede, mesajların gösterilmesi için LCD kullanılmıştır.
  • RFID RC522: Bu modül, temassız iletişimde kullanılan MFRC522 IC'ye dayanmaktadır. Hem okuyucu hem de yazar olarak kullanılır. Bu modül sekiz pim içerir. Pim açıklaması aşağıdaki gibidir:

Pinler Açıklama RFID RC522

  1. SDA: I2C-bus seri veri hattı girişi / çıkışı.
  2. SCK: SPI seri saat girişi.
  3. MOSI: SPI master çıkışı, bir slave girişi.
  4. MISO: SPI master girişi, slave çıkışı.
  5. IRQ: Kesme isteği çıkışı, bir kesme olayını gösterir.
  6. GND: Toprak.
  7. RST: sıfırlama ve güç kapatma girişi.
  8. 3V: 3.3 voltluk güç kaynağı.

Bu modül fiyat olarak ucuz ve kullanımı çok kolay bir projedir. Çalışma voltajları 3,3v'dir ve 40mA'ya kadar akım çeker.

  • LCD için uygun dirençler (benim durumumda 10K ohm) ve bağlantılar için jumper kablolar

RFID RC522 ve Arduino Kullanan Kapı Güvenlik Sisteminin Devre ŞemasıRFID RC522 ve Arduino devre şemasını kullanan Kapı Güvenlik Sistemi

RFID RC522 ve Arduino Kullanan Kapı Güvenlik Sistemi Bağlantıları

Arduino bağlantılarına RFID RC522 modülü

  • SDA - D10
  • SCK - D13
  • MOSI - D11
  • MISO - D12
  • IRQ kullanılmıyor
  • GND için GND
  • RST - D9
  • 3.3V ila 3.3V

16 × 2 LCD'den Arduino bağlantılarına:

  • RS veya D7
  • D6'ya etkinleştir
  • D4 - D5
  • D5 - D4
  • D6 - D3
  • D7 - D2
  • R / W toprağa
  • VSS toprağa
  • 5V'a VCC pini

Servo - Arduino Bağlantısı

  • Soldan başlayarak
  • 1'i toprağa sabitleyin.
  • Pin 2 - 5V.
  • Pin 3 - D8.

RFID RC522 Kullanılarak Kapı Güvenlik Sisteminin Çalışması

Kullanıcı jetonu modülün yanına getirdiğinde jetonu algılar ve değerini okur. Değer kodda tanımlananla aynı ise LCD'de Erişim İzni Verildi mesajı görüntülenir ve kullanıcıya kapıyı açar. Kodda da tanımlanan bazı gecikmelerden sonra kapı otomatik olarak kapanır. Bu işlem, kullanıcı her erişmek istediğinde gerçekleşir. Birden fazla kullanıcı olabilir, ancak her kullanıcının benzersiz bir simgesi vardır.



Code

#include <deprecated.h>
#include <MFRC522.h>
#include <MFRC522Debug.h>
#include <MFRC522Extended.h>
#include <MFRC522Hack.h>
#include <require_cpp11.h>
#include<RFID.h>
#include <SPI.h>
#include <Servo.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
#define val0 117 // chnage the value according to token no
#define val1 134
int pos = 0;
/* Define the DIO used for the SDA (SS) and RST (reset) pins. */
#define SDA_DIO 10
#define RESET_DIO 9
RFID RC522(SDA_DIO, RESET_DIO);

void setup()
{ 
myservo.attach(8); 
Serial.begin(9600);
/* Enable the SPI interface */
SPI.begin(); 
/* Initialise the RFID reader */
RC522.init();
lcd.begin(16, 2);

}

void loop()
{
byte i=0;
int ID;
if (RC522.isCard())
{
RC522.readCardSerial();
Serial.println(RC522.serNum[i],DEC);
Serial.println("Card detected:");
ID=RC522.serNum[0];}
delay(500);
if( val0 == ID)
{ lcd.clear();
lcd.print("Access Granted");
lcd.setCursor(0, 1);
lcd.print("Welcome Haris");
delay(1800); 
lcd.clear();
lcd.print("Door Opening");
delay(1500);
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
delay(5000);
lcd.clear();
lcd.print("Door Closing");
delay(1500);
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
} 
else
{
lcd.clear();
lcd.print("Door Security ");
lcd.setCursor(0, 1);
lcd.print("System ");
}
if( val1 == ID)
{ lcd.clear();
lcd.print("Access Granted");
lcd.setCursor(0, 1);
lcd.print("Welcome Bilal");
delay(1800); 
lcd.clear();
lcd.print("Door Opening");
delay(1500);
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
delay(5000);
lcd.clear();
lcd.print("Door Closing");
delay(1500);
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
} 
else
{
lcd.clear();
lcd.print("Door Security ");
lcd.setCursor(0, 1);
lcd.print("System ");
}
}


Bahadır ÖZGEN

Electronic Robotic Coding Research and Development 1975 - ∞

Learn Forever...  
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com

25 Nisan 2021 Pazar

Toprak Nemi Sensörü Nasıl Çalışır ve Arduino ile Nasıl Çalışır?

 

Toprak Nemi Sensörü Nasıl Çalışır ve Arduino ile Nasıl Çalışır?





'Akıllı bahçe' terimini duyduğunuzda aklınıza gelenlerden biri de toprak nemini ölçen ve bitkilerinizi otomatik olarak sulayan bir sistemdir.

Bu tür bir sistemle bitkilerinizi sadece ihtiyaç duyulduğunda sulayabilir ve aşırı sulama veya yetersiz sulama yapmazsınız.

Böyle bir sistem kurmak istiyorsanız kesinlikle bir Toprak Nemi Sensörüne ihtiyacınız olacaktır.

Toprak Nemi Sensörü nasıl çalışır?
Toprak Nemi Sensörünün Arduino ile Arayüz Edilmesi Eğitimi

Toprak nem sensörünün çalışması oldukça basittir.

İki açık iletkeni olan çatal şekilli prob , direnci topraktaki su içeriğine göre değişen değişken bir direnç (tıpkı bir potansiyometre gibi) görevi görür .

toprak nem sensörü working.gif

Bu direnç, toprak nemi ile ters orantılıdır:

  • Toprakta ne kadar su varsa, daha iyi iletkenlik anlamına gelir ve daha düşük bir dirençle sonuçlanır.
  • Topraktaki daha az su, zayıf iletkenlik anlamına gelir ve daha yüksek bir dirençle sonuçlanacaktır.

Sensör, dirence göre bir çıkış voltajı üretir, bu da ölçerek nem seviyesini belirleyebiliriz.

Toprak nem sensörü modülünün iki bileşeni vardır.

Prob

Sensör, toprağa veya su içeriğinin ölçülecek başka herhangi bir yere giden iki açık iletkeni olan çatal şeklinde bir sonda içerir.

Daha önce de belirtildiği gibi direnci toprak nemine göre değişen değişken bir direnç görevi görür.

toprak nem sensörü probu

Modül

Sensör ayrıca, probu Arduino ya bağlayan bir elektronik modül içerir.

Modül, probun direncine göre bir çıkış voltajı üretir ve bir Analog Çıkış (AO) pininde bulunur.

Aynı sinyal, sayısallaştırmak için bir LM393 Yüksek Hassasiyet Karşılaştırıcısına beslenir ve bir Dijital Çıkış (DO) pininde sağlanır.

toprak nem sensörü hassasiyet ayarı

Modül, dijital çıkışın (DO) hassasiyet ayarı için dahili bir potansiyometreye sahiptir.

Bir potansiyometre kullanarak bir eşik belirleyebilirsiniz; Böylece nem seviyesi eşik değerini aştığında, modül DÜŞÜK aksi takdirde YÜKSEK çıkacaktır.

Bu kurulum, belirli bir eşiğe ulaşıldığında bir eylemi tetiklemek istediğinizde çok kullanışlıdır. Örneğin, topraktaki nem seviyesi bir eşiği geçtiğinde, su pompalamaya başlamak için bir röleyi etkinleştirebilirsiniz. Anladın!

İpucu: Hassasiyeti artırmak için düğmeyi saat yönünde, azaltmak için saat yönünün tersine çevirin.

toprak nem sensörü gücü ve durum ledleri

Bunun dışında modülün iki LED'i vardır. Modüle güç verildiğinde Güç LED'i yanacaktır. Dijital çıkış DÜŞÜK olduğunda Durum LED'i yanacaktır.

Toprak Nemi Sensörü Pin Çıkışı

Toprak nem sensörünün kullanımı çok kolaydır ve bağlanması gereken sadece 4 pime sahiptir.

toprak nem sensörü pin çıkışı

AO (Analog Çıkış) pin bize 0V ile besleme değeri arasında bir analog sinyal verir ve Arduino'nuzdaki analog girişlerden birine bağlanacaktır.

DO (Dijital Çıkış)pin dahili karşılaştırıcı devresinin Dijital çıkışını verir. Arduino'daki herhangi bir dijital pime veya doğrudan 5V'luk bir röleye veya benzeri bir cihaza bağlayabilirsiniz.

VCCpin sensör için güç sağlar. Sensöre 3,3V - 5V arasında güç sağlanması önerilir. Lütfen analog çıkışın sensör için sağlanan voltaja bağlı olarak değişeceğini unutmayın.

GND bir toprak bağlantısıdır.

Analog Çıkışı Kullanarak Toprak Nemini Algılama

Modülün hem analog hem de dijital çıkış sağladığını bildiğiniz için ilk deneyimiz için analog çıkışı okuyarak toprak nemini ölçeceğiz.

Kablolama

Toprak nem sensörünü Arduino ya bağlayalım.

Önce sensöre güç sağlamanız gerekir. Bunun için modül üzerindeki VCC pinini Arduino'daki 5V'a bağlayabilirsiniz.

Bununla birlikte, bu sensörlerle ilgili yaygın olarak bilinen bir sorun, nemli bir ortama maruz kaldıklarında kısa ömürlülükleridir. Proba uygulanan gücün olması, sürekli olarak korozyon oranını önemli ölçüde hızlandırır .

Bunun üstesinden gelmek için, sensöre sürekli güç sağlamamanızı, sadece okumaları alırken ona güç vermenizi öneririz.

Bunu başarmanın kolay bir yolu, VCC pinini bir Arduino'nun dijital pinine bağlamak ve ihtiyacınıza göre YÜKSEK veya DÜŞÜK olarak ayarlamaktır.

Ayrıca modül tarafından çekilen toplam güç (her iki LED yanarken) yaklaşık 8 mA'dır, bu nedenle modülü bir Arduino'daki dijital bir pimden kapatmakta sorun yoktur .

O halde modül üzerindeki VCC pinini bir Arduino'nun dijital pin # 7'sine ve GND pinini toprağa bağlayalım.

Son olarak, modül üzerindeki AO pinini Arduino'nuzdaki A0 ADC pinine bağlayın.

Aşağıdaki çizim kablolamayı göstermektedir.

Analog çıkışı okumak için arduino ile toprak nem sensörü kablolama

Kalibrasyon

Toprak nem sensörünüzden doğru okumalar almak için, önce onu izlemeyi planladığınız belirli toprak türü için kalibre etmeniz önerilir.

Farklı toprak türleri sensörü etkileyebilir, bu nedenle kullandığınız toprak türüne bağlı olarak sensörünüz az ya da çok hassas olabilir.

Verileri kaydetmeye veya olayları tetiklemeye başlamadan önce, sensörünüzden gerçekte hangi okumaları aldığınızı görmelisiniz.

Toprak neme tamamen doyduğunda -vs- mümkün olduğunca kuru olduğunda sensörünüzün hangi değerleri çıkardığını not etmek için aşağıdaki çizimi kullanın.

// Sensor pins
#define sensorPower 7
#define sensorPin A0

void setup() {
	pinMode(sensorPower, OUTPUT);
	
	// Initially keep the sensor OFF
	digitalWrite(sensorPower, LOW);
	
	Serial.begin(9600);
}

void loop() {
	//get the reading from the function below and print it
	Serial.print("Analog output: ");
	Serial.println(readSensor());
	
	delay(1000);
}

//  This function returns the analog soil moisture measurement
int readSensor() {
	digitalWrite(sensorPower, HIGH);	// Turn the sensor ON
	delay(10);							// Allow power to settle
	int val = analogRead(sensorPin);	// Read the analog value form sensor
	digitalWrite(sensorPower, LOW);		// Turn the sensor OFF
	return val;							// Return analog moisture value
}

Çizimi çalıştırdığınızda, seri monitörde aşağıdaki okumalara yakın bir değer göreceksiniz:

  • toprak kuruduğunda (~ 850)
  • toprak tamamen ıslandığında (~ 400)
toprak nem sensörünün kalibre edilmesi

Bu test biraz deneme yanılma alabilir. Bu okumaları iyi bir şekilde ele aldığınızda, bir eylemi tetiklemeyi düşünüyorsanız, bunları eşik olarak kullanabilirsiniz.

Son Yapı

Kalibrasyon değerlerine bağlı olarak, aşağıdaki program toprağın durumunu belirlemek için aşağıdaki aralıkları tanımlar:

  • <500 çok ıslak
  • 500-750 hedef aralıktır
  • > 750 sulanacak kadar kuru
/* Change these values based on your calibration values */
#define soilWet 500   // Define max value we consider soil 'wet'
#define soilDry 750   // Define min value we consider soil 'dry'

// Sensor pins
#define sensorPower 7
#define sensorPin A0

void setup() {
	pinMode(sensorPower, OUTPUT);
	
	// Initially keep the sensor OFF
	digitalWrite(sensorPower, LOW);
	
	Serial.begin(9600);
}

void loop() {
	//get the reading from the function below and print it
	int moisture = readSensor();
	Serial.print("Analog Output: ");
	Serial.println(moisture);

	// Determine status of our soil
	if (moisture < soilWet) {
		Serial.println("Status: Soil is too wet");
	} else if (moisture >= soilWet && moisture < soilDry) {
		Serial.println("Status: Soil moisture is perfect");
	} else {
		Serial.println("Status: Soil is too dry - time to water!");
	}
	
	delay(1000);	// Take a reading every second for testing
					// Normally you should take reading perhaps once or twice a day
	Serial.println();
}

//  This function returns the analog soil moisture measurement
int readSensor() {
	digitalWrite(sensorPower, HIGH);	// Turn the sensor ON
	delay(10);							// Allow power to settle
	int val = analogRead(sensorPin);	// Read the analog value form sensor
	digitalWrite(sensorPower, LOW);		// Turn the sensor OFF
	return val;							// Return analog moisture value
}

Her şey yolundaysa, aşağıdaki çıktıyı seri monitörde görmelisiniz.

toprak nem sensörü analog çıkışı

Dijital Çıkış Kullanarak Toprak Nemini Algılama

İkinci deneyimiz için dijital çıktıyı kullanarak toprağın durumunu belirleyeceğiz.

Kablolama

Devreyi önceki örnekten kullanacağız. Bu sefer sadece ADC pinine olan bağlantıyı kaldırmamız ve modül üzerindeki DO pinini Arduino'daki dijital pin # 8'e bağlamamız gerekiyor.

Devrenizi aşağıda gösterildiği gibi bağlayın:

dijital çıkışı okumak için arduino ile toprak nem sensörü kablolama

Kalibrasyon

Modül, dijital çıkışı (DO) kalibre etmek için dahili bir potansiyometreye sahiptir.

Potansiyometrenin düğmesini çevirerek bir eşik ayarlayabilirsiniz. Böylece nem seviyesi eşik değerini aştığında, Durum LED'i yanacak ve modül DÜŞÜK çıkacaktır.

toprak nem sensörünün dijital çıkışı

Şimdi sensörü kalibre etmek için, bitkiniz sulanmaya hazır olduğunda probu toprağa yerleştirin ve Durum LED'i AÇIK olacak şekilde tencereyi saat yönünde ayarlayın ve ardından sadece LED KAPALI olana kadar tencereyi saat yönünün tersine ayarlayın.

İşte bu, sensörünüz artık kalibre edilmiş ve kullanıma hazırdır.

Arduino Kodu

Devre kurulduktan sonra, aşağıdaki çizimi Arduino'nuza yükleyin.

// Sensor pins
#define sensorPower 7
#define sensorPin 8

void setup() {
	pinMode(sensorPower, OUTPUT);

	// Initially keep the sensor OFF
	digitalWrite(sensorPower, LOW);

	Serial.begin(9600);
}

void loop() {
	//get the reading from the function below and print it
	int val = readSensor();
	Serial.print("Digital Output: ");
	Serial.println(val);

	// Determine status of our soil moisture situation
	if (val) {
		Serial.println("Status: Soil is too dry - time to water!");
	} else {
		Serial.println("Status: Soil moisture is perfect");
	}

	delay(1000);	// Take a reading every second for testing
					// Normally you shoul take reading perhaps every 12 hours
	Serial.println();
}

//  This function returns the analog soil moisture measurement
int readSensor() {
	digitalWrite(sensorPower, HIGH);  // Turn the sensor ON
	delay(10);              // Allow power to settle
	int val = digitalRead(sensorPin); // Read the analog value form sensor
	digitalWrite(sensorPower, LOW);   // Turn the sensor OFF
	return val;             // Return analog moisture value
}

Her şey yolundaysa, aşağıdaki çıktıyı seri monitörde görmelisiniz.


toprak nem sensörü dijital çıkışı
Fikir olması bakımından bu devrenin de girişleri farklı ilave olarak seviyeyi led ile gösterebiliriz.


Bu devre de indicatör yani gösterge olarak Led yerine Buzzer ile bir sistem oluşturulmuştur.Giriş ve çıkış portları farklıdır.





Buradaki devrede de yine fikir olması için hem led hem de buzzer kullanılmıştır.


Aşağıdaki devrede de OLED ekran ile tasarım yapılmıştır.

Bahadır ÖZGEN

Electronic Robotic Coding Research and Development 1975 - ∞

Learn Forever...  
If you want, let's learn together...
https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com



ULN2003 tanıtımı, pin ve özellikleri

ULN2003 tanıtımı, pin çıkışı, örnek ve özellikler

Bu eğitim, ULN2003'e giriş niteliğindedir. Tüm pinlerin özelliklerini, uygulamalarını, pinlerini ve ayrıntılarını ve ULN2003 ile ilgili bu kılavuzun sonunda bir örneği göreceğiz. Aynı zamanda bir röle sürücüsü olarak da kullanılır.







Neden ULN2003'e ihtiyacımız var?

Mikrodenetleyici ve Mikroişlemci dahili bir programa veya tek bir Kontrol Ünitesinin çıkış ve giriş pinlerindeki voltajı kontrol eden bir dizi fonksiyona sahiptir. Bu kontrol fonksiyonları ayrıca tüm kontrolör devresini etkilemeden zamanlayıcı, PWM , kesintiler ve anahtarlama yöntemini dahili olarak oluşturmamıza yardımcı olur Birden çok işlev üretme sorunu basit bir denetleyici ve işlemci tarafından çözüldü.

Şimdi sorun, yüksek voltajlı DC cihazlarının devresinin nasıl kontrol edileceği ve en aza indirileceğiydi. Enerji verimliliği nedeniyle yüksek voltajlı DC motorların kullanımı oldukça yaygındı. Yaklaşık 50V ve 500mA'ya eşit olan Yüksek DC yükünü kontrol etmek için Darlington transistörlü (NPN) mantıksal bir devre kullanıldı. Bu devre yalnızca tek bir yük için kullanılabilir. Bu sorunu çözmek için bir IC adı ULN2003 tanıtıldı.

ULN2003 Giriş

ULN2003 birden fazla işlevle birlikte gelir. Aynı anda 7-Yükleri kontrol etmeye yardımcı olabilecek yedi Darlington transistörüne sahiptir. 16 pimli ve SOP, PDIP, TSSOP veya SOIC gibi çoklu paketlerle birlikte gelir. Bu, kullanıcının bir transistör devresi olarak çok fazla yer kaplamadan IC'yi herhangi bir devre ile kurmasına yardımcı olabilir. Çıkış güç kaynağı tüm çıkışlara ayrı ayrı uygulanabilir, ancak giriş tüm mikro denetleyiciler ve mikro işlemcilerle aynı olacaktır.

 Herhangi bir yük için voltaj aralığı 50V'dur, ancak akım aralığı 500mA'dır ve bu, birden fazla çıkış pini birleştirilerek artırılabilir. ULN2003, geri emf'den dahili güvenlik koruması ile birlikte gelir. Cihaza koruma sağlayan dahili geri dönüş koruma sistemine sahiptir.

ULN2003 IC'nin pin çıkışı

ULN2003 pin çıkışı

PIN YAPILANDIRMASI Açıklama 

Pin1 (Giriş 1)Bunların hepsi çıkış pinlerini kontrol etmek için kullanılan giriş pinleridir. Giriş mantığı Yüksek (5 Volt) ise, aksi takdirde Çıkış olacaktır. Giriş 1, Çıkış 1'i etkileyecektir. Giriş 2, Çıkış 2'yi etkileyecektir ve bu, Giriş 7 ve Çıkış 7'ye kadar devam edecektir.
Pin2 (Giriş 2)
Pin3 (Giriş 3)
Pin4 (Giriş 4)
Pin5 (Giriş 5)
Pin6 (Giriş 6)
Pin7 (Giriş 7)
Pin8 (GND)GND pini, hem çıkış güç kaynağının Topraklaması hem de bir giriş güç kaynağı ile ortak bir zemin olarak kullanılacaktır.
Pin9 (COM)Birden çok işlev için kullanılan ortak pim. Çoğunlukla tüm çıkışları açmak için test pinleri olarak bilinir. Bazı durumlarda endüktif yük olarak da kullanılır.
Pin10 (Çıkış 7)Çıkış pimleri, ULN2003'teki ortak topraktır. Yükü işlevsel hale getirmek için 50V ve 500mA dahilindeki herhangi bir yükü dışarıdan Çıkışa bağlayın.
Pin11 (Çıkış 6)
Pin12 (Çıkış 5)
Pin13 (Çıkış 4)
Pin14 (Çıkış 3)
Pin15 (Çıkış 2)
Pin16 (Çıkış 1)

ULN2003 IC'nin ÖZELLİKLERİ

  • Yaklaşık 50V maksimum yüksek DC voltaj aralığını kaldırabilir
  • 100V voltaj aralığına sahip başka bir versiyonda gelir.
  • Akım işleme sistemi ayrıca her giriş için 500mA'dır.
  • Aynı yük için iki pim kullanılarak akım aralığı artırılabilir.
  • Cihazı Geri EMF Korumasından korumak için dahili bir alkış diyotu ile birlikte gelir
  • ULN2003, dahili geri dönüş sistemi korumasına ve endüktif yük için kullanılabilen bir pime sahiptir.
  • Arduino, Mikroişlemci veya herhangi bir kontrolör veya IC gibi herhangi bir düşük voltajlı cihazla kontrol edebiliriz.
  • SOP, PDIP, TSSOP veya
  • ULN2003 çıkışı tüm TTL ve 5-V CMOS mantığıyla uyumludur
  • Doğrudan kendisine bağlı herhangi bir güç kaynağı kullanmadan çalışır.

ULN2003 NEREDE VE NASIL KULLANILIR? 

ULN2003, yaklaşık 50V yüksek DC voltajını kontrol etmemiz gereken herhangi bir noktada kullanılabilir. Bu IC'yi kullanmak için mükemmel çalışmasını sağlamak için izlememiz gereken bazı kurallar vardır. Giriş Pinlerine mantıksal sinyal sağlamak için herhangi bir IC veya Denetleyiciyi Giriş Kaynağı olarak ekleyin. Ardından yükün bir ucunu çıkış pimi ile bağlayın. Yükün diğer ucunu 0 - 50V Güç kaynağı ile bağlayın. Ardından, ULN2003 ile senkronizasyonu sağlamak için hem Denetleyicinin Topraklarını hem de Güç Kaynağını ULN2003 Toprak pini ile bağlayın. COM (Pin 9) olarak pin vardır. Bu pimi zemine bir düğme aracılığıyla takın.

Proteus Simülasyonu

Bu düğme tüm pinleri baypas etmek için kullanılabilir ve çıktı üretebilir. Endüktif yük koruması durumunda, bu COM pini IC güvenliği için etkili olacaktır. Her motorun güç kaynağı farklı olabilir, ancak zemin ortak kalmalıdır.


ULN2003 UYGULAMALARI

  • 7 röleler tek bir ULN2003 ile kontrol edilebilir
  • Çoğunlukla step motoru kontrol etmek için kullanılır.
  • Endüktif yüklerin ULN2003 kullanılarak kontrol edilmesi de kolaydır
  • Yüksek yüklü LED Ampüller buradan kontrol edilebilir.
  • Mantık Tamponunu çoğunlukla Dijital Elektronikte kullanmak için etkilidir.
  • Mikrodenetleyiciler ile torç sensörü olarak geniş kullanım alanına sahiptir.

Birden Fazla Yükü Kontrol Etmek İçin ÖRNEK 

Bu tek cihazla birden fazla cihazı idare edebiliriz. ULN2003 ile farklı yükleri farklı bir güç kaynağıyla bağlamanız yeterlidir. Ardından her bir yükü farklı bir güç kaynağına bağlayın. Bundan sonra IC ile zemini paylaşın. Her Giriş pini, her çıkışı kontrol eder. Şimdi, bu girişe High Logic uygulayarak açık olması gereken cihazı açın. Tüm pinleri aynı anda test etmek veya tüm cihazları aynı anda açmak için o girişte Yüksek mantık uygulayın. ULN2003'ü kullanırken her zaman tüm güç ve kontrolörlerin Topraklama'nın ULN2003 ile ortak olması gerektiğini unutmayın. Toprak, ULN2003 ile ortak değilse, çıkış üzerinde kontrolü olmayacaktır.

tek ULN 2003 ile çoklu yükler

Şekil 3: Tek bir IC ile çoklu yükler

ULN aynı anda birden fazla cihazı kontrol edebilir veya her cihazı farklı bir zamanda da kontrol edebilir. ULN2003'ün kullanımı kolaydır, ancak her IC ULN2003'ün geçerli kural ve yönetmeliklerine de kendi gereksinimlerine uyulması gerekir. Bir kullanıcı, endüktif yük veya başka herhangi bir güç devresi sorunu nedeniyle yanabileceğinden daha fazla kurallara uymuyorsa. Eğer yanmamışsa şanslısınız ve iğneleri yukarıdakilere göre değiştiriniz.



Bahadır ÖZGEN

Electronic Robotic Coding Research and Development 1975 - ∞

Learn Forever...

https://roboticcode2020.blogspot.com/
bahadirozgen1975@gmail.com