Ders 07: Arduino'dan Ek 5V ve GND Alma | Arduino Adım Adım Kurs
Bu derste, Robojax Arduino Adım Adım Kursu kapsamında, Arduino kartınızdaki 5V ve GND bağlantılarının tükenmesi gibi yaygın bir soruna pratik bir çözüm keşfediyoruz. İster bir servo motor, ister bir LCD ekran, ister bir ultrasonik sensör veya birden fazla cihazı aynı anda beslemenizi gerektiren bir proje geliştiriyor olun, Arduino Uno veya Nano üzerindeki sınırlı sayıdaki güç pini hızla bir darboğaz haline gelebilir. Bu kılavuz, herhangi bir dijital I/O pinini ek bir 5V kaynağı veya toprak bağlantısı olarak yaratıcı bir şekilde nasıl kullanabileceğinizi göstererek, düşük akımlı cihazlar için harici bir güç kaynağına ihtiyaç duymadan birden fazla bileşeni besleme esnekliği sağlar.
Bu teknik, aşağıdakiler de dahil olmak üzere birçok gerçek dünya uygulaması için özellikle kullanışlıdır:
- Tek bir projede bir servo motorun yanında küçük bir OLED veya LCD ekranı beslemek.
- Bir ultrasonik sensör ve bir PIR hareket dedektörü gibi birden fazla sensöre aynı anda güç sağlamak.
- Yeni bir modül için hızlı ve kolay bir güç kaynağına ihtiyaç duyduğunuz breadboard üzerinde geçici test düzenekleri oluşturmak.
- Temiz bir 5V referansı gerektiren düşük güçlü LED'leri veya lojik seviye devrelerini sürmek.
Arduino Güç Sınırlamalarını Anlamak
Çözüme dalmadan önce, Arduino kartınızın güç mimarisini anlamak çok önemlidir. Standart bir Arduino Uno'da genellikle tek bir özel 5V pini bulunur. Videoda belirtildiği gibi bazı üçüncü taraf kartlarda ikinci bir 5V pini bulunabilir, ancak o zaman bile daha fazlasına ihtiyaç duyabilirsiniz (videoda 00:26'da).
Bu pinlerden çekebileceğiniz akım miktarı güç kaynağınıza bağlıdır. Kartı USB üzerinden besliyorsanız, akım kullandığınız USB bağlantı noktası veya şarj cihazı tarafından sınırlanır; örneğin, 1A'lik bir şarj cihazı 1A'ya kadar izin verirken, 2.4A'lik bir şarj cihazı daha fazlasına izin verecektir (videoda 01:55'te). 7-12V beslemeli barrel jack kullanıyorsanız, akım, tipik akım sınırı 1.1A olan kart üzerindeki AMS1117 voltaj regülatör çipi tarafından düzenlenir (videoda 02:20'de).
Kart üzerindeki ICSP başlığını da not etmek önemlidir. Videoda açıklandığı gibi, bu başlık SPI (Seri Çevresel Arayüz) pinlerine erişim sağlar ve sağ taraftaki pin aslında VCC'dir (5V), son pin ise GND'dir (videoda 00:54'te). Bu, 5V rayına erişmek için size başka bir fiziksel konum daha verir.
Ancak, hatırlanması gereken en kritik sınırlama dijital I/O pinleri içindir. Resmi Arduino belgelerine göre, her dijital pin maksimum 20 miliamper (mA) sağlayabilir veya emebilir (videoda 03:30'da). Bu, LED'ler, lojik devreler ve birçok sensör için fazlasıyla yeterlidir, ancak motorlar veya yüksek güçlü servolar gibi yüksek akımlı cihazlar için yetersizdir. Bu tür cihazlar için her zaman ana 5V pinini veya harici bir güç kaynağı kullanmalısınız.
Donanım ve Bileşenler
Bu gösterim için aşağıdaki bileşenlere ihtiyacınız olacak:
- 1x Arduino kartı (Uno, Nano veya benzeri)
- 1x LED (herhangi bir renk)
- 1x 1kΩ direnç
- 1x Breadboard
- Jumper kablolar
- (İsteğe bağlı) Gösterim için bir LCD 1602 Ekran veya bir Röle modülü
Bağlantı Kılavuzu
Bu projenin bağlantısı basittir, çünkü öncelikle bir dijital pini bileşeninizin güç rayına ve başka bir dijital pini toprağına bağlamayı içerir. Videoda eğitmen bunu bir LED'i besleyerek gösterir.
Kurulum şu şekildedir:
- LED'i bağlayın: LED'in anotunu (uzun bacak) Arduino'nuzdaki dijital pin 5'e 1kΩ akım sınırlama direnci üzerinden bağlayın.
- Toprağı bağlayın: LED'in katodunu (kısa bacak) doğrudan Arduino'nuzdaki dijital pin 2'ye bağlayın.
Bu basit devre, pin 5'in 5V kaynağı ve pin 2'nin toprak olarak çalışmasını sağlayarak devreyi tamamlar (videoda 06:05'te).
Daha ölçeklenebilir bir yaklaşım için, videoda gösterildiği gibi gücü dağıtmak üzere bir breadboard kullanabilirsiniz. Breadboard'un kırmızı güç rayını pin 5'e ve mavi/siyah toprak rayını pin 2'ye bağlayarak, bileşenleri ilgili raylara takarak birden fazla bileşeni kolayca besleyebilirsiniz (videoda 06:59'da).
Kod Açıklaması
Bu ders için sağlanan kod son derece basittir, çünkü tek amacı iki dijital pini güç kaynağı pini olarak yapılandırmaktır. Bu işlevselliğin anahtarı, taslağın başında tanımlanan iki yapılandırma sabitinde yatar.
Kodun kullanıcı tarafından yapılandırılabilir kısmı şu şekildedir:
#define VCC2 5 // pin 5'i veya başka herhangi bir dijital pini burada VCC2 olarak tanımlayın
#define GND2 2 // pin 2'yi veya başka herhangi bir dijital pini Ground 2 olarak tanımlayın
Bu iki satır özelleştirmenin çekirdeğidir. #define yönergesi, kod derlenmeden önce Arduino derleyicisine VCC2 ifadesinin her geçtiği yeri 5 sayısıyla ve GND2 ifadesinin her geçtiği yeri 2 sayısıyla değiştirmesini söyleyen bir ön işlemci komutudur. Bu, güç için hangi pinleri kullandığınızı değiştirmeyi inanılmaz derecede kolaylaştırır. 5V kaynağınız olarak pin 8'i kullanmak istiyorsanız, ilk satırdaki 5 sayısını 8 olarak değiştirmeniz yeterlidir. Benzer şekilde, ikinci satırı düzenleyerek toprak pinini de değiştirebilirsiniz.
Kodun geri kalanı yalnızca setup() fonksiyonu içindeki başlatma mantığıdır. VCC2 olarak tanımlanan pini bir OUTPUT olarak ayarlar ve ardından HIGH yazarak 5V çıkışı sağlar. Tersine, GND2 olarak tanımlanan pini bir OUTPUT olarak ayarlar ve LOW yazarak toprak bağlantısı gibi davranmasını sağlar. Bu işlem setup() içinde yapıldıktan sonra, pinler Arduino'ya güç verildiği sürece durumlarını korur ve ana program mantığınızı loop() fonksiyonuna ekleyebilirsiniz.
Canlı Proje Gösterimi
Videoda, eğitmen kodu Arduino'ya yükleyerek konsepti gösterir. Yükleme tamamlandığında, pin 5 ile pin 2 arasına bağlanan LED anında yanar ve bu, pin 5'in voltaj sağladığını ve pin 2'nin toprak olarak akım çektiğini kanıtlar. Noktayı daha da vurgulamak için, LED'in güç bağlantısını farklı, yapılandırılmamış bir dijital pine taşıdığında LED'in yanmadığını gösterir, çünkü bu pin 5V çıkışı olarak ayarlanmamıştır (videoda 06:37'de).
Gösterim ayrıca bir breadboard kullanan pratik bir örneği de içerir. 5V pinini breadboard'un güç rayına ve toprak pinini toprak rayına bağlayarak, aynı anda bir 1602 LCD ekranı ve bir röle modülüne güç sağlar. Bu, düşük akımlı bileşenleriniz için küçük, özel bir güç dağıtım hattı oluşturmak için bu tekniği nasıl kullanabileceğinizi gösterir; böylece kablolamanızı temiz ve düzenli tutarsınız (videoda 06:59'da).
Sonuç
Bu ders, Arduino kartınızın yeteneklerini genişletmek için basit ama güçlü bir numara sağlar. Dijital pinleri güç kaynağı olarak yeniden tanımlayarak, sınırlı 5V ve GND bağlantısı sorununu çözebilirsiniz. Pin başına kritik 20mA sınırını hatırlayın ve gelecekteki projelerinizde çeşitli sensörleri ve küçük modülleri güvenle güçlendirebilirsiniz.
Bölümler
- [00:00] 5V Pinlerine Giriş ve Genel Bakış
- [00:54] ICSP Başlığını ve SPI Pinlerini Anlama
- [01:55] Güç Kaynağına Bağlı Akım Sınırlamaları
- [03:30] Dijital Pin Akım Sınırları ve Kullanım Durumları
- [04:51] Ekstra 5V ve GND Oluşturmak İçin Kod Açıklaması
- [06:05] Bir LED ile Kablolama Gösterimi
- [06:59] Breadboard Güç Dağıtımı ile Ölçeklendirme
/*
* S01-07 Additional 5V or GND pin.
If your Arduino board voltage is 3.3V, then we will get 3.3V and GND pin
* Arduino Sketch to give you extra 5V pin from Arduino
Please watch video instruction here https://youtu.be/pQKrl5Kpi50
This code is available at http://robojax.com/course1/?vid=lecture07
with over 100 lectures Free On YouTube. Watch it here http://robojax.com/L/?id=338
Get the code for the course: http://robojax.com/L/?id=339
* Written by Ahmad Shamshiri for Robojax, robojax.com http://youtube.com/robojaxTV
* on Jan 01, 2019 at 08:54 in Ajax, Ontario, Canada
*
*/
#define VCC2 5 // define pin 5 or any other digital pin here as VCC2
#define GND2 2 // define pin 2 or any other digital pin as Ground 2
void setup() {
pinMode(VCC2,OUTPUT);//define a digital pin as output
digitalWrite(VCC2, HIGH);// set the above pin as HIGH so it acts as 5V
pinMode(GND2,OUTPUT);//define a digital pin as output
digitalWrite(GND2, LOW);// set the above pin as LOW so it acts as Ground
}
void loop() {
//Robojax Step By Step Arduino Course http://robojax.com/L/?id=338
}
Kaynaklar ve referanslar
-
Dış
-
Dahili
Dosyalar📁
Dosya mevcut değil.