精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

基于用Arduino開發板電池電壓監測方案

電子設計 ? 來源:一板網 ? 作者:風箏 ? 2021-01-09 11:51 ? 次閱讀

電池有一定的電壓限制,如果電壓在充電或放電時超出規定的限制,電池的使用壽命就會受到影響或降低。每當我們在項目中使用電池供電時,有時我們需要檢查電池的電壓電量,確定是否需要充電或更換。本篇文章將幫助您如何使用Arduino開發板監測電池電壓。該電池電壓指示器可以指示電池狀態,并且能夠根據電池的不同電壓在10段LED光柱上點亮LED。它還將一個LCD連接到Arduino開發板,并在LCD上顯示電池電壓。

所需的材料

● Arduino UNO開發板

● 10段LED光柱顯示器件

● LCD液晶顯示模塊(16 * 2)

● 10K的電位器

電阻(10個100ohm; 330ohm)

● 電池(將要被測試)

● 連接導線

● 適用于Arduino的12v適配器

電路原理

pIYBAF_5J8iAHecUAALHykgfMTM990.png

使用Arduino和LED光柱顯示器件的電池電壓指示器電路圖

LED光柱顯示

LED光柱顯示器件采用工業標準尺寸,并且功耗低。光柱根據發光強度進行分類。該產品本身仍然符合RoHS標準。它具有高達2.6V的正向電壓。每段功耗為65mW。 LED光柱顯示的工作溫度為-40℃至80℃。LED光柱顯示器件有很多的應用,如音頻設備、儀表板和數字讀出顯示器等。

以下是LED光柱顯示器件的引腳圖:

pIYBAF_5J9SABPDwAABTf3-8T08708.png

以下是LED光柱顯示器件的引腳配置:

pIYBAF_5J-GACTzPAAD-VgCUaPc293.png


Arduino電池電壓監測程序

在本文的末尾處給出了完整的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)

將LCD和模擬引腳(A0、A1、A2、A3)設置為OUTPUT引腳。

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光柱顯示器件。您可以在代碼中查看以下條件:

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

}

}

電池電壓指示器的工作

電池電壓指示器只需讀取Arduino的模擬引腳的值,并使用模數轉換(ADC)公式將其轉換為數字值即可。 Arduino Uno的ADC具有10位分辨率(所以整數值從0 - 2 ^ 10 = 1024)。 這意味著它將0到5伏的輸入電壓映射到0到1023之間的整數值。所以如果我們將輸入模擬電壓anlogValue乘以(5/1024),那么我們就可以得到輸入電壓的數字值。 在這里,我們學習了如何在Arduino中使用ADC輸入。 然后使用該數字值相應地點亮LED光柱顯示器件。

