Merhaba arkadaşlar arduino ile çılgın projelerde olabildiğince hızlı ilerlemeye devam ediyoruz. Bu yazımızın konusu Arduino ile I2C LCD kullanarak voltmetre nasıl yapılır öğreneceğiz. Bildiğiniz üzere piyasada birçok voltmetre var ama siz kendinizinkini yapmak isterseniz aradığınız cevap tam olarak burada..
Malzeme Listesi
1- Herhangi Bir Arduino Modeli (Ben Nano Kullanacağım)
2- I2C 16X2 LCD
3- 100k direnç (Kahve,Siyah,Sarı)
4- 10k direnç (Kahve,Siyah,Turuncu)
Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir.
Arduino I2C Lcd Voltmetre Devre Şeması
Not: Arduino ve I2C LCD Modülün Bağlantı Şeması , SDA = A4 ve SCL = A5‘ tir. Lakin Arduino Mega da ise I2C LCD Modülün Bağlantı Şeması SDA = 20, SCL = 21 dir.(Zaten mega kullananlar göreceklerdir ki 20. pinin yanında SDA, 21. pinin yanında SCL yazmaktadır.)
Yazılım
Bu modülle çalışabilmek için bir kütüphaneye ihtiyaç duyuyoruz öncelikle ı2c kütüphaneyi indirip aşağıda belirtilen yoldaki klasöre rar dosyasından dan çıkarıp atın.(Daha önce atmış iseniz tekrar yapmanıza gerek kalmayacaktır. )
Belgeler > Arduino > libraries
Kod
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 |
#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); int voltajgiris = 0; float vout = 0.0; float voltajdeger = 0.0; float direnc1 = 100000.0; // 100K ohm direnç float direnc2 = 10000.0; // 10K ohm direnç int value = 0; void setup(){ pinMode(voltajgiris, INPUT); lcd.begin(); lcd.setCursor(0,0); lcd.print("TA9UNL"); lcd.setCursor(0,1); lcd.print("DC VOLTMETRE"); delay(1000); lcd.clear(); lcd.setCursor(0,0); lcd.print("TASARIM"); lcd.setCursor(0,1); lcd.print("UNAL PARLAK"); delay(1000); lcd.clear(); } void loop(){value = analogRead(voltajgiris); vout = (value * 5.0) / 1024.0; voltajdeger = vout / (direnc2/(direnc1+direnc2)); if (voltajdeger<0.09) { voltajdeger=0.0; } lcd.setCursor(0, 0); lcd.print("OLCULEN"); lcd.setCursor(0, 1); lcd.print("VOLTAJ = "); lcd.print(voltajdeger); lcd.print(" V"); delay(500); } |
Ben yaptım oldu. ama sonuçta voltaj ile uğraşıyorsunuz ola ki bir hatanızda arduinonuza zarar verebiliriniz. sorumluluk kabul etmiyorum. 73…