Forfatteren af Instructables under kaldenavnet CreativeStuff fortæller, hvordan man implementerer på Arduino den enkleste ohmmeter. For at gøre dette tager han en brødbræt af brødpladetype:
Faktisk Arduino:
Vis på HD44780 (KB1013VG6):
Jumpere "dupont" eller hjemmelavet:
10 kΩ variabel modstand med loddet tynde hårde ledninger (til justering af billedkontrasten på displayet):
Ligner ikke noget? Det er rigtigt, alt nyt er glemt gammelt. Kendere vil huske, hvad det er, og hvor:
470 Ohm Permanent modstand:
Og alt dette hænger sammen i henhold til dette skema:
Da skemaerne, der er udarbejdet i Fritzing-programmet, ikke er meget informative, kompilerer guiden dekrypteringen:
Display Pin 1 - Common Wire
Display Pin 2 - Plus Power
Display Pin 3 - Bevægelig kontakt med en variabel modstand
Display 4 pin - Arduino D12 pin
Display Pin 5 - Common Wire
Skærmstift 6 - D11 Arduino-stift
Skærmstifter 7, 8, 9, 10 er ikke forbundet til noget
Display Pin 11 - Arduino D5 Pin
Vis 12 pin - Arduino D4 pin
Display Pin 13 - Arduino D3 Pin
Display Pin 14 - Arduino D2 Pin
Display Pin 15 - Plus Power
Display Pin 16 - Common Wire
Ved gentagelse af designet er det nødvendigt at studere databladet på skærmen for at finde ud af, om dens base er forskellig fra standarden.
Masteren forbinder en af de faste kontakter i den variable modstand til strømmen plus, den anden til den fælles ledning. En spændingsdelere består af en eksemplarisk og testet modstand: den testede modstand med en udgang til pluseffekten og den eksemplificerende med en udgang til den fælles ledning. De resterende ubesatte udgange fra begge modstande er forbundet og forbundet til Arduino-stift A0. Udfyld skitsen:
#include
// LiquidCrystal (rs, sc, d4, d5, d6, d7)
Flydende krystal lcd (12, 11, 5, 4, 3, 2);
const int analogPin = 0;
int-analog = 0;
int vin = 5;
float buff = 0;
float vout = 0;
float R1 = 0;
float R2 = 470;
ugyldig opsætning () {
lcd.begin (16, 2);
}
void loop () {
analogval = analoglæse (analogPin);
hvis (analog) {
buff = analog * vin;
vout = (buff) / 1024,0;
if (vout> 0,9) {
buff = (vin / vout) - 1;
R1 = R2 * buff;
lcd.set markør (0, 0);
lcd.print ("-Resistance-");
lcd.set markør (0, 1);
hvis ((R1)> 999) {
lcd.print ("");
lcd.print (R1 / 1000);
lcd.print ("K ohm");
}
ellers {
lcd.print ("");
lcd.print (rund (R1));
lcd.print ("ohm");
}
forsinkelse (1000);
lcd.clear ();
}
ellers {
lcd.set markør (0, 0);
lcd.print ("Indsæt modstand");
lcd.set markør (0, 1);
}
}
}
Det anbefales, at referencemotstanden såvel som forsyningsspændingen måles mere nøjagtigt (selvfølgelig, når måling af referencemodstanden skal fjernes midlertidigt), og indtast derefter måleresultaterne i de tilsvarende linier i begyndelsen af skitsen. Tag strømkilden med god stabilisering af udgangsspændingen. Programmet beregner modstanden i henhold til formlen:
R2 = Vout * R1 / (Vin - Vout),
afledt af formlen:
Vout = Vin * R2 / (R1 + R2),
hvor R1 er modstandsmodellen, R2 er den målte modstand, Vin er forsyningsspændingen, Vout er spændingen ved midtpunktet for skillelinjen.
Det gjenstår at fjerne brødbrættet, foretage alle forbindelser ved lodning og overførsel hjemmelavet ind i sagen. Men i denne form er det upraktisk, da det duplikerer ohmmeter-funktionen, der er tilgængelig i multimeteret. Ved at ombygge skitsen og anvende en præcisionskraftkilde og en modelmodstand kan du f.eks. Bruge designet til at sortere modstanderne efter nøjagtighed i deres produktion. For straks at få vist oplysninger om, hvilke af de fem grupper komponenten hører til, når der tilsluttes en modstand: 1, 2, 5, 10 eller 20%.