色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

如何構建基于Arduino的電壓指示器

454398 ? 來源:工程師吳畏 ? 2019-07-30 11:44 ? 次閱讀

為什么電池電量監控很重要

您是否經歷過建設電池供電項目,然后突然無法工作,因為需要收費?

我們都知道電池有一定的電壓限制。超過或完全失去電池電壓可能導致很多挫折,元件損壞或數據丟失。因此,能夠監控電池電量以便您決定是否需要充電或更換電池不是很好嗎?這就是本讀者將為您做的事情!

需要的材料

Arduino Uno

16 x 2 LCD顯示器

LED條形圖/10個LED燈泡

Arduino IDE

4 x 1.2V電池

電池座

什么是LED條形圖?

LED條形圖是一個由10個獨立LED組成的LED陣列,帶有10個輸出引腳。它有各種應用,包括音頻設備和工業控制面板。

在我們的項目中,我們將其用作電池電量指示器。與任何其他LED一樣,當將LED條連接到微控制器時,必須使用端到地的電阻將陽極引腳連接到正極和陰極引腳。

該項目如何測量電池電量?

很高興理解電池具有我們稱之為電量的電池。它可以理解為電池中包含的電壓量。

Arduino的模擬引腳充當一個簡單的電壓表,可以檢索電壓值。然后,我們可以使用ADC轉換公式將模擬值轉換為數字電壓值。

我們轉換的值將顯示在LED條形圖上,它可以投射強度。因此,如果所有十個LED都點亮,則電池處于全強度狀態。如果只有五個LED亮,則電池的強度為一半。

Arduino Uno ADC的分辨率為10位。 ADC轉換器將0到5伏之間的輸入電壓映射到0到1023之間的整數值。因此,如果我們將輸入analogValue乘以(5/1024),那么我們得到輸入電壓的數字值。

項目示意圖

下面是構建的原理圖。

電池電量監控代碼演練

首先,我們需要定義LCD庫并指定我們將與Arduino一起使用的引腳。我們將模擬引腳A4分配為用于檢查電池電壓的模擬引腳。這些值在float中設置,因此我們可以得到最多兩位小數的電壓值。

#include

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

const int analogPin = A4;

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

float analogValue;

float input_voltage;

然后,我們創建一個數組,用于將引腳分配給LED條形圖。連接LED的引腳編號數組。

int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; // The LEDs attach to this array of pin numbers

int pinCount = 10; // the number of pins

我們將LCD和模擬引腳設置為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_function ,用于使用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);

}

}

一旦我們有了這個功能,我們需要一種方法將模擬值轉換成數字電壓值。通過使用Arduino的內置模數轉換器和ADC轉換公式,我們將能夠輕松轉換這些值。我們還希望在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條形圖,相對于我們從模擬引腳讀取的輸入電壓值A4。

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

}

在上圖中,您可以看到我們得到一個幾乎完全充電的電池讀數,相當于大約3.84V。

完整項目代碼

#include

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

const int analogPin = A4;

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

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

}

}

現在您不必擔心電池意外運行不足。希望這有助于您的下一個電池供電項目!

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

    關注

    0

    文章

    251

    瀏覽量

    38459
  • Arduino
    +關注

    關注

    188

    文章

    6479

    瀏覽量

    188612