編輯:hfy

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

    關注

    34

    文章

    4411

    瀏覽量

    167089
  • 液晶顯示
    +關注

    關注

    6

    文章

    584

    瀏覽量

    40264
  • 電池電壓
    +關注

    關注

    0

    文章

    195

    瀏覽量

    11658
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186650
收藏 人收藏

    評論

    相關推薦

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數配置等。 一、硬件準備 Arduino開發板 :確保你有一塊Arduino
    的頭像 發表于 11-22 09:24 ?194次閱讀

    基于哪吒開發板部署YOLOv8模型

    2024英特爾 “走近開發者”互動活動-哪吒開發套件免費試 AI 創新計劃:哪吒開發板是專為支持入門級邊緣 AI 應用程序和設備而設計,能夠滿足人工智能學習、
    的頭像 發表于 11-15 14:13 ?156次閱讀
    基于哪吒<b class='flag-5'>開發板</b>部署YOLOv8模型

    正點原子fpga開發板不同型號

    正點原子作為國內領先的FPGA開發板供應商,其產品線覆蓋了從入門級到高端應用的各個領域。這些開發板不僅適用于學術研究,還廣泛應用于工業控制、通信、圖像處理等多個領域。 1. 入門級開發板 1.1
    的頭像 發表于 11-13 09:30 ?290次閱讀

    Air700E開發板+毫米波雷達,手搓了一個睡眠監測

    ? Air700E開發板+毫米波雷達,手搓一個開箱即用的睡眠監測儀,不花冤枉錢!
    的頭像 發表于 10-05 14:43 ?240次閱讀
    <b class='flag-5'>用</b>Air700E<b class='flag-5'>開發板</b>+毫米波雷達,手搓了一個睡眠<b class='flag-5'>監測</b>儀

    51開發板芯片資料

    51開發板芯片資料
    發表于 09-18 09:29 ?1次下載

    RISC-V有沒有類似Arduino那樣的開發板

    使用ARduino開發,由于有第三方提供的庫支持,在開發上非常方便。RISC-V有沒有在Arduino IDE上可以使用的開發板
    發表于 06-23 12:32

    鴻蒙OpenHarmony開發板解析:【芯片解決方案

    芯片解決方案是指基于某款開發板的完整解決方案,包含驅動、設備側接口適配、開發板sdk等。
    的頭像 發表于 05-10 15:42 ?1163次閱讀
    鴻蒙OpenHarmony<b class='flag-5'>開發板</b>解析:【芯片解決<b class='flag-5'>方案</b>】

    SiliconLabs攜手Arduino演示基于MGM240模塊的新型Nano Matter開發板

    Arduino Nano Matter開發板,從而將Matter協議引入Arduino生態系統,為廣大的開發人員提供一個快速涉足Matter互聯互通設計的絕佳途徑。
    的頭像 發表于 04-11 17:35 ?616次閱讀
    SiliconLabs攜手<b class='flag-5'>Arduino</b>演示基于MGM240模塊的新型Nano Matter<b class='flag-5'>開發板</b>

    fpga開發板是什么?fpga開發板有哪些?

    FPGA開發板是一種基于FPGA(現場可編程門陣列)技術的開發平臺,它允許工程師通過編程來定義和配置FPGA芯片上的邏輯電路,以實現各種數字電路和邏輯功能。FPGA開發板通常包括FPGA芯片、時鐘模塊、電源模塊、輸入輸出接口等組
    的頭像 發表于 03-14 18:20 ?1830次閱讀

    fpga開發板使用教程

    FPGA開發板的使用教程主要包括以下幾個關鍵步驟。
    的頭像 發表于 03-14 15:50 ?970次閱讀

    fpga開發板與linux開發板區別

    FPGA開發板與Linux開發板是兩種不同的硬件開發平臺,各自具有不同的特點和應用場景。在以下的文章中,我將詳細介紹FPGA開發板和Linux開發板
    的頭像 發表于 02-01 17:09 ?2085次閱讀

    迅為RK3588開發板-智慧能源行業的解決方案

    迅為RK3588開發板-智慧能源行業的解決方案
    的頭像 發表于 01-24 15:26 ?563次閱讀
    迅為RK3588<b class='flag-5'>開發板</b>-智慧能源行業的解決<b class='flag-5'>方案</b>

    小安派Arduino開發板 ,全新支持以太網口

    前面幾款小安派出來的時候,經常有粉絲詢問是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社區搜索查看,小安派-UNO-ET485 Arduino開發板來了,兼容UNO的經典外形,易
    的頭像 發表于 12-06 16:00 ?748次閱讀
    小安派<b class='flag-5'>Arduino</b><b class='flag-5'>開發板</b> ,全新支持以太網口

    基于全志XR806開發板的家用環境監測傳感器設計

    本文來自全志XR806開發板評測活動文章,作者使用XR806開發板制作一個簡單的家用環境監測傳感器,可以獲取當前的溫度、濕度、氣壓、海拔這四個參數,同時能夠通過外部的屏幕實時顯示刷新。
    的頭像 發表于 12-03 10:20 ?644次閱讀
    基于全志XR806<b class='flag-5'>開發板</b>的家用環境<b class='flag-5'>監測</b>傳感器設計

    小安派-UNO-ET485 Arduino開發板簡介

    前面幾款小安派出來的時候,經常有粉絲詢問是否支持Arduino?其它款小安派也是支持的,大家可以去安信可社區搜索查看,小安派-UNO-ET485 Arduino開發板來了,兼容UNO的經典外形,易上手。
    的頭像 發表于 12-03 09:58 ?907次閱讀
    小安派-UNO-ET485 <b class='flag-5'>Arduino</b><b class='flag-5'>開發板</b>簡介