- Potrebne komponente:
- Kružni dijagram:
- Arduino Uno:
- LCD od 16x2:
- Koncept otpora kod boja:
- Izračunavanje otpora pomoću Arduino Ohm metra:
- Objašnjenje koda:
Teško čitamo kodove boja na otpornicima kako bismo pronašli njegov otpor. Kako bismo prevladali poteškoće u pronalaženju vrijednosti otpora, izgradit ćemo jednostavan mjerač ohma pomoću Arduina. Osnovni princip ovog projekta je mreža razdjelnika napona. Vrijednost nepoznatog otpora prikazuje se na LCD zaslonu 16 * 2. Ovaj projekt također služi kao 16 * 2 LCD zaslon koji povezuje Arduino.
Potrebne komponente:
- Arduino Uno
- LCD zaslon od 16 * 2
- Potenciometar (1 kilo Ohm)
- Otpornici
- Breadboard
- Žice kratkospojnika
Kružni dijagram:

Arduino Uno:
Arduino Uno je ploča mikrokontrolera otvorenog koda koja se temelji na mikrokontroleru ATmega328p. Ima 14 digitalnih pinova (od kojih se 6 pinova mogu koristiti kao PWM izlazi), 6 analognih ulaza, regulator napona na ploči itd. Arduino Uno ima 32 KB flash memorije, 2 KB SRAM-a i 1 KB EEPROM-a. Radi na taktnoj frekvenciji od 16MHz. Arduino Uno podržava serijsku, I2C, SPI komunikaciju za komunikaciju s drugim uređajima. Tablica u nastavku prikazuje tehničke specifikacije Arduino Uno.
| Mikrokontroler | ATmega328p |
| Radni napon | 5V |
| Ulazni napon | 7-12 V (preporučeno) |
| Digitalni I / O pinovi | 14 |
| Analogne igle | 6 |
| Brza memorija | 32 KB |
| SRAM | 2 KB |
| EEPROM | 1 KB |
|
Brzina sata |
16MHz |
LCD od 16x2:
LCD 16 * 2 široko je korišten zaslon za ugrađene aplikacije. Evo kratkog objašnjenja o pinovima i radu LCD zaslona 16 * 2. Unutar LCD-a nalaze se dva vrlo važna registra. Oni su registar podataka i registar naredbi. Registar naredbi koristi se za slanje naredbi poput jasnog prikaza, pokazivača kod kuće itd., Registar podataka koristi se za slanje podataka koji će se prikazati na LCD-u 16 * 2. Ispod tablice prikazan je pin opis 16 * 2 lcd.
|
Prikvači |
Simbol |
I / O |
Opis |
|
1 |
Vss |
- |
Prizemlje |
|
2 |
Vdd |
- |
+ 5V napajanje |
|
3 |
Vee |
- |
Napajanje za kontrolu kontrasta |
|
4 |
RS |
Ja |
RS = 0 za registar naredbi, RS = 1 za registar podataka |
|
5 |
RW |
Ja |
R / W = 0 za pisanje, R / W = 1 za čitanje |
|
6 |
E |
I / O |
Omogućiti |
|
7 |
D0 |
I / O |
8-bitna sabirnica podataka (LSB) |
|
8 |
D1 |
I / O |
8-bitna sabirnica podataka |
|
9 |
D2 |
I / O |
8-bitna sabirnica podataka |
|
10 |
D3 |
I / O |
8-bitna sabirnica podataka |
|
11 |
D4 |
I / O |
8-bitna sabirnica podataka |
|
12 |
D5 |
I / O |
8-bitna sabirnica podataka |
|
13 |
D6 |
I / O |
8-bitna sabirnica podataka |
|
14 |
D7 |
I / O |
8-bitna sabirnica podataka (MSB) |
|
15 |
A |
- |
+ 5V za pozadinsko osvjetljenje |
|
16 |
K |
- |
Prizemlje |
Koncept otpora kod boja:
Da bismo identificirali vrijednost otpora možemo se poslužiti formulom u nastavku.
R = {(AB * 10 c) Ω ± T%}
Gdje
A = Vrijednost boje u prvom pojasu.
B = Vrijednost boje u drugom pojasu.
C = Vrijednost boje u trećem pojasu.
T = Vrijednost boje u četvrtom pojasu.
Tablica u nastavku prikazuje kod boja otpornika.
|
Boja |
Numerička vrijednost boje |
Faktor množenja (10 c) |
Vrijednost tolerancije (T) |
|
Crno |
0 |
10 0 |
- |
|
Smeđa |
1 |
10 1 |
± 1% |
|
Crvena |
2 |
10 2 |
± 2% |
|
naranča |
3 |
10 3 |
- |
|
Žuta boja |
4 |
10 4 |
- |
|
Zelena |
5 |
10 5 |
- |
|
Plava |
6 |
10 6 |
- |
|
Ljubičasta |
7 |
10 7 |
- |
|
Siva |
8 |
10 8 |
- |
|
Bijela |
9 |
10 9 |
- |
|
Zlato |
- |
10 -1 |
± 5% |
|
Srebro |
- |
10 -2 |
± 10% |
|
Nijedan bend |
- |
- |
± 20% |
Na primjer, ako su kodovi boja Smeđa - Zelena - Crvena - Srebrna, vrijednost otpora izračunava se kao, Smeđa = 1 zelena = 5 crvena = 2 srebrna = ± 10%
Iz prva tri opsega, R = AB * 10 c
R = 15 * 10 +2 R = 1500 Ω
Četvrti pojas označava toleranciju od ± 10%
10% od 1500 = 150 Za + 10 posto, vrijednost je 1500 + 150 = 1650Ω Za - 10 posto, vrijednost je 1500 -150 = 1350Ω
Stoga stvarna vrijednost otpora može biti između 1350Ω i 1650Ω.
Da bi bilo prikladnije ovdje je kalkulator kodova otpora u kojem trebate samo unijeti boju prstenova na otporniku i dobit ćete vrijednost otpora.
Izračunavanje otpora pomoću Arduino Ohm metra:
Rad ovog mjerača otpora vrlo je jednostavan i može se objasniti pomoću jednostavne mreže djelitelja napona prikazane u nastavku.
Iz mreže razdjelnika napona otpornika R1 i R2, Vout = Vin * R2 / (R1 + R2)
Iz gornje jednadžbe vrijednost R2 možemo zaključiti kao
R2 = Vout * R1 / (Vin - Vout)
Gdje je R1 = poznati otpor
R2 = nepoznati otpor
Vin = napon proizveden na 5V pinu Arduina
Vout = napon na R2 u odnosu na masu.
Napomena: odabrana vrijednost poznatog otpora (R1) je 3,3 KΩ, ali korisnici bi je trebali zamijeniti vrijednošću otpora otpornika koji su odabrali.

