Лекција 98-9: LED мерач на ниво на напон со Arduino или светлина што оди со потенциометар
Овој проект ви покажува како да изградите волтметар за ниво на напон кој користи пет LED диоди како приказ на лента-графикон, управуван целосно од Arduino и еден потенциометар. Како што го вртите копчето, Arduino го чита променливиот напон на аналоген пин и запалува по една LED диода за секој волт, така што редот светла буквално „шета" нагоре и надолу со копчето. Ова е еден од најјасните начини да се разбере аналогниот влез, бидејќи можете да ја видите аналогно-дигиталната конверзија како се случува во реално време како физичка светлосна лента.
Практичната вредност овде оди многу подалеку од светлосно шоу. Откако ќе разберете како да го мапирате измерениот напон на збир на излези, можете да ја искористите истата шема за вистинска инструментација. На пример, можете да изградите:
- Индикатор за полнење на батерија што го прикажува преостанатиот капацитет на 12 V или USB power bank како ред LED диоди.
- Мерач на ниво на вода во резервоар, каде што сензор за пловење дава напон пропорционален на длабочината.
- Приказ на температура со лента користејќи аналоген температурен сензор како LM35.
- Мерач на јачина на сигнал или ниво на звук за радио приемник или засилувач.
- Едноставно читање на сензор за кој било аналоген трансдуцер од 0–5 V (притисок, светлина, позиција).
- Волтметарска сонда за тестирање на напојни линии без екран на мултиметар.
Бидејќи праговите се пресметуваат како проценти од напонот на плочата, истиот код работи на плочи од 5 V како Uno и Mega и на плочи од 3.3 V со промена од само една линија.
Хардвер и компоненти
Списокот на делови е намерно минимален, и сè е објаснето во раниот дел од видеото (во видеото на 01:54). Ќе ви требаат:
- Една Arduino плоча (Uno, Nano или Mega).
- Пет LED диоди, идеално со една боја за да се чита лентата јасно, иако мешаните бои функционираат добро.
- Пет отпорници за ограничување на струја. Упатството користи отпорници од 1 kΩ, но било што од приближно 300 Ω до 1 kΩ ќе работи; повисоките вредности едноставно ги прават LED диодите потемни (во видеото на 05:33).
- Еден потенциометар. Демонстрирани се и тип со ротационо копче и лизгачки тип (во видеото на 02:19).
- Плоча за поврзување и џампер жици.
Кратка забелешка за самата LED диода, бидејќи е важна за поврзувањето: LED диодата е диода, така што спроведува само во една насока. Рамната страна на пластичното тело, и пократката нога, е катодата (негативна). Подолгата нога е анодата (позитивна). Упатството детално го објаснува овој симбол и физичката форма (во видеото на 02:39).
Вредноста на отпорникот не е произволна. LED диодата има пад од приближно 2 V, а малите типови од 3 mm и 5 mm трошат околу 10 mA. Со напојување од 5 V, преостанатите 3 V мора да паднат преку отпорникот, така што Омовиот закон дава R = 3 V / 0.01 A = 300 Ω. Тоа е вредноста за максимална осветленост; користењето на 1 kΩ е безбеден, малку потемнет избор (во видеото на 04:41).
Водич за поврзување
Делот за LED диодите во поврзувањето е идентичен со претходниот проект со светла што шетаат: секоја анода на LED диода се поврзува со свој дигитален пин, а секоја катода оди преку отпорник до заедничка линија за заземјување. Во упатството LED диодите се поврзани на пиновите 7, 6, 5, 4 и 3 (во видеото на 43:04).
Потенциометарот е единствениот нов дел. Неговите два надворешни пина одат до двете напојни линии — еден надворешен пин до заземјување, а другиот до 5 V (или 3.3 V ако мерите систем од 3.3 V). Средниот пин, наречен лизгач, е излезот и мора да се поврзе со аналоген пин A0 (во видеото на 43:30). Лизгачот е тоа што го произведува променливиот напон: како што го вртите копчето, лизгачот се движи по отпорна патека и напонот што го дава се менува непречено помеѓу двете линии.
Еден важен детал: ако го отстраните потенциометарот додека колото работи, аналогниот пин останува слободен и LED диодите ќе трепкаат случајно. Тоа однесување е демонстрирано во видеото (во видеото на 48:52) и е добар потсетник дека аналогниот влез секогаш бара дефиниран извор на напон.
Објаснување на кодот
Кодот е краток и поголемиот дел од него е едноставен, така што овој дел се фокусира само на деловите што ќе сакате да ги промените. Сите овие поставки се наоѓаат на врвот на скицата.
Дефиниции на пинови. Овие му кажуваат на Arduino на кои пинови се поврзани LED диодите и потенциометарот. Ако ги поврзавте LED диодите поинаку, сменете ги овие броеви за да одговараат — редоследот е важен, бидејќи LED1 е најнискиот праг, а LED5 највисокиот.
const int potPin = A0;//define a pin to connect potentiometer
const int LED1 = 7;
const int LED2 = 6;
const int LED3 = 5;
const int LED4 = 4;
const int LED5 = 3;Напон на плочата. Ова е единствената најважна вредност што треба точно да се постави. Таа е референцата според која се пресметува секој праг. Поставете ја на 5.0 за Uno или Mega, и на 3.3 за 3.3 V Nano или слична плоча. Ако ја оставите погрешна, секоја LED ќе се вклучува на погрешен напон (во видеото на 44:19).
float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V
Приказ на напон на сериски монитор. Поставете го ова на true за да се испечати измерениот напон на Serial Monitor на 9600 baud, што е исклучително корисно при калибрација. Поставете го на false за да го исклучите излезот откако сè ќе проработи.
boolean showVoltage = true;//true or false to read voltage in serial monitor
Како функционира конверзијата. Аналогно-дигиталниот конвертор на Arduino враќа број од 0 до 1023, бидејќи е 10-битен конвертор (210 = 1024 чекори). Кодот го скалира тој суров број во реален напон користејќи го напонот на плочата како референца. Ова е линијата што треба да ја запомните ако некогаш преминете на 12-битна плоча како Due, каде што би делеле со 4095 наместо тоа.
int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);
Логиката на праговите. Наместо вчитување на напоните директно, секој чекор е изразен како процент од напонот на плочата. На 95% или повеќе, сите пет LED светат; над 80% само четири; и така сè до 20%, каде што свети само една LED. Овој процентен пристап е она што ја прави скицата пренослива помеѓу 5 V и 3.3 V плочи без препишување на споредбите.
if (voltage >= boardVoltage*0.95)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
}
Бидејќи кодот користи else if, точно една гранка се извршува при секое поминување низ циклусот, така што само точниот број на LED е вклучен во секое време. Доцнењето од 50 ms на крајот од секој циклус го спречува треперењето на приказот.
Жив проект и демонстрација
Со прикачената скица, отворете го Serial Monitor на 9600 baud и полека вртете го копчето. Испечатениот напон и LED лентата се следат closely: на приближно 1 V една LED е вклучена, на 2 V две се вклучени, и така натаму до околу 4.8 V каде што сите пет се вклучени (во видеото на 47:37). Читањата паѓаат во рамките на неколку стотинки од волт од очекуваната вредност, што е одлично за 10-битен конвертор.
Ако чекорите изгледаат малку нерамномерни, тоа обично се отпорниците, а не кодот. Туторијалот забележува дека стандардните карбон-филм отпорници носат толеранција од 10%, додека сините метал-филм типови се обично 1% и даваат забележливо построги, попрецизни чекори (во видеото на 48:18).
Можете исто така да го замените ротациониот потенциометар со лизгачки потенциометар и да го добиете истото однесување со линеарно чувство, што е добра опција ако планирате да го монтирате мерачот во панел (во видеото на 49:07).
Ако сакате рачно да го поместувате светлото наместо со копче, тоа е покриено во Лекција 98-8: Одечко светло со копче и LED со Arduino. И ако едноставно сакате LED диодите да одат по свој тајмер, видете Лекција 98-7: Одечко светло со Arduino и 5 LED.
Поврзани проекти од ова видео
- Лекција 98-1: Како да вклучите и исклучите LED со Arduino
- Лекција 98-2: Како да вклучите и исклучите LED со копче со Arduino
- Лекција 98-3: Како да вклучите/исклучите преклопна LED со копче со Arduino
- Лекција 98-4: Затемнување на LED светло со Arduino: Контрола на осветленост
- Лекција 98-5: Затемнување на светло кога е притиснато копче со Arduino
- Лекција 98-6: Игра со LED клацкалка со Arduino
- Лекција 98-7: Одечко светло со Arduino и 5 LED
- Лекција 98-8: Одечко светло со копче и LED со Arduino
- Лекција 98-10: Arduino сообраќајно светло
Поглавја
- [00:00] Преглед на 10 LED проекти
- [02:29] Основи на LED, симболи и пресметка на отпорник
- [42:25] Вовед во LED мерач на ниво на напон
- [43:04] Поврзување на LED и потенциометар
- [43:54] Објаснување на кодот за напонска лента
- [44:19] Поставување на референцата за напон на плочата
- [46:00] Логика на прагови и процентни чекори
- [47:14] Демонстрација: читање на напон со LED лентата
- [48:18] Толеранција на отпорници и точност
- [49:07] Користење на лизгачки потенциометар
This code has not been parsed yet. Please return to the admin panel to parse it.
Работи што можеби ќе ви требаат
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Ресурси и референци
-
ДокументацијаDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Надворешно
-
Надворешно
-
Надворешно
Датотеки📁
Arduino библиотеки (zip)
-
SunFounder's 3-in-1 Smart Car learning kit изворен код
3in1-kit-main-v2.zip12.80 MB
Упатство за корисникот
-
Прирачник за склопување на SunFounder 3-во-1 Arduino паметен автомобилОвој документ покажува чекор по чекор склопување на SunFounder 3-во-1 Arduino паметен автомобил
SunFounder_car_assembly_manual.pdf1.20 MB