Intellekten Edisson: Digital Ohmmeter (spänningsavdelare) (3 / 4 steg)
Steg 3: kodning
Denna ohmmeter fungerar att 2 motstånden i serien bildar en spänningsavdelare krets. (R1 + R2)
Ena änden av paret resistor är ansluten till Vcc + 5V och den andra änden är ansluten till GND.
De 5 volt som Arduino ger blir uppdelat mellan 2 motstånden.
Motståndet som rymmer större motståndet blir mer av spänning, enligt Ohms lag, V = IR, där V är spänningen, jag är aktuella och R är motstånd
Den spänning som faller över en komponent är direkt proportionell mot mängden motstånd den innehåller.
Med hjälp av denna princip, kan vi sätta upp en matematisk modell att bestämma motståndet, baserat på spänning uppdelningen.
Formeln kan hittas direkt från koden.
int analogPin = 0;
int läsa = 0;
int Vin = 5;
flyta Vout = 0;
flyta R1 = 1000;
flyta R2 = 0;
float buffert = 0;
#include
#include "rgb_lcd.h"
rgb_lcd lcd;
CONST int colorR = 255;
CONST int colorG = 255;
CONST int colorB = 255;
void setup()
{
Serial.BEGIN(115200);
LCD.BEGIN (16, 2);
lcd.setRGB (colorR, colorG, colorB);
}
void loop()
{
läsning = analogRead(analogPin);
IF(Reading)
{
buffert = läsning * Vin;
Vout = (buffert) / 1024.0;
buffert = (Vin/Vout) -1;
R2 = R1 * buffert;
Serial.Print ("Vout:");
Serial.println(Vout);
Serial.Print ("R2:");
Serial.println(R2);
lcd.setCursor(0,1);
LCD.Print(R2);
lcd.setCursor(0,0);
LCD.write(0b11110100);
Delay(1000);
LCD.Clear();
}
}