chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內(nèi)不再提示

如何構(gòu)建基于Arduino的電壓指示器

454398 ? 來源:工程師吳畏 ? 2019-07-30 11:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為什么電池電量監(jiān)控很重要

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

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

需要的材料

Arduino Uno

16 x 2 LCD顯示器

LED條形圖/10個LED燈泡

Arduino IDE

4 x 1.2V電池

電池座

什么是LED條形圖?

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

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

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

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

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

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

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

項目示意圖

下面是構(gòu)建的原理圖。

電池電量監(jiān)控代碼演練

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

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

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

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

}

接下來,我們創(chuàng)建一個函數(shù), 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);

}

}

一旦我們有了這個功能,我們需要一種方法將模擬值轉(zhuǎn)換成數(shù)字電壓值。通過使用Arduino的內(nèi)置模數(shù)轉(zhuǎn)換器和ADC轉(zhuǎn)換公式,我們將能夠輕松轉(zhuǎn)換這些值。我們還希望在LCD顯示屏上顯示這些轉(zhuǎn)換值。

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

然后我們創(chuàng)建一些條件來控制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);

}

在上圖中,您可以看到我們得到一個幾乎完全充電的電池讀數(shù),相當于大約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);

}

}

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

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

    關注

    0

    文章

    256

    瀏覽量

    39155
  • Arduino
    +關注

    關注

    190

    文章

    6514

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ?基于ST EVLIOL4LSV1 IO-Link執(zhí)行的工業(yè)物聯(lián)網(wǎng)技術解析

    STMicroelectronics EVLIOL4LSV1 IO-Link執(zhí)行設計用于工廠自動化和系統(tǒng)報警指示器應用中使用的傳統(tǒng)塔式燈:它是一套完整的解決方案,可用作工業(yè)化的參考設計。通過IO-Link,EVLIOL4LSV1成為智能塔式燈的執(zhí)行
    的頭像 發(fā)表于 10-17 15:25 ?257次閱讀
    ?基于ST EVLIOL4LSV1 IO-Link執(zhí)行<b class='flag-5'>器</b>的工業(yè)物聯(lián)網(wǎng)技術解析

    TPS563212同步降壓轉(zhuǎn)換技術解析與應用指南

    的電源正常狀態(tài)指示器或外部軟啟動。通過正確配置使能引腳、電源正常狀態(tài)指示器或外部軟啟動可以實現(xiàn)電源時序控制。4.2V至18V的寬輸入電壓范圍支持12V和15V等各種常見的輸入電壓軌。其
    的頭像 發(fā)表于 09-26 10:22 ?371次閱讀
    TPS563212同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>技術解析與應用指南

    TPS562212同步降壓轉(zhuǎn)換技術解析與應用指南

    軟啟動。通過正確配置使能引腳、電源正常狀態(tài)指示器或外部軟啟動可以實現(xiàn)電源時序控制。4.2V至18V的寬輸入電壓范圍支持12V和15V等各種常見的輸入電壓軌。其輸出電壓為0.6V至7V,
    的頭像 發(fā)表于 09-26 09:37 ?322次閱讀
    TPS562212同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>技術解析與應用指南

    德州儀器UCC256404技術方案 使用數(shù)字控制在次級側(cè)實現(xiàn)LLC電流模式控制

    歡迎來到 德州儀器的 電源設計小貼士 Power Tips 系列文章 ? 本期,我們將介紹 LLC 電流模式控制 的詳細知識 ? 電流模式控制 LLC 注意事項 如圖 1 所示, 指示器 - 指示器
    的頭像 發(fā)表于 08-14 10:50 ?3648次閱讀
    德州儀器UCC256404技術方案  使用數(shù)字控制<b class='flag-5'>器</b>在次級側(cè)實現(xiàn)LLC電流模式控制

    TPS60140 穩(wěn)壓5V電荷泵電壓三倍,帶低電量指示器數(shù)據(jù)手冊

    TPS6014x 升壓穩(wěn)壓電荷泵可±從 1.8V至3.6V輸入電壓范圍。這些器件通常由兩個堿性、鎳鎘或 鎳氫電池,并從 2V 輸入提供至少 100 mA 的輸出電流。只有四個 需要外部電容器來構(gòu)建
    的頭像 發(fā)表于 08-04 15:33 ?702次閱讀
    TPS60140 穩(wěn)壓5V電荷泵<b class='flag-5'>電壓</b>三倍<b class='flag-5'>器</b>,帶低電量<b class='flag-5'>指示器</b>數(shù)據(jù)手冊

    TPS60204 穩(wěn)壓 3.3V 低紋波電荷泵,帶低電量指示器數(shù)據(jù)手冊

    電流至少為 100 mA。只需四個外部電容器即可構(gòu)建完整的低紋波DC/DC轉(zhuǎn)換。兩個單端電荷泵的推挽式工作模式確保了低輸出電壓紋波,因為電流連續(xù)傳輸?shù)捷敵龆恕?/div>
    的頭像 發(fā)表于 08-04 09:57 ?807次閱讀
    TPS60204 穩(wěn)壓 3.3V 低紋波電荷泵,帶低電量<b class='flag-5'>指示器</b>數(shù)據(jù)手冊

    TPS563211 4.2V 至 18V、3A、同步降壓轉(zhuǎn)換,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    引腳進行配置。通過正確配置 Enable、Power-Good 指示器或外部軟啟動,可以進行電源排序。4.2 V 至 18 V 的寬輸入電壓范圍支持 12 V 和 15 V 等各種常見輸入軌。它在 0.6V 至 7V 的輸出電壓
    的頭像 發(fā)表于 06-09 17:30 ?616次閱讀
    TPS563211 4.2V 至 18V、3A、同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    TPS562211 4.2V 至 18V、2A、同步降壓轉(zhuǎn)換,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    引腳進行配置。通過正確配置 Enable、Power-Good 指示器或外部軟啟動,可以進行電源排序。4.2 V 至 18 V 的寬輸入電壓范圍支持 12 V 和 15 V 等各種常見輸入軌。它在 0.6 V 至 7 V 的輸出電壓
    的頭像 發(fā)表于 06-09 17:03 ?561次閱讀
    TPS562211 4.2V 至 18V、2A、同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>,精度為 1%,PG/SS 和 PFM/強制 PWM數(shù)據(jù)手冊

    TPS563212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、3A、1.2MHz 同步降壓轉(zhuǎn)換數(shù)據(jù)手冊

    正確配置 Enable pin、power-good 指示器或外部軟啟動,可以進行電源排序。4.2 V 至 18 V 的寬輸入電壓范圍支持 12 V 和 15 V 等各種常見輸入軌。該器件在 0.6V 至 7V 的輸出電壓下支持
    的頭像 發(fā)表于 06-09 15:28 ?568次閱讀
    TPS563212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、3A、1.2MHz 同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>數(shù)據(jù)手冊

    TPS562212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、2A、1.2MHz 同步降壓轉(zhuǎn)換數(shù)據(jù)手冊

    正確配置 Enable pin、power-good 指示器或外部軟啟動,可以進行電源排序。4.2 V 至 18 V 的寬輸入電壓范圍支持 12 V 和 15 V 等各種常見輸入軌。它在 0.6 V 至 7 V 的輸出電壓下支持
    的頭像 發(fā)表于 06-09 14:38 ?541次閱讀
    TPS562212 具有節(jié)能模式和可選 FCCM 的 4.2V 至 18V、2A、1.2MHz 同步降壓轉(zhuǎn)換<b class='flag-5'>器</b>數(shù)據(jù)手冊

    超級電容在故障指示器中的作用有哪些?

    超級電容在故障指示器中的作用有哪些?安裝在輸配電線路、電力電纜及開關柜進出線上的故障指示器在電流流通的線路中起著非常重要的作用,一旦線路發(fā)生故障,巡線人員可以利用指示燈的報警顯示快速的確定故障出現(xiàn)
    的頭像 發(fā)表于 05-16 08:41 ?441次閱讀
    超級電容在故障<b class='flag-5'>指示器</b>中的作用有哪些?

    通過Arduino Nano Matter開發(fā)板構(gòu)建智能卷簾系統(tǒng)

    在本指南中,您將學習如何通過Arduino NanoMatter開發(fā)板和板上的Silicon Labs(芯科科技)MGM240S多協(xié)議無線模塊來構(gòu)建一個智能卷簾系統(tǒng)。該系統(tǒng)可通過 Amazon
    的頭像 發(fā)表于 02-28 09:46 ?896次閱讀
    通過<b class='flag-5'>Arduino</b> Nano Matter開發(fā)板<b class='flag-5'>構(gòu)建</b>智能卷簾系統(tǒng)

    一搖、二遙型配網(wǎng)自動化終端原理和功能介紹

    一搖二遙型配網(wǎng)自動化終端是配套電纜型故障指示器使用的。通信終端能夠與指示器通過光纖通信,接收指示器傳輸?shù)倪b信(故障信息)、遙測(負荷電流)信息進行分析、編譯;可以實時監(jiān)測24路開關節(jié)點狀態(tài),并生成相應的遙信變位信息及SOE信息;
    的頭像 發(fā)表于 02-11 15:51 ?1094次閱讀
    一搖、二遙型配網(wǎng)自動化終端原理和功能介紹

    不同類型熔斷的優(yōu)缺點 熔斷在電路中的作用

    熔斷 優(yōu)點 :分斷電流較大,可用于電壓等級500V及其以下、電流等級200A以下的電路中,且?guī)в腥蹟?b class='flag-5'>指示器,一旦熔體熔斷,指示器會彈出,便于觀察和判斷。 缺點 :結(jié)構(gòu)相對復雜,可能增
    的頭像 發(fā)表于 12-10 10:49 ?3321次閱讀

    淺談架空暫態(tài)特征型遠傳故障指示器

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