Çözüldü Arduino Uno butonlar ile LCD ekrana yazı yazdırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

dorukre1

Centipat
Katılım
14 Kasım 2022
Mesajlar
53
Çözümler
2
Daha fazla  
Cinsiyet
Erkek
LCD ekrana nasıl buton ile yazı yadırabilirim? Örneğin; 1.tuşa bastığımda ekranda "geç" yazsın 2.tuşa bastığımda ise "dur" yazsın bunun hakkında bir kod verir misiniz bana?

Ekran: 16x2 LCD ekran.
Bağlantıyı I2C modülü ile yapıyorum.
 
Son düzenleyen: Moderatör:
Çözüm
LCD ekrana nasıl buton ile yazı yadırabilirim? Örneğin; 1.tuşa bastığımda ekranda "geç" yazsın 2.tuşa bastığımda ise "dur" yazsın bunun hakkında bir kod verir misiniz bana?

Ekran: 16x2 LCD ekran.
Bağlantıyı ı2C modülü ile yapıyorum.

Galiba küçük bir kod yazabilirim.

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
lcd.begin();
pinMode(but1,INPUT);
pinMode(but2,INPUT);
pinMode(but3,INPUT);
lcd.setcursor(0,0);
lcd.print("Tusa basin");
}

void loop()
{
if (digitalRead(but1) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Durun!");

while (digitalRead(but1) ==1)
{
delay(100);
}
}
 elseif ((digitalRead(but2) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Bekleyin...");

while (digitalRead(but2) ==1)
{
delay(100);
}
}

elseif (digitalRead(but3) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Geçin");

while (digitalRead(but3) ==1)
{
delay(100);
}
}

}

Kütüphane ismini yanlış yazmış olabilirim bir de telefondan yazdım hata alırsanız belirtin.

Ayrıca butonlar için pulldown direnci kullanmayı unutmayın aksi takdirde kod kilitlenir çünkü tuşa basılı tutunca saçmalamasını engellemek için while döngüleri koydum.

Galiba küçük bir kod yazabilirim.

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
lcd.begin();
pinMode(but1,INPUT);
pinMode(but2,INPUT);
pinMode(but3,INPUT);
lcd.setcursor(0,0);
lcd.print("Tusa basin");
}

void loop()
{
if (digitalRead(but1) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Durun!");

while (digitalRead(but1) ==1)
{
delay(100);
}
}
 elseif ((digitalRead(but2) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Bekleyin...");

while (digitalRead(but2) ==1)
{
delay(100);
}
}

elseif (digitalRead(but3) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Geçin");

while (digitalRead(but3) ==1)
{
delay(100);
}
}

}

Kütüphane ismini yanlış yazmış olabilirim bir de telefondan yazdım hata alırsanız belirtin.

Ayrıca butonlar için pulldown direnci kullanmayı unutmayın aksi takdirde kod kilitlenir çünkü tuşa basılı tutunca saçmalamasını engellemek için while döngüleri koydum.

Kodun düzenlenmiş hali:

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
 lcd.begin(0x27, 16, 2);
 pinMode(but1, INPUT);
 pinMode(but2, INPUT);
 pinMode(but3, INPUT);
 lcd.setCursor(0, 0);
 lcd.print("Tusa basin");
}

void loop()
{
 if (digitalRead(but1) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Durun!");

 while (digitalRead(but1) == 1)
 {
 delay(100);
 }
 }
 else if (digitalRead(but2) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Bekleyin...");

 while (digitalRead(but2) == 1)
 {
 delay(100);
 }
 }

 else if (digitalRead(but3) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Geçin");

 while (digitalRead(but3) == 1)
 {
 delay(100);
 }
 }

}
LCD ekrana nasıl buton ile yazı yadırabilirim? Örneğin; 1.tuşa bastığımda ekranda "geç" yazsın 2.tuşa bastığımda ise "dur" yazsın bunun hakkında bir kod verir misiniz bana?

Ekran: 16x2 LCD ekran.
Bağlantıyı ı2C modülü ile yapıyorum.

Galiba küçük bir kod yazabilirim.

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
lcd.begin();
pinMode(but1,INPUT);
pinMode(but2,INPUT);
pinMode(but3,INPUT);
lcd.setcursor(0,0);
lcd.print("Tusa basin");
}

void loop()
{
if (digitalRead(but1) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Durun!");

while (digitalRead(but1) ==1)
{
delay(100);
}
}
 elseif ((digitalRead(but2) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Bekleyin...");

while (digitalRead(but2) ==1)
{
delay(100);
}
}

elseif (digitalRead(but3) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Geçin");

while (digitalRead(but3) ==1)
{
delay(100);
}
}

}

Kütüphane ismini yanlış yazmış olabilirim bir de telefondan yazdım hata alırsanız belirtin.

Ayrıca butonlar için pulldown direnci kullanmayı unutmayın aksi takdirde kod kilitlenir çünkü tuşa basılı tutunca saçmalamasını engellemek için while döngüleri koydum.

Galiba küçük bir kod yazabilirim.

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
lcd.begin();
pinMode(but1,INPUT);
pinMode(but2,INPUT);
pinMode(but3,INPUT);
lcd.setcursor(0,0);
lcd.print("Tusa basin");
}

