Författaren till Instructables under smeknamnet CreativeStuff berättar hur man implementerar på Arduino den enklaste ohmmeteren. För att göra detta tar han en brädskiva av brödskivstyp:
Egentligen Arduino:
Visa på HD44780 (KB1013VG6):
Hoppare "dupont" eller hemmagjord:
10 kΩ variabelt motstånd med lödda tunna hårda ledningar (för att justera bildkontrasten på skärmen):
Liknar det ingenting? Det stämmer, allt nytt är väl glömt gammalt. Kännare kommer att komma ihåg vad det är och var:
470 Ohm Permanent motstånd:
Och allt detta ansluter enligt detta schema:
Eftersom scheman som sammanställts i Fritzing-programmet inte är mycket informativa kompilerar guiden dekrypteringen:
Displaystift 1 - Common Wire
Display Pin 2 - Plus Power
Displaystift 3 - rörlig kontakt med en variabel motstånd
Visa 4 stift - Arduino D12-stift
Displaystift 5 - Common Wire
Displaystift 6 - D11 Arduino-stift
Displaystift 7, 8, 9, 10 är inte anslutna till något
Displaystift 11 - Arduino D5-stift
Visa 12 stift - Arduino D4-stift
Displaystift 13 - Arduino D3-stift
Displaystift 14 - Arduino D2-stift
Displaystift 15 - Plus Power
Displaystift 16 - Common Wire
När du upprepar designen är det nödvändigt att studera databladet på skärmen för att ta reda på om dess bas skiljer sig från standarden.
Befälhavaren ansluter en av de fasta kontakterna i det variabla motståndet till kraften plus, den andra till den gemensamma tråden. En spänningsdelare består av ett exemplifierande och testat motstånd: det testade motståndet med en utgång till pluseffekten och den exemplifierande med en utgång till den gemensamma tråden. De återstående obesatta utgångarna från båda resistorerna är anslutna och anslutna till Arduino-stift A0. Fyll skissen:
#include
// LiquidCrystal (rs, sc, d4, d5, d6, d7)
Liquid Crystal lcd (12, 11, 5, 4, 3, 2);
const int analogPin = 0;
int-analog = 0;
int vin = 5;
float buff = 0;
float vout = 0;
flottör R1 = 0;
flottör R2 = 470;
ogiltig installation () {
lcd.begin (16, 2);
}
void loop () {
analogval = analogRead (analogPin);
if (analogval) {
buff = analogval * vin;
vout = (buff) / 1024,0;
if (vout> 0,9) {
buff = (vin / vout) - 1;
R1 = R2 * buff;
lcd.setCursor (0, 0);
lcd.print ("-Resistance-");
lcd.setCursor (0, 1);
om ((R1)> 999) {
lcd.print ("");
lcd.print (R1 / 1000);
lcd.print ("K ohm");
}
annars {
lcd.print ("");
lcd.print (rund (R1));
lcd.print ("ohm");
}
fördröjning (1000);
lcd.clear ();
}
annars {
lcd.setCursor (0, 0);
lcd.print ("Infoga motstånd");
lcd.setCursor (0, 1);
}
}
}
Referensmotståndets, liksom matningsspänningen, rekommenderas att mätas mer exakt (naturligtvis när mätningen av referensmotståndet ska tas bort tillfälligt) och sedan mata in mätresultaten i motsvarande linjer i början av skissen. Ta strömkällan med god stabilisering av utspänningen. Programmet beräknar motståndet enligt formeln:
R2 = Vout * R1 / (Vin - Vout),
härledd från formeln:
Vout = Vin * R2 / (R1 + R2),
där R1 är modellmotståndet, R2 är det uppmätta motståndet, Vin är matningsspänningen, Vout är spänningen vid delarens mittpunkt.
Det återstår att ta bort brädskivan, göra alla anslutningar genom lödning och överföring hemgjorda i fallet. Men i denna form är det opraktiskt, eftersom det duplicerar ohmmeterfunktionen som finns tillgänglig i multimetern. Genom att göra om skissen och tillämpa en precisionskälla och ett exemplifierande motstånd kan du till exempel använda konstruktionen för att sortera motstånden efter noggrannhet i deras produktion. För att omedelbart visa information om vilka av de fem grupperna komponenten tillhör när man ansluter ett motstånd: 1, 2, 5, 10 eller 20%.