- Gerekli Malzeme
- Devre şeması
- LED Çubuk Grafiği
- Pil Gerilimi İzleme için Arduino Programı:
- Akü Voltaj Göstergesinin Çalışması
Piller belirli bir voltaj sınırıyla gelir ve voltaj, şarj etme veya boşaltma sırasında belirtilen sınırların ötesine geçerse, pilin ömrü etkilenir veya azalır. Pille çalışan bir proje kullandığımızda, bazen şarj edilmesi veya değiştirilmesi gerekip gerekmediğini, pil voltaj seviyesini kontrol etmemiz gerekir. Bu devre, pilinizin voltajını izlemenize yardımcı olacaktır. Bu Arduino pil voltaj göstergesi, pil voltajına göre 10 Segment LED Çubuk Grafik üzerinde yanan LED'ler ile pilin durumunu gösterir. Ayrıca Arduino'ya bağlı LCD'de pil voltajınızı gösterir.
Gerekli Malzeme
- Arduino UNO
- 10 Segment LED Çubuk Grafiği
- LCD (16 * 2)
- Potansiyometre-10k
- Direnç (100ohm-10; 330ohm)
- Pil (test edilecek)
- Bağlantı telleri
- Arduino için 12v adaptör
Devre şeması
LED Çubuk Grafiği
LED çubuk grafiği, düşük güç tüketimi ile endüstriyel standart boyutta gelir. Çubuk, ışık şiddetine göre kategorize edilmiştir. Ürünün kendisi RoHS uyumlu versiyonda kalır. 2.6v'a kadar ileri gerilime sahiptir. Segment başına güç dağılımı 65mW'dir. LED çubuk grafiğin çalışma sıcaklığı -40 ℃ ila 80 ℃ arasındadır. Ses ekipmanı, Gösterge panelleri ve Dijital okuma ekranı gibi LED çubuk grafiği için birçok uygulama vardır.
Pin Şeması
PIN konfigürasyonu
Pil Gerilimi İzleme için Arduino Programı:
Tam Arduino kodu ve gösteri video bu makalenin sonunda verilmiştir. Burada kodun bazı önemli kısımlarını açıkladık.
Burada LCD kütüphanesini tanımlıyor ve Arduino ile kullanılacak LCD'nin pinlerini belirliyoruz. Analog giriş, pil voltajını kontrol etmek için A4 pininden alınır. Gerilimi iki ondalık sayıya çıkarmak için değeri Float olarak ayarladık.
#Dahil etmek
int ledPins = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // LED'lerin eklendiği pin numaraları dizisi int pinCount = 10; // pin sayısı (yani dizinin uzunluğu)
LCD ve analog pinleri (A0, A1, A2, A3) OUTPUT pinleri olarak ayarlamak.
geçersiz kurulum () {Serial.begin (9600); // seri bağlantı noktasını açar, veri hızını 9600 bps'ye ayarlar lcd.begin (16, 2); //// LCD'nin sütun ve satır sayısını ayarlayın: pinMode (A0, OUTPUT); pinMode (A1, OUTPUT); pinMode (A2, OUTPUT); pinMode (A3, ÇIKIŞ); pinMode (A4, GİRİŞ); lcd.print ("Voltaj Seviyesi"); }
Burada LED çubuk grafiğini basit bir şekilde kullanmak için bir işlev yapıyoruz, LED'leri tek tek programlayarak bile parlatabilirsiniz, ancak kod uzar.
void LED_function (int stage) {for (int j = 2; j <= 11; j ++) {digitalWrite (j, LOW); } for (int i = 1, l = 2; i <= stage; i ++, l ++) {digitalWrite (l, HIGH); // gecikme (30); }} Bu bölümde analog pini kullanarak voltaj değerini okuduk. Daha sonra analog değeri, analogdan dijitale dönüştürme formülünü kullanarak dijital voltaj değerine dönüştürüyor ve daha sonra LCD'de görüntülüyoruz.
// voltaj analogValue = analogRead (A4) için dönüştürme formülü; Serial.println (analogValue); gecikme (1000); input_voltage = (analogValue * 5.0) / 1024.0; lcd.setCursor (0, 1); lcd.print ("Voltaj ="); lcd.print (input_voltage); Serial.println (input_voltage); gecikme (100);
Giriş voltajının değerine göre LED çubuk grafik LED'lerini kontrol etmek için bazı şartlar verdik. Aşağıdaki kodda kontrol edebileceğiniz durum:
eğer (input_voltage <0.50 && input_voltage> = 0.00) {digitalWrite (2, HIGH); gecikme (30); digitalWrite (2, DÜŞÜK); gecikme (30); // gerilim sıfır veya düşük olduğunda 1. LED yanıp sönerek belirtecektir} aksi takdirde (input_voltage <1.00 && input_voltage> = 0.50) {LED_function (2); } else if (input_voltage <1.50 && input_voltage> = 1.00) {LED_function (3); } else if (input_voltage <2.00 && input_voltage> = 1.50) {LED_function (4); } else if (input_voltage <2.50 && input_voltage> = 2.00) {LED_function (5); } else if (input_voltage <3.00 && input_voltage> = 2.50) {LED_function (6); } else if (input_voltage <3.50 && input_voltage> = 3.00) {LED_function (7); } else if (input_voltage <4.00 && input_voltage> = 3.50) {LED_function (8);} else if (input_voltage <4.50 && input_voltage> = 4.00) {LED_function (9); } else if (input_voltage <5.00 && input_voltage> = 4.50) {LED_function (10); }}
Akü Voltaj Göstergesinin Çalışması
Batarya Voltaj Göstergesi sadece Arduino Analog pininden değeri okur ve Analogdan Dijitale Dönüştürme (ADC) formülünü kullanarak dijital bir değere dönüştürür. Arduino Uno ADC 10 bit çözünürlükte ait (- 2 ^ 10 = 1024 değerler, 0 arasında bir tam sayı değerleri, böylece). Bu, 0 ile 5 volt arasındaki giriş voltajlarını 0 ile 1023 arasındaki tam sayı değerlerine eşleyeceği anlamına gelir. Dolayısıyla, anlogValue girişini (5/1024) ile çarparsak, giriş voltajının dijital değerini elde ederiz. Arduino'da ADC girişini nasıl kullanacağınızı buradan öğrenin. Ardından dijital değer LED çubuk Grafiğini buna göre parlatmak için kullanılır.
Ayrıca, herhangi bir Mikrodenetleyici olmadan bu basit Pil seviyesi Monitörünü kontrol edin