„Instructable“, pravarde CreativeStuff, autorius pasakoja, kaip tai įgyvendinti Arduino paprasčiausias ommetris. Norėdami tai padaryti, jis imasi duonos tipo duonos lentos:
Iš tikrųjų Arduino:
Ekranas HD44780 (KB1013VG6):
Džemperiai „dupont“ arba naminiai:
10 kΩ kintamasis rezistorius su lituotais plonais kietaisiais laidais (ekrano vaizdo kontrastui reguliuoti):
Ar tai nieko nepanašus? Teisingai, viskas nauja yra gerai pamiršta sena. Žurnalistai atsimins, kas tai yra ir kur:
470 omų nuolatinis rezistorius:
Ir visa tai jungiasi pagal šią schemą:
Kadangi programoje Fritzing sudarytos schemos nėra labai informatyvios, vedlys surašo iššifravimą:
1 ekrano kaištis - bendroji viela
2 ekrano kaištis - „Plus Power“
3 ekrano kaištis - kintamo rezistoriaus judantis kontaktas
Ekranas 4 kaiščiai - „Arduino D12“ kaištis
5 ekrano kaištis - bendroji viela
6 ekrano kaištis - D11 „Arduino“ kaištis
7, 8, 9, 10 rodymo kaiščiai nėra prie nieko prijungti
11 ekrano kaištis - „Arduino D5“ kaištis
Ekranas 12 kaiščių - „Arduino D4“ kaištis
13 ekrano kaištis - „Arduino D3“ kaištis
14 ekrano kaištis - „Arduino D2“ kaištis
Ekrano 15 segtukas - „Plus Power“
16 ekrano kaištis - įprasta viela
Kartojant dizainą, būtina išstudijuoti duomenų lapą ekrane, norint išsiaiškinti, ar jo bazė skiriasi nuo standartinio.
Meistras vieną iš fiksuotų kintamojo rezistoriaus kontaktų jungia prie galios pliuso, antrą - prie bendro laido. Įtampos daliklis yra sudarytas iš pavyzdinio ir išbandyto rezistoriaus: išbandyto rezistoriaus, kurio vienas išėjimas yra iki maitinimo šaltinio pliuso, o pavyzdinio - su vienu išėjimu į bendrą laidą. Likę neužimti abiejų rezistorių išėjimai yra sujungti ir sujungti su Arduino kaiščiu A0. Užpildykite eskizą:
# įtraukite
// „LiquidCrystal“ (rs, sc, d4, d5, d6, d7)
Skystųjų kristalų LCD (12, 11, 5, 4, 3, 2);
const int analogPin = 0;
int analogval = 0;
int vin = 5;
„float buff“ = 0;
float vout = 0;
plūdės R1 = 0;
plūdė R2 = 470;
negaliojanti sąranka () {
lcd.begin (16, 2);
}
tuščia kilpa () {
analogval = analogRead (analogPin);
if (analoginis) {
buff = analoginis * vin;
vout = (buferis) / 1024,0;
if (vout> 0,9) {
buff = (vin / vout) - 1;
R1 = R2 * bufetas;
„lcd.setCursor“ (0, 0);
lcd.print („-Atsparumas-“);
lcd.setCursor (0, 1);
if ((R1)> 999) {
lcd.print ("");
lcd.print (R1 / 1000);
lcd.print („K ohm“);
}
dar {
lcd.print ("");
lcd.print (apvalus (R1));
lcd.print („omas“);
}
vėlavimas (1000);
lcd.clear ();
}
dar {
„lcd.setCursor“ (0, 0);
lcd.print („Įterpti rezistorių“);
lcd.setCursor (0, 1);
}
}
}
Rekomenduojama tiksliau išmatuoti pamatinio rezistoriaus varžą, taip pat maitinimo įtampą (žinoma, matuojant pamatinį rezistorių reikėtų laikinai pašalinti), o tada eskizo pradžioje atitinkamose eilutėse įveskite matavimo rezultatus. Paimkite maitinimo šaltinį gerai stabilizuodami išėjimo įtampą. Programa pasipriešinimą apskaičiuoja pagal formulę:
R2 = Vout * R1 / (Vin - Vout),
gauta iš formulės:
Vout = Vin * R2 / (R1 + R2),
kur R1 yra modelio varža, R2 yra išmatuota varža, Vin yra maitinimo įtampa, Vout yra įtampa daliklio viduryje.
Belieka pašalinti lentos lentą, užmegzti visas jungtis litavimo ir perkėlimo būdu naminis į bylą. Tačiau tokia forma yra nepraktiška, nes ji dubliuoja multimetro galimą ommeterio funkciją. Remontuodami eskizą ir taikydami tikslią galios šaltinį bei modelio rezistorių, galite naudoti dizainą, pavyzdžiui, rūšiuoti rezistorius pagal jų gamybos tikslumą. Norint iš karto parodyti informaciją, kuriai iš penkių grupių priklauso komponentas jungiant rezistorių: 1, 2, 5, 10 ar 20%.