Dakle, ako dobijemo vrijednost napona na nepoznatom otporu (Vout), možemo lako izračunati nepoznati otpor R2. Ovdje smo očitali vrijednost napona Vout pomoću analognog pina A0 (pogledajte shemu sklopa) i pretvorili te digitalne vrijednosti (0 -1023) u napon kako je objašnjeno u donjem kodu.
Ako je vrijednost poznatog otpora daleko veća ili manja od nepoznatog otpora, pogreška će biti veća. Stoga se savjetuje da poznatu vrijednost otpora držite bliže nepoznatom otporu.
Objašnjenje koda:
Kompletan Arduino programa i Demo video za ovaj projekt daje na kraju ovog projekta. Kôd je podijeljen na male značajne dijelove i objašnjen u nastavku.
U ovom dijelu koda definirat ćemo igle na kojima je LCD zaslon 16 * 2 povezan s Arduinom. RS pin od 16 * 2 lcd povezan je s digitalnim pinom 2 od arduina. Omogućeni pin od 16 * 2 lcd povezan je s digitalnim pinom 3 Arduina. Priključci za podatke (D4-D7) od 16 * 2 lcd povezani su s digitalnim pribadačama 4,5,6,7 Arduina.
LCD LiquidCrystal (2,3,4,5,6,7); // rs, e, d4, d5, d6, d7
U ovom dijelu koda definiramo neke varijable koje se koriste u programu. Vin je napon koji daje 5V pin arduina. Vout je napon na otporniku R2 u odnosu na masu.
R1 je vrijednost poznatog otpora. R2 je vrijednost nepoznatog otpora.
int Vin = 5; // napon na 5V pinu arduino plutajućeg Vout = 0; // napon na A0 pinu arduino plovka R1 = 3300; // vrijednost poznatog plutajućeg otpora R2 = 0; // vrijednost nepoznatog otpora
U ovom dijelu koda inicijalizirat ćemo 16 * 2 lcd zaslon. Naredbe se daju LCD zaslonu 16 * 2 za različite postavke kao što su prozirni zaslon, prikaz na treptaju kursora itd.
lcd.početak (16,2);
U ovom dijelu koda analogni napon na otporu R2 (A0 pin) pretvara se u digitalnu vrijednost (0 do 1023) i pohranjuje u varijablu.
a2d_data = analogRead (A0);
U ovom dijelu koda digitalna vrijednost (0 do 1023) pretvara se u napon za daljnje izračune.
međuspremnik = a2d_data * Vin; Vout = (međuspremnik) /1024,0;
Težak Uno ADC je 10-bitni rezolucije (kako je cijeli broj od 0 vrijednosti - 2 ^ 10 = 1024 vrijednosti). To znači da će preslikati ulazne napone između 0 i 5 volti u cjelobrojne vrijednosti između 0 i 1023. Dakle, ako pomnožimo ulazni anlogValue s (5/1024), tada dobivamo digitalnu vrijednost ulaznog napona. Ovdje naučite kako koristiti ADC ulaz u Arduinu.
U ovom dijelu koda stvarna vrijednost nepoznatog otpora izračunava se pomoću gore opisanog postupka.
međuspremnik = Vout / (Vin-Vout); R2 = R1 * međuspremnik;
U ovom dijelu koda vrijednost nepoznatog otpora ispisuje se na LCD zaslonu od 16 * 2.
lcd.setCursor (4,0); lcd.print ("ohm metar"); lcd.setCursor (0,1); lcd.print ("R (ohm) ="); lcd.ispis (R2);
To je lako izračunavanje otpora nepoznatog otpora pomoću Arduina. Također provjerite:
- Arduino mjerač frekvencije
- Arduino mjerač kapacitivnosti
