HC-SR04 128×32 I2C OLED, Mete Hoca PandaShield R1‘in kullanımı için hazırlanmış örnek kodlardan biridir.
HC-SR04 Ultrasonik mesafe sensöründen okunan değeri 0.91″ I2C OLED ekranda görüntüler.
PandaShield üzerindeki HC-SR04 Ultrasonik mesafe sensörü bağlantısı sensör sağa bakacak şekilde tasarlandı ve sensörün TRIG pini A3 analog pinine, ECHO pini 4 numaralı dijital pine bağlıdır.
HC-SR04 sensörünü sağlıklı ve pratik bir şekilde kullanmak için Tim Eckel’in geliştirdiği NewPing kütüphanesini tercih ediyoruz. Kütüphaneye Arduino IDE’nin kütüphane yöneticisi’nden ulaşabiliriz.
PandaShield üzerinde 2 farklı I2C bağlantısı bulunur ve bu bağlantılar 0.91″ 128×32 ve 0.96″ 128×64 I2C OLED ekranları bağlamak için kullanılabilir.
I2C OLED ekranları SSD1306 adlı Arduino kütüphanesi ile kullanıyoruz. Kütüphaneyi Arduino IDE’nin ana menüsünden Araçlar > Kütüphaneleri Yönet… bölümüne girip SSD1306 kelimesini aratarak Adafruit tarafından hazırlanmış versiyonu kurarak ekleyebiliriz. Kütüphane kurulumu esnasında Adafruit GFX gibi bazı ek kütüphanelerin de kurulumu istenebilir. Hepsini kuralım.
Bu sketch kodunda ultrasonik mesafe sensörü önündeki engelin uzaklığına göre I2C OLED
ekrandan okunan değerlerin değiştiği görülür. Sensör ortalama 450 santimetre mesafeye kadar etkilidir.
Bu sketch kodunun da dahil olduğu tüm örnek kodları toplu olarak indirmek için buraya tıklayın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
/* HC-SR04 128x32 I2C OLED | Mete Hoca PandaShield R1 HC-SR04 Ultrasonik mesafe sensöründen okunan değeri 0.91" I2C OLED ekranda görüntüler. BAŞLANGIÇ: - UART/LED Jumper'ını UART konumuna getirin. - Tim Eckel'in "NewPing" kütüphanesini Arduino IDE'ye yükleyin. - Adafruit'in "Adafruit SSD1306" kütüphanesini Arduino IDE'ye yükleyin. - Bu sketch kodunu Arduino'ya yükleyin. SONUÇ: - Ultrasonik mesafe sensörü önündeki engelin uzaklığına göre I2C OLED ekrandan okunan değerlerin değiştiği görülür. - Sensör ortalama 450 santimetre mesafeye kadar etkilidir. Mete Hoca, Şubat 2023, https://www.metehoca.com/ EK: Arduino'ya Güçlü Başlangıç Eğitim ve Proje Seti'ni keşfet! */ #include "NewPing.h" // Tim Eckel'in "NewPing" kütüphanesi #include "SPI.h" // SPI kütüphanesini ekliyoruz #include "Wire.h" // Wire kütüphanesini ekliyoruz #include "Adafruit_SSD1306.h" // Adafruit'in SSD1306 kütüphanesini ekliyoruz int genislik = 128; // OLED ekran genişliği (piksel olarak) int yukseklik = 32; // OLED ekran yüksekliği (piksel olarak) int adres = 0x3C; // 128x32 için 0x3C byte trig = A3; // PandaShield R1 üzerindeki TRIG pini byte echo = 4; // PandaShield R1 üzerindeki ECHO pini int azami_mesafe = 450; // Sensörden ölçülecek azami mesafe Adafruit_SSD1306 ekran(genislik, yukseklik, &Wire); // Kütüphaneyi tanımlıyoruz NewPing sensor(trig,4,azami_mesafe); // Tanımlamalar yapılıyor void setup() { ekran.begin(SSD1306_SWITCHCAPVCC, adres); // Kütüphaneyi başlatıyoruz delay(1000); ekran.clearDisplay(); // Başlangıçta ekranı temizleyelim } void loop() { int cm = sensor.convert_cm(sensor.ping()); // Sensör verisini santimetre olarak alalım ekran.clearDisplay(); // Yeni veri için ekran temizlensin ekran.setTextSize(4); // Yazı boyutunu ayarlıyoruz ekran.setTextColor(WHITE); // Beyaz renkte göstereceğiz, zaten tek renk ekran.setCursor(0,0); // İmleci başlangıç noktasına getiriyoruz if (cm < 100) ekran.print(" "); // Mesafe 100'den küçükse başa boşluk koyalım if (cm < 10) ekran.print(" "); // Mesafe 10'dan küçükse başa boşluk koyalım ekran.print(cm); // Ekrana mesafeyi yazalım ekran.print("cm"); // Peşine cm birimini de ekleyelim ekran.display(); // Hazırladığımız ekranı görüntüleyelim delay(100); // Okumalar arasında biraz bekleyelim } |
Arduino’da iyi olmak için öncelikle elektronikte iyi olmak gerekir. Türkiye’nin en iyi temel elektronik eğitim seti ARDUINO ÖNCESİ TEMEL ELEKTRONİK EĞİTİM VE DENEY SETİ‘ni keşfedin. Gereksiz bilgilerden arındırılmış basit ve eğlenceli anlatımla ELEKTRONİK öğrenin ve Arduino’ya METE HOCA farkıyla güçlü başlayın!
ÖZGÜN ve KULLANIŞLI projeler yapabilmek için ARDUINO’yu doğru öğrenmek gerekir. Arduino’ya güçlü başlamanın en iyi yolu ARDUINO’YA GÜÇLÜ BAŞLANGIÇ EĞİTİM VE PROJE SETİ‘dir. Arduino Uno üzerine kurulu olan set ile bu müthiş geliştirme platformunu tüm detaylarıyla anlayacak, başka hiçbir yerde bulamayacağınız inceliklerini öğrenecek ve en sık kullanılan Arduino sensör ve modüllerine aşina olacaksınız.