Ders 20/31: Ultrasonik mesafenin LCD1602 üzerinde gösterilmesi
Bu proje, HC-SR04 ultrasonik mesafe sensörünü I2C destekli LCD1602 ekranla birleştirerek gerçek zamanlı bir mesafe ölçüm sistemi oluşturmayı gösterir. Bu kılavuzun sonunda, bir nesneye olan mesafeyi sürekli olarak santimetre cinsinden ölçüp görüntüleyen çalışan bir cihaza sahip olacaksınız. Bu, sensör girişini görsel çıkışla birleştirdiği için Arduino elektroniğinde temel bir beceridir.
Bu pratik kurulum, aşağıdakiler dahil çeşitli gerçek dünya uygulamalarında kullanılabilir:
- Bir duvara veya başka bir araca olan mesafeyi ölçmenize yardımcı olan akıllı bir park asistanı oluşturma.
- Üstten yüzeye olan mesafeyi ölçerek bir tank için basit bir sıvı seviye monitörü yapma.
- Bir nesne yaklaştığında açılan otomatik bir el dezenfektanı dağıtıcısı veya temassız bir çöp kutusu geliştirme.
- Belirli bir bölgeye biri girdiğinde tetiklenen temel bir güvenlik alarmı kurma.
Donanım ve Bileşenler
Bu projeyi oluşturmak için aşağıdaki bileşenlere ihtiyacınız olacak:
- Arduino kartı (örn. Uno)
- I2C arayüz modüllü LCD1602 ekran
- HC-SR04 Ultrasonik Mesafe Sensörü
- Jumper kablolar
- Breadboard (isteğe bağlı, daha kolay bağlantılar için)
LCD1602 ve I2C'yi Anlama
LCD1602, iki satırda satır başına 16 karakter gösterebilen popüler bir ekrandır. Arkasındaki "I2C" modülü önemli bir avantajdır çünkü ekranı kontrol etmek için gereken pin sayısını 6 veya daha fazladan yalnızca 2 iletişim pinine (SDA ve SCL) ve 2 güç pinine (VCC ve GND) düşürür. Bu basitleştirme, kablolamayı çok daha temiz hale getirir ve Arduino'nuzdaki değerli dijital pinleri bu projede kullanılan ultrasonik sensör gibi diğer sensörler için serbest bırakır. (videoda 01:30'da)
I2C modülü ayrıca ekranın kontrastını ayarlamak için küçük bir potansiyometre içerir. Ekranı güçlendirirseniz ve hiçbir şey görmezseniz, metin görünene kadar bu vidayı çevirmeyi deneyin. (videoda 02:47'de)
Bağlantı Kılavuzu
Bileşenleri bağlamak basittir. LCD'nin I2C modülünde Arduino'ya bağlanması gereken dört pin vardır. Ultrasonik sensörün de dört pini vardır.
Bağlantıların bir dökümü aşağıda verilmiştir:
LCD1602 I2C Modülü Arduino'ya:
- GND Arduino GND pinine
- VCC Arduino 5V pinine
- SDA Arduino A4 pinine
- SCL Arduino A5 pinine
HC-SR04 Ultrasonik Sensör Arduino'ya:
- VCC Arduino 5V pinine
- Trig Arduino dijital 12 pinine
- Echo Arduino dijital 11 pinine
- GND Arduino GND pinine
Bu projenin bağlantı şeması videoda referans olarak verilmiştir.
Gerekli Kütüphanelerin Kurulması
Bu proje iki önemli kütüphaneye dayanır. İlki olan LiquidCrystal_I2C, LCD'yi kontrol etmek için gereklidir ve Arduino IDE ile varsayılan olarak gelmez. Videoda açıklamasında verilen bağlantıdan veya Robojax web sitesinden indirebilirsiniz. (videoda 06:16'da)
İkinci kütüphane olan NewPing, ultrasonik sensörle arayüz oluşturmak için kullanılır. Bir ping gönderme ve yankı süresini okuma işlemini basitleştirir. Her iki kütüphane de Arduino IDE'nin Kütüphane Yöneticisi'nden Sketch -> Include Library -> Manage Libraries yolunu izleyerek ve adlarını arayarak kurulabilir.
Kod Açıklaması
Bu taslak, LCD'nin ve ultrasonik sensörün işlevselliğini birleştirir. Kod, özel kurulumunuz için kolayca yapılandırılabilir şekilde yapılandırılmıştır.
Kodun en üstünde, ayarlamanız gerekebilecek temel değişkenleri bulacaksınız:
// 16 karakter ve 2 satırlık ekran için LCD adresini 0x27 olarak ayarlayın
LiquidCrystal_I2C lcd(0x27, displayChars, displayRows);
#define TRIGGER_PIN 12 // Ultrasonik sensördeki tetik pinine bağlı Arduino pini.
#define ECHO_PIN 11 // Ultrasonik sensördeki yankı pinine bağlı Arduino pini.
#define MAX_DISTANCE 190 // Ping atmak istediğimiz maksimum mesafe (santimetre cinsinden).
- LCD Adresi (0x27): Bu, LCD modülünüzün I2C adresidir. Çoğu modül
0x27kullanır, ancak bazıları0x3Fkullanabilir. Ekranınız hiçbir şey göstermiyorsa, doğru adresi bulmak ve bu değeri güncellemek için bir I2C tarayıcı taslağı çalıştırmanız gerekebilir. (videoda 08:11'de) - TRIGGER_PIN ve ECHO_PIN: Bunlar, ultrasonik sensörün Trig ve Echo pinlerine bağlı Arduino dijital pinlerini tanımlar. Farklı pinler kullanırsanız, bu tanımları değiştirin.
- MAX_DISTANCE: Bu, sensörün ölçeceği maksimum mesafeyi santimetre cinsinden ayarlar. HC-SR04 400-500cm'ye kadar ölçebilir, ancak daha düşük bir değer ayarlamak, özellikle daha kısa mesafeler için okumaların doğruluğunu ve güvenilirliğini artırabilir.
loop() fonksiyonunda kod aşağıdaki adımları gerçekleştirir:
sonar.ping_cm()fonksiyonunu kullanarak mesafeyi ölçer vedistancedeğişkeninde saklar.- LCD'yi temizler ve ilk satıra "Robojax.com" metnini yazdırır.
- Ardından imleci ikinci satıra ayarlar ve "Distance: " yazdırır.
- Son olarak, imleci ikinci satırda 10. konuma taşıyarak ölçülen
distancedeğerini ve ardından "cm" yazdırır.
Döngünün sonundaki delay(200), sensörün ne sıklıkla yeni bir ölçüm alıp ekranı güncelleyeceğini kontrol eder.
Kod Gösterimi
Kod Arduino'nuza yüklendikten sonra, LCD aydınlanacak ve mesafeyi göstermeye başlayacaktır. Elinizi veya bir nesneyi ultrasonik sensöre yaklaştırıp uzaklaştırarak kurulumu test edebilirsiniz. Ekrandaki sayı, mesafeyi santimetre cinsinden gerçek zamanlı olarak güncellenmelidir. (videoda 38:07'de)
Bu videodan ilgili projeler
- Ders 20/31: Arduino ile LCD1602 kullanarak metin görüntüleme | Robojax
- Ders 20/31: DHT11'den sıcaklık ve nemi LCD ekranda gösterme
- Ders 20/31: LCD1602'de voltaj gösterme
Bölümler
- [00:00] LCD1602'ye Giriş ve Proje Genel Bakışı
- [01:30] LCD1602 Donanımı ve I2C Modülü Açıklaması
- [03:14] LCD Pin Yapısı ve I2C Adres Yapılandırması
- [05:28] LCD1602 için Bağlantı Şeması
- [06:16] Gerekli LCD Kütüphanesinin Kurulumu
- [07:24] LCD'ye Metin Yazdırmak için Temel Kod
- [08:11] LCD'nizin I2C Adresini Bulma
- [11:10] LCD Örnekleri: Yanıp Sönen İmleç ve Özel Karakterler
- [18:51] LCD Örneği: Seri Görüntüleme ve Kayan Metin
- [24:36] LCD'de DHT11 Sıcaklık ve Nem Gösterimi
- [33:00] LCD'de Potansiyometreden Voltaj Gösterimi
- [35:56] Ultrasonik Sensör Kodunu LCD ile Birleştirme
- [38:07] Ultrasonik Mesafe Gösteriminin Tanıtımı
This code has not been parsed yet. Please return to the admin panel to parse it.
İhtiyacın olabileceğini düşünüyor
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
Kaynaklar ve referanslar
-
BelgelendirmeDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
DışPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Dosyalar📁
Arduino Kütüphaneleri (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
Kullanım Kılavuzu
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB