Lesson 98-9: LED mjerač napona pomoću Arduina ili svjetlo koje hoda s potenciometrom
Ovaj projekat vam pokazuje kako napraviti voltmetar nivoa napona koji koristi pet LED dioda kao trakasti grafički prikaz, kojim upravlja isključivo Arduino i jedan potenciometar. Kako okrećete dugme, Arduino očitava promjenjivi napon na analognom pinu i pali po jednu LED diodu za svaki volt, tako da red svjetala doslovno "hoda" gore-dolje s dugmetom. Ovo je jedan od najjasnijih načina za razumijevanje analognog ulaza, jer možete vidjeti analogno-digitalnu konverziju kako se odvija u realnom vremenu kao fizičku svjetlosnu traku.
Praktična vrijednost ovdje nadilazi svjetlosni spektakl. Kada shvatite kako mapirati izmjereni napon na skup izlaza, možete ponovo koristiti isti obrazac za pravu instrumentaciju. Na primjer, mogli biste napraviti:
- Indikator napunjenosti baterije koji prikazuje preostali kapacitet od 12 V ili USB power banke kao red LED dioda.
- Mjerač nivoa vode u rezervoaru, gdje senzor plovka daje napon proporcionalan dubini.
- Trakasti prikaz temperature koristeći analogni temperaturni senzor kao što je LM35.
- Mjerač jačine signala ili nivoa zvuka za radio prijemnik ili pojačalo.
- Jednostavan prikaz očitavanja senzora za bilo koji analogni pretvarač od 0–5 V (pritisak, svjetlost, pozicija).
- Voltmetarsku sondu za testiranje napajanja bez ekrana multimetra.
Budući da se pragovi izračunavaju kao procenti napona ploče, isti kod radi na pločama od 5 V kao što su Uno i Mega i na pločama od 3,3 V uz samo promjenu u jednoj liniji.
Hardver i komponente
Lista dijelova je namjerno minimalna, a sve je objašnjeno u ranom dijelu videa (u videu na 01:54). Trebat će vam:
- Jedna Arduino ploča (Uno, Nano ili Mega).
- Pet LED dioda, idealno jedne boje kako bi se traka jasno čitala, iako miješane boje također rade dobro.
- Pet otpornika za ograničavanje struje. Tutorijal koristi otpornike od 1 kΩ, ali bilo šta od otprilike 300 Ω do 1 kΩ će raditi; veće vrijednosti jednostavno čine LED diode tamnijim (u videu na 05:33).
- Jedan potenciometar. Demonstrirani su i rotacijski tip s dugmetom i klizni tip (u videu na 02:19).
- Breadboard i jumper žice.
Kratka napomena o samoj LED diodi, jer je važna za ožičenje: LED je dioda, tako da provodi struju samo u jednom smjeru. Ravna strana plastičnog kućišta i kraća nožica su katoda (negativna). Duža nožica je anoda (pozitivna). Tutorijal detaljno prolazi kroz ovaj simbol i fizički oblik (u videu na 02:39).
Vrijednost otpornika nije proizvoljna. LED dioda ima pad napona od otprilike 2 V, a mali tipovi od 3 mm i 5 mm troše oko 10 mA. Uz napajanje od 5 V, preostala 3 V moraju se spustiti na otporniku, pa Ohmov zakon daje R = 3 V / 0,01 A = 300 Ω. To je vrijednost za maksimalnu svjetlinu; korištenje 1 kΩ je siguran, malo tamniji izbor (u videu na 04:41).
Vodič za ožičenje
Dio ožičenja za LED diode je identičan ranijem projektu hodajućeg svjetla: anoda svake LED diode spaja se na vlastiti digitalni pin, a svaka katoda ide kroz otpornik na zajedničku šinu uzemljenja. U tutorijalu su LED diode spojene na pinove 7, 6, 5, 4 i 3 (u videu na 43:04).
Potenciometar je jedini novi dio. Njegova dva vanjska pina idu na dvije naponske šine — jedan vanjski pin na uzemljenje, a drugi na 5 V (ili 3,3 V ako mjerite sistem od 3,3 V). Srednji pin, koji se zove klizač, je izlaz i mora se spojiti na analogni pin A0 (u videu na 43:30). Klizač je ono što proizvodi promjenjivi napon: kako okrećete dugme, klizač klizi duž otporničke staze i napon koji daje mijenja se glatko između dvije šine.
Jedan važan detalj: ako uklonite potenciometar dok krug radi, analogni pin ostaje lebdeći i LED diode će treperiti nasumično. To ponašanje je demonstrirano u videu (u videu na 48:52) i dobar je podsjetnik da analogni ulaz uvijek treba definirani izvor napona.
Objašnjenje koda
Kod je kratak i većina njega je jednostavna, pa se ovaj odjeljak fokusira samo na dijelove koje ćete htjeti promijeniti. Sve ove postavke nalaze se na vrhu skice.
Definicije pinova. One govore Arduinu na koje pinove su spojene LED diode i potenciometar. Ako ste drugačije spojili LED diode, promijenite ove brojeve da odgovaraju — redoslijed je važan, jer je LED1 najniži prag, a LED5 najviši.
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;Napon ploče. Ovo je najvažnija vrijednost koju treba ispravno postaviti. To je referenca prema kojoj se izračunava svaki prag. Postavite je na 5.0 za Uno ili Mega, a na 3.3 za 3.3 V Nano ili sličnu ploču. Ako je ostavite pogrešnom, svaka LED dioda će se uključivati pri pogrešnom naponu (u videu na 44:19).
float boardVoltage= 5.0;//for UNO and MEGA 5.0V for Nano either 5V or 3.3V
Prikaz napona na serijskom monitoru. Postavite ovo na true da biste ispisali izmjereni napon na serijskom monitoru pri 9600 bauda, što je izuzetno korisno tokom kalibracije. Postavite na false da biste utišali izlaz kada sve bude radilo.
boolean showVoltage = true;//true or false to read voltage in serial monitor
Kako funkcioniše konverzija. Arduino analogno-digitalni konverter vraća broj od 0 do 1023, jer je to 10-bitni konverter (210 = 1024 koraka). Kôd skalira taj sirovi broj u stvarni napon koristeći napon ploče kao referencu. Ovo je linija koju treba zapamtiti ako ikada pređete na 12-bitnu ploču kao što je Due, gdje biste umjesto toga dijelili sa 4095.
int sensorValue = analogRead(A0);
float voltage = sensorValue * (boardVoltage / 1023.0);
Logika pragova. Umjesto tvrdog kodiranja napona, svaki korak je izražen kao procenat napona ploče. Pri 95% ili više, svih pet LED dioda svijetli; iznad 80% samo četiri; i tako dalje do 20%, gdje svijetli jedna LED dioda. Ovaj pristup sa procentima je ono što čini skicu prenosivom između ploča od 5 V i 3.3 V bez prepisivanja poređenja.
if (voltage >= boardVoltage*0.95)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
}
Pošto kôd koristi else if, tačno jedna grana se izvršava pri svakom prolazu kroz petlju, tako da je samo ispravan broj LED dioda uvijek uključen odjednom. Kašnjenje od 50 ms na kraju svake petlje sprječava treperenje prikaza.
Projekat uživo i demonstracija
Kada je skica učitana, otvorite serijski monitor pri 9600 bauda i polako okrećite potenciometar. Ispisani napon i LED traka se prate blisko: pri otprilike 1 V jedna LED dioda svijetli, pri 2 V dvije svijetle, i tako dalje do oko 4.8 V gdje je svih pet uključeno (u videu na 47:37). Očitavanja padaju unutar nekoliko stotih dijelova volta od očekivane vrijednosti, što je odlično za 10-bitni konverter.
Ako koraci izgledaju blago neravnomjerno, to su obično otpornici, a ne kôd. Tutorijal napominje da standardni karbonski otpornici imaju toleranciju od 10%, dok plavi metal-film tipovi obično imaju 1% i daju primjetno ujednačenije, tačnije korake (u videu na 48:18).
Također možete zamijeniti rotacijski potenciometar kliznim potenciometrom i dobiti isto ponašanje sa linearnim osjećajem, što je lijepa opcija ako planirate montirati mjerač u panel (u videu na 49:07).
Ako želite ručno pomjerati svjetlo umjesto pomoću potenciometra, to je obrađeno u Lekcija 98-8: Pokretno svjetlo sa tasterom i LED diodama uz Arduino. A ako jednostavno želite da LED diode putuju po vlastitom tajmeru, pogledajte Lekcija 98-7: Pokretno svjetlo korištenjem Arduina i 5 LED dioda.
Povezani projekti iz ovog videa
- Lekcija 98-1: Kako uključiti i isključiti LED diodu uz Arduino
- Lekcija 98-2: Kako uključiti i isključiti LED diodu pomoću tastera uz Arduino
- Lekcija 98-3: Kako uključiti/isključiti toggle LED diodu pomoću tastera uz Arduino
- Lekcija 98-4: Postepeno paljenje i gašenje LED svjetla uz Arduino: Kontrola svjetline
- Lekcija 98-5: Postepeno paljenje i gašenje svjetla kada se pritisne taster uz Arduino
- Lekcija 98-6: Igra klackalice sa LED diodama uz Arduino
- Lekcija 98-7: Pokretno svjetlo korištenjem Arduina i 5 LED dioda
- Lekcija 98-8: Pokretno svjetlo sa tasterom i LED diodama uz Arduino
- Lekcija 98-10: Arduino semafor
Poglavlja
- [00:00] Pregled 10 LED projekata
- [02:29] Osnove LED dioda, simboli i izračun otpornika
- [42:25] Uvod u mjerač napona sa LED diodama
- [43:04] Povezivanje LED dioda i potenciometra
- [43:54] Objašnjenje kôda za traku napona
- [44:19] Postavljanje reference napona ploče
- [46:00] Logika pragova i procentualni koraci
- [47:14] Demonstracija: očitavanje napona pomoću LED trake
- [48:18] Tolerancija otpornika i tačnost
- [49:07] Korištenje kliznog potenciometra
This code has not been parsed yet. Please return to the admin panel to parse it.
Stvari koje bi vam mogle zatrebati
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
Resursi i reference
-
DokumentacijaDocumentation for SunFounder 3 in 1 IoT/Smart Car/Learning Kitdocs.sunfounder.com
-
Eksterno
-
Eksterno
-
Eksterno
Datoteke📁
Arduino biblioteke (zip)
-
SunFounder's 3-in-1 Smart Car learning kit source code
3in1-kit-main-v2.zip12.80 MB
Korisnički priručnik
-
SunFounder 3-u-1 Arduino Smart Car priručnik za sastavljanjeOvaj dokument prikazuje korak po korak sastavljanje SunFounder 3-u-1 Arduino Smart Car-a
SunFounder_car_assembly_manual.pdf1.20 MB