在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Arduino和LED條形圖的電池電壓指示器

科技觀察員 ? 來源:circuitdigest ? 作者:潘卡伊·卡特里 ? 2022-11-18 16:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

電池具有一定的電壓限制,如果在充電或放電時電壓超過規定的限制,電池的使用壽命會受到影響或縮短。每當我們使用電池供電的項目時,有時我們需要檢查電池電壓水平,是否需要充電或更換。該電路將幫助您監控電池的電壓。此Arduino 電池電壓指示器根據電池電壓,通過在10 段 LED 條形圖上發光 LED 來指示電池狀態。它還在連接到Arduino的LCD上顯示您的電池電壓。

所需材料

Arduino UNO

10 段 LED 條形圖

液晶屏 (16*2)

電位器-10k

電阻器 (100歐姆-10;330歐姆)

電池(待測試)

連接線

適用于 Arduino 的 12v 適配器

電路圖

poYBAGN3RRKAPJ6TAAIPxYYJouE562.png

LED 條形圖

LED 條形圖采用工業標準尺寸,功耗低。條形按發光強度分類。產品本身仍符合 RoHS 標準。它具有高達 2.6v 的正向電壓。每段功耗為65mW。LED 條形圖的工作溫度為 -40°C 至 80°C。LED條形圖有許多應用,如音頻設備,儀表板和數字讀數顯示。

引腳圖

poYBAGN3RbGAAOtdAAAfvGDAtho958.png

Pin Configuration

poYBAGN3RbKAId9rAACK9RjJKWc883.png

用于電池電壓監控的 Arduino 程序:

在這里,我們正在定義LCD庫并指定要與Arduino一起使用的LCD引腳。模擬輸入取自引腳A4,用于檢查電池電壓。我們將值設置為 Float,以使電壓達到兩位小數。

#include
const int rs = 12, en = 13, d4 = A0, d5 = A1, d6 = A2, d7 = A3;
LiquidCrystal lcd(rs, en, d0, d1, d2, d3);
const int analogPin = A4;
float analogValue;
float input_voltage;

該陣列用于將引腳分配給 LED 條形圖。
int ledPins[] = {
2, 3, 4, 5, 6, 7, 8, 9, 10, 11
}; // an array of pin numbers to which LEDs are attached
int pinCount = 10; // the number of pins (i.e. the length of the array)
將液晶屏和模擬針腳(A0、A1、A2、A3)設置為輸出針腳。

void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
lcd.begin(16, 2); //// set up the LCD's number of columns and rows:
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,INPUT);
lcd.print("Voltage Level");
}
在這里,我們制作了一個以簡單方式使用 LED 條形圖的函數,您甚至可以通過一個接一個地編程來發光 LED,但代碼變得冗長。

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);
//delay(30);
}
}

在這一部分中,我們使用模擬引腳讀取電壓值。然后,我們使用模數轉換公式將模擬值轉換為數字電壓值,并將其進一步顯示在LCD上。

// Conversion formula for voltage
analogValue = analogRead (A4);
Serial.println(analogValue);
delay (1000);
input_voltage = (analogValue * 5.0) / 1024.0;
lcd.setCursor(0, 1);
lcd.print("Voltage= ");
lcd.print(input_voltage);
Serial.println(input_voltage);
delay(100);
根據輸入電壓的值,我們給出了一些條件來控制LED條形圖LED。您可以在代碼中檢查以下條件:

if (input_voltage < 0.50 && input_voltage >= 0.00 )
{
digitalWrite(2, HIGH);
delay (30);
digitalWrite(2, LOW);
delay (30); // when the voltage is zero or low the 1st LED will indicate by blinking
}
else if (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);
}
}

電池電壓指示器的工作原理

poYBAGN3RbWAQC6qAACtjWAMIZo756.jpg

電池電壓指示器只需從Arduino模擬引腳讀取值,并使用模數轉換(ADC)公式將其轉換為數字值。Arduino Uno ADC具有 10 位分辨率(因此整數值從 0 - 2^10 = 1024 個值)。這意味著它將 0 到 5 伏之間的輸入電壓映射到 0 到 1023 之間的整數值。因此,如果我們將輸入 anlogValue 乘以 (5/1024),則得到輸入電壓的數字值。

#include


const int rs = 12, en = 13, d0 = A0, d1 = A1, d2 = A2, d3 = A3;

LiquidCrystal lcd(rs, en, d0, d1, d2, d3);

const int analogPin = A4;

float analogValue;

float input_voltage;



int ledPins[] = {

2, 3, 4, 5, 6, 7, 8, 9, 10, 11

}; // an array of pin numbers to which LEDs are attached

int pinCount = 10; // the number of pins (i.e. the length of the array)



void setup()

{

Serial.begin(9600); // opens serial port, sets data rate to 9600 bps

lcd.begin(16, 2); //// set up the LCD's number of columns and rows:

pinMode(A0,OUTPUT);

pinMode(A1,OUTPUT);

pinMode(A2,OUTPUT);

pinMode(A3,OUTPUT);

pinMode(A4,INPUT);

lcd.print("Voltage Level");






}

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);

//delay(30);

}



}

void loop()