收藏 0人收藏

    評論

    相關推薦

    淺談架空暫態特征型遠傳故障指示器

    新品—架空暫態特征型遠傳故障指示器—深圳鼎信生產廠家 型號:JY -DX 一、背景 隨著電力系統的不斷發展,對架空線路的安全運行和故障快速定位的要求越來越高。傳統的故障指示器大多只能提供就地指示
    的頭像 發表于 12-04 16:35 ?258次閱讀

    線路故障指示器為什么變成紅色

    線路故障指示器變成紅色,通常是因為檢測到了線路中的特定電氣量變化,這些變化與線路故障緊密相關。具體來說,以下是一些導致線路故障指示器變紅的主要原因: 1. 短路或接地故障 短路故障 :當線路中發
    的頭像 發表于 09-24 11:04 ?685次閱讀

    線路故障指示器如何復位

    是關于線路故障指示器復位的指南: 1. 了解線路故障指示器 線路故障指示器通常包括電流互感、電壓互感器、故障檢測電路、
    的頭像 發表于 09-24 11:01 ?520次閱讀

    線路故障指示器工作原理是什么

    線路故障指示器是一種用于檢測和定位電力系統中故障的設備,它能夠幫助電力維護人員快速準確地找到故障點,從而提高電力系統的可靠性和安全性。 線路故障指示器的工作原理概述 1. 基本概念 線路故障指示器
    的頭像 發表于 09-24 10:54 ?2296次閱讀

    線路故障指示器怎么判斷故障點

    線路故障指示器在判斷故障點時,主要通過檢測線路中的電氣量變化來實現。以下是一些具體的判斷方法和步驟: 一、工作原理 線路故障指示器一般具備電流采集、電場測量和無線通信功能。當線路出現短路或接地故障
    的頭像 發表于 09-24 10:52 ?1227次閱讀

    在現代系統設計中啟用LED和LCD指示器應用簡介

    電子發燒友網站提供《在現代系統設計中啟用LED和LCD指示器應用簡介.pdf》資料免費下載
    發表于 09-11 09:22 ?0次下載
    在現代系統設計中啟用LED和LCD<b class='flag-5'>指示器</b>應用簡介

    使用電源正常狀態指示器實現輸出放電功能

    電子發燒友網站提供《使用電源正常狀態指示器實現輸出放電功能.pdf》資料免費下載
    發表于 08-29 09:45 ?0次下載
    使用電源正常狀態<b class='flag-5'>指示器</b>實現輸出放電功能

    L60系列0.230英寸(5.9毫米)防水面板安裝指示器

    電子發燒友網站提供《L60系列0.230英寸(5.9毫米)防水面板安裝指示器.pdf》資料免費下載
    發表于 07-24 12:26 ?0次下載

    如何使用Arduino IDE構建的ELF映像?

    我有一個要求,我需要使用使用 Arduino IDE 構建的ELF映像,但 NonOS SDK 中提供了boot_v1.6.bin。我執行了以下步驟 背景: 1. Arduino 構建
    發表于 07-09 07:13

    利用Arduino的數字水位指示器電路設計

    隨著科技的不斷發展,數字化技術在各個領域的應用越來越廣泛。在液位監測領域,數字水位指示器作為一種先進的監測設備,因其高精度、高可靠性和智能化等特點,受到了廣泛的關注和應用。
    的頭像 發表于 06-22 17:48 ?1172次閱讀
    利用<b class='flag-5'>Arduino</b>的數字水位<b class='flag-5'>指示器</b>電路設計

    VL53L8CX TOF開發(4)----運動指示器

    VL53L8CX傳感內置了一個固件功能,可以檢測場景中的運動。這個運動指示器是基于連續幀之間來計算的。使用插件vl53l8cx_plugin_motion_indicator可以使用這個選項
    的頭像 發表于 06-19 10:43 ?1544次閱讀
    VL53L8CX TOF開發(4)----運動<b class='flag-5'>指示器</b>

    內置超級電容模塊的故障指示器有哪些特性?

    內置超級電容模塊的故障指示器有哪些特性?安裝在輸配電線路、電力電纜及開關柜進出線上的故障指示器在電流流通的線路中起著非常重要的作用,一旦線路發生故障,巡線人員可以利用指示燈的報警顯示快速的確定故障
    的頭像 發表于 06-04 09:39 ?562次閱讀
    內置超級電容模塊的故障<b class='flag-5'>指示器</b>有哪些特性?

    使用Arduino的溫控風扇電路分享

    “使用Arduino的溫控風扇”項目只是圍繞Arduinouno板和溫度傳感LM35制造的。這些項目是使用閉環反饋控制系統設計的嵌入式系統的一個很好的例子。為了獲得正確的用戶界面視覺指示,我們還使用了LCD,用于
    的頭像 發表于 05-05 15:41 ?2592次閱讀
    使用<b class='flag-5'>Arduino</b>的溫控風扇電路分享

    直流電源的熔斷指示器

    實際工程中,不但需要指示正常供電的狀態,還需要提供保險絲熔斷的故障指示。兩者缺一不可,省略正常供電指示,無法判斷供電是否正常,供電和不供電的狀態相同。
    發表于 04-22 01:09

    電力電纜故障指示器|誤差探討|行波故障定位的選項

    以往電力電纜故障指示器誤差過大的原因可能有以下幾點:? 1. 設備自身問題:故障指示器設備本身可能存在制造或設計上的缺陷,導致其指示精度不夠。 2. 安裝環境影響:故障指示器可能受到安
    的頭像 發表于 03-28 10:49 ?1040次閱讀
    主站蜘蛛池模板: 骚妇BB双飞插 | 魅男mangay| 性吧 校园春色 | 亚洲国产成人久久精品影视 | 中文无码字慕在线观看 | 99久久做夜夜爱天天做精品 | 亚洲精品视频在线观看免费 | 亚洲高清毛片一区二区 | 亚洲精品久久无码AV片银杏 | 色狠狠一区二区 | 在线亚洲国产日韩欧洲专区 | 处女座历史名人 | 免费看www视频 | 午夜神器18以下不能进免费 | 色欲AV精品人妻一二三区 | 就去色一色| 无码观看AAAAAAAA片 | 亚洲色视在线观看视频 | 99精品热视频30在线热视频 | AV国产乱码一区二区三视频 | 在线播放免费人成视频 | 久久亚洲一级α片 | 亚洲乱色视频在线观看 | 亚洲国产成人在线视频 | 国产在线精品亚洲第1页 | gogogo在线观看 | 伊人久久大香线蕉资源 | 特黄特黄aaaa级毛片免费看 | 一本色道久久综合亚洲精品加 | 乱VODAFONEWIFI熟妇 | 极品网红液液酱粉嫩福利照子凌酱 | 好男人在线高清WWW免费观看 | 亚洲男人在线观看 | 精品国产中文字幕在线视频 | 黄色免费网址在线观看 | 亚洲精品无码一区二区三区四虎 | 暖暖 日本 视频 在线观看免费 | 玩弄人妻少妇500系列网址 | 国产午夜永久福利视频在线观看 | 啊轻点灬大JI巴又大又粗 | 亚洲国产在线视频中文字 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品