Programmas Instructables autors ar segvārdu CreativeStuff stāsta, kā to ieviest Arduino vienkāršākais ommeters. Lai to izdarītu, viņš ņem maizes dēļa tipa maizes dēli:
Patiesībā Arduino:
Displejs HD44780 (KB1013VG6):
Džemperi "dupont" vai mājās:
Mainīgs 10 kOhm rezistors ar lodētiem plāniem cietiem vadiem (attēla kontrasta pielāgošanai displejā):
Vai tas neko neatgādina? Tieši tā, viss jaunais ir labi aizmirsts vecais. Cienītāji atcerēsies, kas tas ir un kur:
470 omu pastāvīgais rezistors:
Un tas viss notiek saskaņā ar šo shēmu:
Tā kā programmā Fritzing apkopotās shēmas nav ļoti informatīvas, vednis sastāda atšifrēšanu:
1. displeja tapa - parastais vads
Displeja tapa 2 - Plus jauda
Displeja tapa 3 - mainīga rezistora kustīgais kontakts
Displejs 4 pin - Arduino D12 pin
5. displeja tapa - parastais vads
Displeja tapa 6 - D11 Arduino tapa
Displeja tapas 7, 8, 9, 10 nav savienotas ar neko
Displeja tapa 11 - Arduino D5 tapa
Displejs 12 pin - Arduino D4 pin
Displeja tapa 13 - Arduino D3 tapa
Displeja tapa 14 - Arduino D2 tapa
Displeja pin 15 - Plus Power
Displeja tapa 16 - parastais vads
Atkārtojot noformējumu, ir jāizpēta displejā esošā datu lapa, lai noskaidrotu, vai tās pamatne atšķiras no standarta.
Kapteinis savieno vienu no mainīgā rezistora fiksētajiem kontaktiem ar jaudas plusu, otro - ar kopējo vadu. Sprieguma dalītāju veido paraugs un pārbaudīts rezistors: pārbaudīts rezistors ar vienu izeju līdz barošanas avota plusam, un paraugs ar vienu izeju uz kopējo vadu. Abu rezistoru atlikušās neaizņemtās izejas ir savienotas kopā un savienotas ar Arduino tapu A0. Aizpildiet skici:
# iekļaut
// LiquidCrystal (rs, sc, d4, d5, d6, d7)
Šķidro kristālu LCD (12, 11, 5, 4, 3, 2);
const int analogPin = 0;
int analogval = 0;
int vin = 5;
float buff = 0;
float vout = 0;
pludiņš R1 = 0;
pludiņš R2 = 470;
Nederīga iestatīšana () {
lcd.begin (16, 2);
}
tukšs cilpa () {
analogval = analogRead (analogPin);
if (analogval) {
buff = analogval * vin;
vout = (bifeļāda) / 1024,0;
if (vout> 0,9) {
buff = (vin / vout) - 1;
R1 = R2 * bifeļāda;
lcd.setCursor (0, 0);
lcd.print ("-Atbildība-");
lcd.setCursor (0, 1);
ja ((R1)> 999) {
lcd.print ("");
lcd.print (R1 / 1000);
lcd.print ("K ohm");
}
cits {
lcd.print ("");
lcd.print (apaļa (R1));
lcd.print ("omu");
}
kavēšanās (1000);
lcd.clear ();
}
cits {
lcd.setCursor (0, 0);
lcd.print ("Ievietot rezistoru");
lcd.setCursor (0, 1);
}
}
}
Atsauces pretestības pretestību, kā arī barošanas spriegumu ieteicams izmērīt precīzāk (protams, mērot atsauces rezistoru uz laiku jānoņem), un pēc tam skices sākumā ievadiet mērījumu rezultātus atbilstošās rindās. Paņemiet strāvas avotu ar labu izejas sprieguma stabilizāciju. Programma aprēķina pretestību pēc formulas:
R2 = Vout * R1 / (Vin - Vout),
atvasināts no formulas:
Vout = Vin * R2 / (R1 + R2),
kur R1 ir modeļa pretestība, R2 ir izmērītā pretestība, Vin ir barošanas spriegums, Vout ir spriegums dalītāja viduspunktā.
Atliek noņemt maizes dēli, veikt visus savienojumus, lodējot un pārsūtīt mājās gatavots lietā. Bet šādā formā tas nav praktiski izmantojams, jo tas dublē multimetrā pieejamo ommetra funkciju. Pārveidojot skici un piemērojot precīzu enerģijas avotu un modeļa rezistoru, jūs varat izmantot dizainu, piemēram, lai rezistorus sakārtotu pēc precizitātes to ražošanā. Lai nekavējoties parādītu informāciju par to, kurai no piecām grupām komponents pieder, pievienojot rezistoru: 1, 2, 5, 10 vai 20%.