{

// Conversion formula for voltage

analogValue = analogRead (A4);

Serial.println(analogValue);

delay (1000);

input_voltage = (analogValue * 5.0) / 1024.0;

lcd.setCursor(0, 1);

lcd.print("Voltage= ");

lcd.print(input_voltage);

Serial.println(input_voltage);

delay(100);


if (input_voltage < 0.50 && input_voltage >= 0.00 )

{

digitalWrite(2, HIGH);

delay (30);

digitalWrite(2, LOW);

delay (30);

}

else if (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);

}


}


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • led
    led
    +關注

    關注

    242

    文章

    23787

    瀏覽量

    672520
  • 指示器
    +關注

    關注

    0

    文章

    255

    瀏覽量

    38740
  • Arduino
    +關注

    關注

    189

    文章

    6495

    瀏覽量

    190475
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    低壓電池指示器電路

    低壓電池指示器電路
    發表于 03-21 09:24 ?953次閱讀
    低壓<b class='flag-5'>電池</b><b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    電池充電放電指示器電路

    電池充電,放電指示器電路
    發表于 03-21 09:25 ?1828次閱讀
    <b class='flag-5'>電池</b>充電放電<b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    電池電平指示器電路

    電池電平指示器電路
    發表于 03-21 09:25 ?904次閱讀
    <b class='flag-5'>電池</b>電平<b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    固態電池電壓指示器電路

    固態電池電壓指示器電路
    發表于 03-21 09:29 ?942次閱讀
    固態<b class='flag-5'>電池</b><b class='flag-5'>電壓</b><b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    可視電壓指示器電路

    可視電壓指示器電路
    發表于 04-01 08:44 ?1067次閱讀
    可視<b class='flag-5'>電壓</b><b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    電池失效指示器電路

    電池失效指示器電路
    發表于 04-17 11:25 ?781次閱讀
    <b class='flag-5'>電池</b>失效<b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    電池電壓指示器電路

    電池電壓指示器電路
    發表于 05-06 12:42 ?1238次閱讀
    <b class='flag-5'>電池</b><b class='flag-5'>電壓</b><b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    12V汽車電池電壓指示器電路

    12V汽車電池電壓指示器電路
    發表于 05-28 12:14 ?2135次閱讀
    12V汽車<b class='flag-5'>電池</b><b class='flag-5'>電壓</b><b class='flag-5'>指示器</b>電路<b class='flag-5'>圖</b>

    KN-1000B系列的指示器特點及型號說明

    KN-1000B系列的指示器的特點:通過16位ADC實現高精度顯示、條形圖有101個LED燈(綠色),可顯示4位數字、多種功能:高/低峰值監測、傳感斷線報警輸出、輸入校正、數字輸入(
    發表于 09-28 17:14 ?8次下載
    KN-1000B系列的<b class='flag-5'>指示器</b>特點及型號說明

    基于微控制8線I/O端口實現8段條形圖LED顯示設計

    帶有數字顯示的儀器設計也許會受益于一個提供顯示參數的模擬版的副顯示條形圖顯示提供了一種很容易解釋的圖形指示器,該
    的頭像 發表于 07-29 09:13 ?3521次閱讀
    基于微控制<b class='flag-5'>器</b>8線I/O端口實現8段<b class='flag-5'>條形圖</b><b class='flag-5'>LED</b>顯示設計

    msgeq7的條形圖

    電子發燒友網站提供《msgeq7的條形圖.zip》資料免費下載
    發表于 07-07 14:35 ?7次下載
    msgeq7的<b class='flag-5'>條形圖</b>

    LED條形圖的簡單電壓指示器

    電子發燒友網站提供《帶LED條形圖的簡單電壓指示器.zip》資料免費下載
    發表于 08-05 10:28 ?4次下載
    帶<b class='flag-5'>LED</b><b class='flag-5'>條形圖</b>的簡單<b class='flag-5'>電壓</b><b class='flag-5'>指示器</b>

    使用Arduino的OLED電池電量指示器

    電子發燒友網站提供《使用Arduino的OLED電池電量指示器.zip》資料免費下載
    發表于 10-31 11:03 ?1次下載
    使用<b class='flag-5'>Arduino</b>的OLED<b class='flag-5'>電池</b>電量<b class='flag-5'>指示器</b>

    LED條形圖VU峰值計

    條形圖LED峰值計。電源從9到20V。輸入-35至+ 35V的音頻。Trimpot將調整觸發電平。
    發表于 01-05 16:00 ?0次下載

    LED條形圖和鍵盤

    電子發燒友網站提供《LED條形圖和鍵盤.zip》資料免費下載
    發表于 06-28 14:55 ?0次下載
    <b class='flag-5'>LED</b><b class='flag-5'>條形圖</b>和鍵盤
    主站蜘蛛池模板: 三级网址在线 | 一本大道一卡二卡四卡 | 四虎永久精品免费网址大全 | 1515hh四虎免费观38com | 亚洲一区二区在线免费观看 | 婷婷激情在线 | 日本口工全彩无遮拦漫画大 | 手机免费黄色网址 | 深夜视频在线免费观看 | 国产精品美女在线 | 精品国产免费久久久久久婷婷 | 日本高清视频成人网www | 欧美午夜色大片在线观看免费 | 8050午夜网| 四虎永久在线精品 | 一级免费视频 | 日本免费人成黄页网观看视频 | 色婷婷久久合月综 | 日本特黄特色大片免费看 | 18岁女人毛片| 68日本xxxxxxxxx | 第一页综合| 欧美18性欧美丶黑吊 | 手机看片1024免费视频 | 色天使色护士 在线视频观看 | 欧美色图亚洲激情 | 久久大伊人 | 最近2018年中文字幕免费图片 | 久久久久久久久综合影视网 | 日韩毛片大全免费高清 | 免费人成黄页在线观看1024 | 狠狠色丁香久久婷婷综合丁香 | 成人欧美一区二区三区的电影 | 久久综合亚洲 | 日本免费不卡视频 | 久久精品视频5 | 欧美亚洲h在线一区二区 | 欧美丝袜一区 | 欧美日韩一区二区三区视频 | 成人在线一区二区三区 | 22sihu国产精品视频影视资讯 |