Paylaşımcıların Buluşma Noktası!
* LCD RS pin --> digital pin 12
* LCD Enable pin --> digital pin 11
* LCD D4 pin --> digital pin 5
* LCD D5 pin --> digital pin 4
* LCD D6 pin --> digital pin 3
* LCD D7 pin --> digital pin 2
* LCD R/W pin --> ground
* LCD VSS pin --> ground
* LCD VCC pin --> 5V
* VO pinine Potensiyometre
Kodu değiştirerek pin yerlerini de değiştirebilirsiniz. Ben arduino'nun sitesinde verilen bağlantılara göre bağladım.
Düzenleme: Yoğun istek üzerine şema eklenmiştir.
Direncinizi, Breadboard'ın sağ tarafında kalan güç pinlerine bağlayın. Ardından sağ taraftaki ve sol taraftaki GND şeritlerini birbirine bağlayın.
Voltaj ölçümü yapabilmek için sağ taraftaki güç hattının + kısmına Analog 0 pinini, - kısmına Arduino'nun GND pinini bağlayın.
Sol güç hattının + pinine Arduino'nun +5v pinini bağlayın.
Yazılımı yazarken bir takım matematik yetmezliği yaşadım :). Şu anda bir sıkıntı görünmüyor.
#define direnc 19//direnç değeri ohm olarak #define minvoltaj 3.4F //testin devam edeceği min. voltaj #define aralik 5 //test için referans aralığı (10sn) #define pilreferans 4.0F //ortalama pil referans #define pilmaks 4.3F //pil tam dolu voltajı #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); float voltaj; float akim; float toplam; int sure; unsigned long baslangic; unsigned long bitis; void setup() { lcd.begin(20,4); lcd.setCursor(15,0); lcd.print("R="+(String)direnc); lcd.setCursor(7,2); lcd.print("neyaptik.com"); } void loop() { voltaj=analogRead(0)/1024.0*5.0; if (voltaj>pilreferans){ baslangic=millis(); sure=0; toplam=0; while(voltaj>minvoltaj){ bitis=millis(); sure=(bitis-baslangic)/1000/60; akim=voltaj/direnc*1000; lcd.setCursor(0, 0); lcd.print("Voltaj="+(String)voltaj+"V"); lcd.setCursor(0, 1); lcd.print("I:"+(String)(int)akim+"mA"); lcd.setCursor(11, 1); lcd.print("Q:"+(String)(int)toplam+"mAh"); lcd.setCursor(0, 3); int yuzde=map(voltaj*10,minvoltaj*10,pilmaks*10, 0, 100); lcd.print("Pil:" + (String)yuzde + "% "); lcd.setCursor(9,3); lcd.print("Zaman:"+(String)sure+"dk"); toplam=(toplam+(akim/3600)*aralik); voltaj=analogRead(0)/1024.0*5.0; delay(aralik*1000); } } else if(voltaj<minvoltaj){ lcd.setCursor(0, 0); lcd.print("Pil Bulunamadi!"); delay(1000); lcd.setCursor(0, 0); lcd.print(" "); delay(1000); } else if (voltaj<pilreferans) { lcd.setCursor(0, 0); lcd.print("Voltaj Dusuk!"); delay(1000); lcd.setCursor(0, 0); lcd.print(" "); delay(1000); } }
Şu anda test ediyorum. Sonuçları kısa zamanda atarım.
Düzenleme: Test bitti, 19 ohm kullanmamdan dolayı uzun sürdü. 900mAh yazılı pili ufak farkla doğru hesapladı :). Gayet başarılı
“İ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.”
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İ