Stap 2: Deel 3
Deel 3 [eindproduct met programma]
(Bijgevoegd zijn het txt-bestand over hoe het werkt en het programma)
Ik weet dat dit project heeft sommige weakiness nog om te worden ontdekt-door mijzelf of waarschijnlijker anderen. Echter voor het grootste deel toont hoe de metingen van spanning en weerstand kunnen plaatsvinden met behulp van een brug van Wheatstone. Toe te staan voor andere sensoren te bedienen zoals een spanningsmeter, licht gevoelige diode, temperatuursensor en nog veel meer.
Voor de software gebruikt meestal Hyperterm en VT100J-emulatie.
Maar met behulp van Putty vertaling (CP866 handmatig typen) met lettertype op basis van OEM en ANSI.
Iedereen bereid zijn om te bieden sommige * constructieve * kritiek naar het circuit meer accuraat is welkom.
Bijgevoegd is de schets voor de microprocessor op het uno-board: hier is de ruwe code:
vanaf hier kopiƫren
#define A0IN 0
#define A1IN 1
int analogamount = 0; gebruikt voor het converteren van spanning links brug
int analogamount1 = 0; gebruikt voor het converteren van spanning juiste brug
zweven spanning = 0; links brug spanning
zweven voltage1 = 0; brug van de juiste spanning
zweven voltage2 = 0; gebruikt voor correctie van de spanning
zweven antwoord = 0;
int cv = 0; teller variabele gebruikt scherm tekening
VOID Setup {}
analogReference(EXTERNAL); AREF gebruiken voor referentie spanning
Serial.begin(9600);
set_screen();
}
void loop {}
analogamount = analogRead(A0IN);
analogamount1 = analogRead(A1IN);
spanning = analogamount * (4500 / 1024.00);
voltage1 = analogamount1 * (4500 / 1024.00);
voltage2 = 0;
set_xy(23,1);
save_cursor_pos();
if(voltage == voltage1) {}
set_xy(10,25);
repeat_char(10,0x20);
set_xy(10,47);
repeat_char(10,0x20);
set_xy(14,49);
repeat_char(10,0x20);
} else {}
set_xy(10,25);
spanning = round(voltage);
spanning = spanning *. 001;
Serial.Print(voltage);
Als (spanning < 1) {Serial.print("mV");} else {Serial.print ("V");
}
set_xy(10,47);
voltage1 = voltage1 *. 001;
Serial.Print(voltage1);
Als (voltage1 < 1) {Serial.print("mV");} else {Serial.print ("V");
}
set_xy(14,49);
voltage2 = spanning * 2;
antwoord = 10000 * voltage1 / (voltage2 - voltage1); antwoord = round(answer);
Serial.Print ((int) antwoord + 1);
Serial.Print ("Ohm");
}
restore_cursor_pos();
delay(3000);
}
ongeldig save_cursor_pos() {}
Serial.Print ("\x1B" "[s"); / / cursorpositie van de opslaan
}
ongeldig restore_cursor_pos() {}
Serial.Print ("\x1B" "[u"); / / restore cursorpositie
}
VOID repeat_char (int r, char c) {}
int rx;
voor (rx = 0; rx! = r; rx ++) {}
Serial.Print(c);
}
}
VOID set_xy (int x, int y) {}
Serial.Print("\x1B[");
Serial.Print(x);
Serial.Print(";");
Serial.Print(y);
Serial.Print("H");
}
ongeldig set_screen() {}
Serial.Print ("\x1B" "[2J");
set_xy(1,2);
Serial.Print("ohmmeter");
set_xy(3,2);
Serial.Print("\xDA");
repeat_char(20,0xc4);
Serial.Print("\xC2");
repeat_char(20,0xc4);
Serial.Print("\xBF");
set_xy(4,2);
voor (cv = 0; cv! = 2; cv ++) {}
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.println("\xB3");
Serial.Print("");
}
set_xy(6,2);
voor (cv = 0; cv! = 3; cv ++) {}
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB2");
repeat_char(20,0x20);
Serial.println("\xB2");
Serial.Print("");
}
set_xy(7,25);
Serial.Print ("R1 (10K)");
set_xy(9,1);
Serial.Print("\xC4\xC1\xC4");
repeat_char(19,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
set_xy(10,1);
Serial.Print ("\x1B [10; 1 H" "\xC4");
repeat_char(19,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
set_xy(11,1);
Serial.Print("\xC4\xC4\xC4");
repeat_char(19,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
set_xy(12,2);
Serial.Print ("\xC2");
repeat_char(19,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
set_xy(13,2);
voor (cv = 0; cv! = 3; cv ++) {}
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB2");
repeat_char(20,0x20);
Serial.println("\xB2");
Serial.Print("");
}
set_xy(16,2);
voor (cv = 0; cv! = 3; cv ++) {}
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.Print("\xB3");
repeat_char(20,0x20);
Serial.println("\xB3");
Serial.Print("");
}
set_xy(18,2);
Serial.Print("\xC0");
repeat_char(20,0xc4);
Serial.Print("\xC1");
repeat_char(20,0xc4);
Serial.Print("\xD9");
set_xy(7,46);
Serial.Print ("R2 (10K)");
set_xy(14,25);
Serial.Print ("R3 (10K)");
set_xy(14,46);
Serial.Print("RX");
} / / einde kopie hier