void loop()
{
if (digitalRead(but1) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Durun!");

while (digitalRead(but1) ==1)
{
delay(100);
}
}
 elseif ((digitalRead(but2) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Bekleyin...");

while (digitalRead(but2) ==1)
{
delay(100);
}
}

elseif (digitalRead(but3) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Geçin");

while (digitalRead(but3) ==1)
{
delay(100);
}
}

}

Kütüphane ismini yanlış yazmış olabilirim bir de telefondan yazdım hata alırsanız belirtin.

Ayrıca butonlar için pulldown direnci kullanmayı unutmayın aksi takdirde kod kilitlenir çünkü tuşa basılı tutunca saçmalamasını engellemek için while döngüleri koydum.

Kodun düzenlenmiş hali:

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
 lcd.begin(0x27, 16, 2);
 pinMode(but1, INPUT);
 pinMode(but2, INPUT);
 pinMode(but3, INPUT);
 lcd.setCursor(0, 0);
 lcd.print("Tusa basin");
}

void loop()
{
 if (digitalRead(but1) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Durun!");

 while (digitalRead(but1) == 1)
 {
 delay(100);
 }
 }
 else if (digitalRead(but2) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Bekleyin...");

 while (digitalRead(but2) == 1)
 {
 delay(100);
 }
 }

 else if (digitalRead(but3) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Geçin");

 while (digitalRead(but3) == 1)
 {
 delay(100);
 }
 }

}
 
Son düzenleme:
Çözüm
Galiba küçük bir kod yazabilirim.

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
lcd.begin();
pinMode(but1,INPUT);
pinMode(but2,INPUT);
pinMode(but3,INPUT);
lcd.setcursor(0,0);
lcd.print("Tusa basin");
}

void loop()
{
if (digitalRead(but1) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Durun!");

while (digitalRead(but1) ==1)
{
delay(100);
}
}
 elseif ((digitalRead(but2) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Bekleyin...");

while (digitalRead(but2) ==1)
{
delay(100);
}
}

elseif (digitalRead(but3) ==1)
{
lcd.setcursor(0,0);
lcd.clear();
lcd.print("Geçin");

while (digitalRead(but3) ==1)
{
delay(100);
}
}

}

Kütüphane ismini yanlış yazmış olabilirim bir de telefondan yazdım hata alırsanız belirtin.

Ayrıca butonlar için pulldown direnci kullanmayı unutmayın aksi takdirde kod kilitlenir çünkü tuşa basılı tutunca saçmalamasını engellemek için while döngüleri koydum.

Kodun düzenlenmiş hali:

C++:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

#define but1 2
#define but2 3
#define but3 4

void setup()
{
 lcd.begin(0x27, 16, 2);
 pinMode(but1, INPUT);
 pinMode(but2, INPUT);
 pinMode(but3, INPUT);
 lcd.setCursor(0, 0);
 lcd.print("Tusa basin");
}

void loop()
{
 if (digitalRead(but1) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Durun!");

 while (digitalRead(but1) == 1)
 {
 delay(100);
 }
 }
 else if (digitalRead(but2) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Bekleyin...");

 while (digitalRead(but2) == 1)
 {
 delay(100);
 }
 }

 else if (digitalRead(but3) == 1)
 {
 lcd.setCursor(0, 0);
 lcd.clear();
 lcd.print("Geçin");

 while (digitalRead(but3) == 1)
 {
 delay(100);
 }
 }

}

Hocam ben kabloları nereye takacağım anlamadımda bana şema çizip gönderir misiniz?
 
Hocam ben kabloları nereye takacağım anlamadımda bana şema çizip gönderir misiniz?
Arduino türüSDA piniSCL pini
Arduino UnoA4A5
Arduino Mega2021
Arduino Leonardo23
Arduino Due2021
Arduino NanoA4A5
Burası yararlı olabilir:
Resim:
 
Hocam ben kabloları nereye takacağım anlamadımda bana şema çizip gönderir misiniz?

Müsait bir zamanda atacağım.

Müsait bir zamanda atacağım.

Devre.png


Müsait bir zamanda atacağım.

Devre.png

10K'lık direnç öneriyorum reng kodu: Kahverengi, siyah, turuncu, altın rengi. Sondaki renk değişebilir o tolerans değerini belirtir.
 
Son düzenleme:
merhabalar öncelikle kodlama ve şema için teşekkür ederim aynı kodu ve sistemi

128x32 Oled Lcd Ekran 0.91 Inch SSD1306

ekrana yazdırmak alttaki kodu:

Kod:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

bu şekilde değişrerek çalıştırabilirmiyiz ?
#include "Adafruit_SSD1306.h"
 
Merhaba öncelikle kodlama ve şema için teşekkür ederim aynı kodu ve sistemi.

128x32 OLED LCD ekran 0.91 ınch SSD1306

Ekrana yazdırmak alttaki kodu:

Kod:
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

Bu şekilde değişrerek çalıştırabilir miyiz?
#include "Adafruit_SSD1306.h"

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
SDA ve SCL pinleri özel pinlerdir atama yapamazsınız. SCL ve SDA pinleri sırası ile A5 ve A4 pinleridir. Ayrıca Arduino üzerindeki 0 ve 1 pinleri RX ve TX haberleşmesi için kullanılır bu yüzden bu pinler genelde kullanılmaz; bu pinlerin kod yüklenirken boş olması gerekir.
 

Geri
Yukarı