Seçilmiş

Atolye

Teknoloji

Ev & Dekorasyon

Mutfak

Oyun

Outdoor

Sanat

Arduino PC den LCD ye Yazı Yazdırma

Tanıtım: Arduino ve LCD

Bugün sizlere Bilgisayarlardan  Arduino'ya veri aktarımını göstermek için örnek olarak LCD kullanacağız.


Bizim kullanacağımız  LCD 16x2 olacak. Adındanda anlaşıldığı gibi  2 satırdan oluşur ve her satır başına 16 karakter düşer.


Aliexpress'den 1-2 dolar arasında bulabileceğiniz bu LCD'yi Yazıcıoğlu, Selanik Pasajı gibi yerlerde  10-15 liraya alabilirsiniz..

1. Adım: Gerekli Malzemeler

  • Herhangi bir Arduino sürümü.
  • Breadboard
  • Usb Kablosu
  • Jumper Kablo
  • LCD
  • 10K Potansiyometre

2. Adım: Bağlantılar

Bağlantıları şekildeki gibi yapın. LCD'nin P0 bağlantısını potansiyometreye bağlamamızın sebebi ise kontrast ayarı yapmaktır. Böylece çok daha iyi bir görüntü alabiliriz.

3. Adım: Kodlar

Kodlarımız iki kısımdan oluşuyor. Biri normal olarak Arduino kodları. Diğeri ise bilgisayardan Arduino'ya veri göndermek için kullanacağımız Java kodları.


Java  ile Serial Port arasında bağlantı kurmak için JSSC (Java Simple Serial Connector) kütüphanesini kurmamız gerekiyor. Nasıl kütüphane ekleyeceğinizi bilmiyorsanız buraya tıklayınız.


Java Kodları:

  1. import java.util.Scanner;//Scanner sınıfını import ediyoruz
  2. import jssc.SerialPort;//İhtiyacımız olan JSSC sınıflarını import ediyoruz.
  3. import jssc.SerialPortException;
  4. public class lcd {
  5.     
  6.     public static void main(String[] args) throws SerialPortException {
  7.         Scanner input = new Scanner(System.in);//input'u scanner olarak tanımlıyoruz.
  8.         String metin;
  9.         SerialPort serial=new SerialPort("COM3");// Arduino'nun PORT'u. Çoğu bilgisayarda
  10.         //aynıdır. Hata verirse portunuza bakmak için aygıt yöneticisinden Bağlantı noktalarına
  11.         //girerek bakabilirsiniz.
  12.         serial.openPort();  // Portu Aç 
  13.         serial.setParams(9600, 8, 1,0); // 9600 Baud, 8 bit veri, 1 bit stop biti, Parity biti.
  14.         
  15.         
  16.         while(true) {//Döngüyü sonsuza kadar tekrarla.
  17.             System.out.println("LCD'ye ne yazdırmak istersiniz?");
  18.             metin=input.nextLine();//Kullanıcıdan veriyi alıp metin String'ine ata.
  19.             serial.writeString(metin);//Arduino'ya metini gönder.
  20.                  
  21.         }
  22.         
  23.         
  24.     }
  25.           
  26. }


Arduino Kodları:


  1. #include //LCD'nin kütüphanesi.
  2. String metin;//Yazdıracağımız metin.
  3. int karakter_kontrol;//Kaç karakter olduğunun kaydını tutup
  4. //16 karakter dolduğunda alt satıra geçeceğiz.
  5. LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Pinleri tanımlıyoruz

  6. void setup() {
  7.   Serial.begin(9600);
  8.   
  9.   lcd.begin(16, 2);//LCD'yi başlatıyoruz
  10.   lcd.print("Ne Yaptik?");//başlangıçta ne yaptık yazacak.
  11.   lcd.setCursor(0,2);//alt satıra geçecek
  12.   lcd.print("ErenTl");
  13.   lcd.setCursor(0,1);//tekrar üst satıra geçecek
  14. }

  15. void loop() {
  16.   
  17.   if(Serial.available()>0) {//Serial port mevcutsa
  18.     delay(100);//100 milisaniye bekle
  19.     karakter_kontrol=0;
  20.     lcd.clear();//lcd'yi temizle
  21.     
  22.     while(Serial.available()>0) {//serial port mevcut olduğu sürece
  23.       
  24.       delay(10);//10 milisaniye bekle
  25.       char c = Serial.read();//karakteri bilgisayardan alıyoruz
  26.       //lcd.print(c);
  27.       metin+=c;//karakteri metine ekliyoruz
  28.       
  29.       //
  30.       if(metin.length()>0) {//metinin içinde karakter varsa
  31.         lcd.print(metin);//ekrana yazdır
  32.         karakter_kontrol++;//1 arttır
  33.       }
  34.       if(karakter_kontrol==16) {//ekranda 16 karakter olursa
  35.         lcd.setCursor(0,2);//alt satıra geç
  36.       }
  37.      
  38.       metin="";//metini sıfırla
  39.     }
  40.   }
  41. }



Önemli Uyarı:  Serial  Port java tarafından kullanılırken Arduino'ya kod atamaz veya Seri Port Ekranını açamazsınız. Serial Port aynı anda en fazla bir uygulamayı desteklemektedir. Kod atacakken Java kodlarını durdurup atınız.

Yardıma ihtiyacı olan varsa yorum yazarsa elimden geldiğince yardımcı olmaya çalışırım.

Yorumlar.

1081 Görüntülenme

2 Favoriler




Bir Söz

“İtiraf ederim ki, düşmanlarımız çok çalışıyor. Biz de onlardan daha çok çalışmaya mecburuz. Çalışmak demek, boşuna yorulmak, terlemek değildir. Zamanın gereklerine göre bilim ve teknik ve her türlü medeni buluşlardan azami derecede yararlanmak zorunluluğudur.”

Tagler

KENDİN YAP MÜHENDİSLİK PROJELERİ PROJE PAYLAŞIN ELEKTRİK ELEKTRONİK MÜHENDİS EVDE YAP PROJE YAP ARDUİNO YAZILIM PCB HAZIRLAMA NE YAPTIK DIY DIY YAPIMI NASIL YAPILIR DEKORASYON DIY FİKİRLERİ

Sosyal Medya

Facebook Instagram