Innholdsfortegnelse:
- forsyninger:
- Trinn 1: Schemat
- Trinn 2: Kode Arduino
- Trinn 3: Realisering
- Trinn 4: Kode lasting og test og legg i boks
- Trinn 5:
Et lite LED tester prosjekt
Jeg så på NET for en LED-tester og etter å ha sett noen ideer, ønsket jeg å bygge denne testeren fra null
forsyninger:
Trinn 1: Schemat
For å teste en LED trenger du en nåværende generator.
LM317LZ-databladet gir et kart, se grunnsidens nettsted
www.robotroom.com/LED-Tester-Pro-1.html
Ingen kode tilgjengelig fra dette nettstedet
prinsippet er derfor å måle flere spenninger ved terminaler på LED
VH anode spenning VL katodespenning og trekke dem (VH - VL)
da for å måle spenningen ved terminalen av motstanden som krysses av strømmen av LED IL og delt med verdien R (VR / R = IL)
Trinn 2: Kode Arduino
For Arduino-koden ble grunnleggende ideen definert. Jeg ønsket et display på OLED-skjermen
biblioteket er for en ssd1306
github.com/adafruit/Adafruit_SSD1306
For måling av forskjellige spenninger, se
http: //www.instructables.com/id/Arduino-OLED-Volt …
For forskjellige menyvalg se
it-edukacija.eu.hr/multidruino/default.html
For å lage ikoner, se
javl.github.io/image2cpp/
vi bestiller testen på et testkort
kode her:
// ================================================
// Forfatter: PHILOUPAT
// Mars 2019 // versjon 1: en knapp, visningsmodus OLED I2C, AREF standard // ============================== ===================
// I2C OLED DISPLAY: SCL = A5, SDA = A4
// A0 Inngangsreferanse for beregning RL
// A1 inngang Vbat
// A2-input VL
// A7 inngang VH
// ================================================
#inkludere
#inkludere
#inkludere
#inkludere
#inkludere
#inkludere
#define SSD1306_128_64
#define SCREEN_WIDTH 128
// OLED skjermbredde, i piksler
#define SCREEN_HEIGHT 64
// OLED skjermhøyde, i piksler
// Deklarasjon for en SSD1306-skjerm koblet til I2C (SDA, SCL-pinner)
#define OLED_RESET -1 // Reset pin # (eller -1 hvis du deler Arduino reset pin)
Adafruit_SSD1306 skjerm (SCREEN_WIDTH, SCREEN_HEIGHT, & Wire, OLED_RESET);
#define XPOS 0
#define YPOS 1
#define DELTAY 2
// # hvis (SSD1306_LCDHEIGHT! = 64)
// # feil ("Høyde feil, vennligst reparer Adafruit_SSD1306.h!");
//#slutt om
const usigned char PROGMEM batterie = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xf, 0xf, 0xfe, 0x00, 0x20, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x03, 0xe0, 0x20, 0x00, 0x00, 0x02, 0x20, 0x24, 0x00, 0x00, 0x82, 0x20, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x82, 0x20, 0x20, 0x00, 0x00, 0x82, 0x20, 0x20, 0x00, 0x00, 0x03, 0xe0, 0x20, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const unsigned char PROGMEM resis = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x3f, 0xf0, 0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x01, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
const unsigned char omsorg PROGMEM = {
0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x30, 0x0c, 0x18, 0x0c, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x0c, 0x30, 0x1e, 0x3c, 0x1c, 0x3c, 0x00, 0x00, 0x00, 0x00};
const unsigned char PROGMEM led = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0x00, 0xf, 0xfc, 0x00, 0x00, 0xff, 0x0, 0x0, 0x0x, 0x0x, 0x0x, 0x0x, 0x0x, 0x0x0x0x0x0x0x0x0x0x0x0x0x0x0x030x0x0x030x070x03 0xff, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x07, 0x0, 0x0, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0, 0x0, 0x0, 0xc0, 0x07, 0xc0, 0x07, 0xc0, 0x0,0, 0x0,0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xf7, 0xff, 0xf0, 0x1f, 0xff, 0xff, 0xf8, 0xf, 0x1f, 0xf, 0x1f, 0xf, 0x1f, 0xf, 0x1f, 0xff, 0xff, 0xf, 0xff, 0xf, 0xff, 0xf, 0xf, 0xf, 0x1f, 0xf, 0xf, 0xff, 0xf, 0xff, 0xf, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0x0, 0x0e, 0x00, 0x00, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x01, 0xe0, 0x0e, 0x00, 0x00, 0x0, 0x0e, 0x00, 0x00, 0x0, 0x0e, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0xc0, 0x04, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0xc0, 0x04, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
const unsigned char accueil PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xx, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe1, 0xd8, 0xc3, 0xff, 0xff, 0xf, 0x00, 0x00, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xc1, 0xd9, 0x83, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0xc4, 0xe1, 0xb9, 0x83, 0xff, 0xff, 0xf8, 0x00, 0x00, 0xf, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc4, 0xf3, 0xb1, 0xa3, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x83, 0xf3, 0x07, 0xf, 0x0, 0xf, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0x83, 0x73, 0x0f, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x3f, 0xf, 0xf, 0xf3, 0xf, 0x03, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xf, 0xe3, 0xf8, 0x06, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xf, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xe3, 0xf1, 0xfc, 0x30, 0xff, 0xff, 0xff, 0xff, 0x 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xe0, 0x1c, 0x7c, 0x7f, 0xf, 0xf, 0x04, 0x00, 0x0f, 0x00, 0xc7, 0xe0, 0x3c, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xcf, 0xe1, 0xfc, 0xf, 0xf, 0xf, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0, 0xff, 0x8, 0xe3, 0xf8, 0x7c, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x0, 0x00, 0x8, 0x7, 0xf, 0xf8, 0x7f, 0xf, 0xff, 0xff, 0xff, 0xff, 0xf, 0xe0, 0x00, 0x00, 0x07, 0xff, 0x8f, 0xc7, 0xf8, 0xf0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0xff, 0xff, 0xf, 0x0x, 0xff, 0x07, 0xff, 0x80, 0x00, 0x08, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xf9, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1, 0xf, 0x0, 0x1c, 0x0, 0xc0, 0xe0, 0x1c, 0x01, 0x0f, 0x18, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xf, 0xf, 0xf, 0x03, 0x04, 0x03, 0x00, 0x00, 0x04, 0x01, 0x1f, 0x98, 0x03, 0xff, 0xf, 0x1f, 0xf0, 0xff, 0xff, 0x88, 0x88, 0xfe, 0x1e, 0x00, 0x40, 0xff, 0x1, 0x90, 0xe1, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x38, 0xf8, 0xfe, 0x3f, 0xb8, 0xf8, 0xf, 0x1, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf9, 0xf8, 0xfe, 0x3f, 0xf8, 0xf8, 0xfe, 0x3f, 0x91, 0xc3, 0xff, 0xff, 0x1f, 0xf9, 0xff 0xf, 0xf, 0xf0, 0xff, 0x07, 0xf8, 0xf8, 0x0e, 0x3f, 0x93, 0x87, 0xff, 0xff, 0x1f, 0xf9, 0xf, 0xf, 0xf1, 0xf0, 0x1f, 0xc1, 0xf8, 0xf0, 0x0e, 0x3f, 0xa, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf1, 0xf0, 0xf, 0xf8, 0x70, 0xf0, 0xfe, 0x3f, 0x20, 0x1f, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xf1, 0xf1, 0xff, 0xf1, 0xf, 0xf1, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf9, 0xf, 0xf, 0xe1, 0xe3, 0xfd, 0xfc, 0x71, 0xf1, 0xfe, 0x3f, 0x23, 0x8f, 0xf, 0xf, 0xf, 0xf3, 0xf1, 0xf8, 0xf, 0x1, 0xf, 0x1e, 0x63, 0x87, 0xff, 0xff, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe3, 0xc4, 0x00, 0x61, 0xe1, 0x6, 0x00, 0x63, 0xc7, 0xff, 0xf, 0x9f, 0xf9, 0xff, 0xff, 0xe1, 0xe0, 0x04, 0x00, 0xe1, 0xe0, 0x07, 0x00, 0xe3, 0xc3, 0xff, 0xff, 0x9f, 0xf0, 0xff, 0xf, 0xe1, 0xe0, 0x07, 0x03, 0xe1, 0xe0, 0x07, 0x01, 0xc3, 0xc3, 0xff, 0xff, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
int modus = 0;
int pause = 500;
int RL = 0;
int R1 = 10000;
int R2 = 10000;
int R3 = 47;
float raw = 0;
float val = 0;
float ref = 0;
float vbat = 0;
flytevin = 0,00;
float voutL = 0.00;
flyte voutH = 0.00;
flyte vref = 0.00;
float vled = 0.00;
float vr = 0.00;
flyte IL = 0,00;
flyte vinref = 0,00;
float vinbat = 0;
ugyldig oppsett ()
{
pinMode (5, INPUT_PULLUP);
pinMode (4, INPUT_PULLUP);
pinMode (3, INPUT_PULLUP);
attachInterrupt (1, bouton, FALLING);
// som standard, genererer vi høyspenningen fra 3.3v linjen internt! (pent!) display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // initialiser med I2C addr 0x3C (for 128x32)
}
tomromsløyfe ()
{
float vref = readVcc () / 1000.0;
val = analogRead (A7);
raw = analogRead (A2);
voutH = (val * vref) / 1024,0; // se tekst
voutL = (rå * vref) / 1024,0;
hvis (voutL> 0)
{
hvis (modus == 0) // caracteristique ledet
{
float vref = (readVcc () / 1000.0);
val = analogRead (A7);
raw = analogRead (A2);
ref = analogRead (A0);
voutH = (val * vref) / 1024,0; // se tekst
voutL = (rå * vref) / 1024,0;
vled = (voutH-voutL) * (R1 + R2) / R2;
vr = voutL;
IL = vr / R3;
display.clearDisplay ();
display.setTextColor (hvit);
display.drawBitmap (96, 0, ledet, 32, 64, 1);
display.setFont ();
display.setFont (& FreeSans9pt7b);
display.setCursor (0,12);
display.print ("LED-funksjon");
display.setCursor (0,35);
display.print ("VL:");
display.setCursor (28,35);
display.print (vled);
display.setCursor (72,35);
display.print ("V");
display.setCursor (0,60);
display.print ("IL:");
display.setCursor (28,60);
display.print (IL * 1000);
display.setCursor (75,60);
display.print ("ma");
display.display ();
forsinkelse (pause);
}
if (modus == 1)
{// motstand
float vref = (readVcc () / 1000.0);
val = analogRead (A7);
raw = analogRead (A2);
ref = analogRead (A0);
voutH = (val * vref) / 1024,0;
voutL = (rå * vref) / 1024,0;
vinref = (ref * vref * 2) / 1024,0;
vled = (voutH-voutL) * (R1 + R2) / R2;
IL = voutL / R3;
RL = (vinrefleks) / IL;
display.clearDisplay ();
display.drawBitmap (96, 0, resis, 32, 64, 1);
display.setFont ();
display.setFont (& FreeSans9pt7b);
display.setCursor (0,12);
display.print ("Resistance:");
display.setCursor (0,35);
display.print ("Vin:");
display.setCursor (32,35);
display.print (vinref);
display.setCursor (75,35);
display.print ("V");
display.setCursor (0,60);
display.print ("RL");
if (RL <0)
{
display.setCursor (30,60);
display.print ("tom");
}
ellers
{
display.setCursor (30,60);
display.print (RL);
display.drawBitmap (73, 46, oms, 15, 15, 1);
}
display.display ();
forsinkelse (pause);
}
if (modus == 2)
{// baterie
float vref = (readVcc () / 1000.0);
vbat = analogRead (A1);
vinbat = (vbat * vref * 2.3) / 1024.0;
isplay.clearDisplay ();
display.drawBitmap (90, -2, batterie, 36, 21, 1);
display.setFont ();
display.setFont (& FreeSans9pt7b);
display.setCursor (0,14);
display.print ("Batterie:");
//display.fillRect(10,35,90,20,WHITE);
//display.fillRect(12,37,88,18,BLACK);
display.drawRoundRect (15, 40, 95, 24, 8, WHITE);
display.setCursor (0,35);
display.print ("Vbat:");
display.setCursor (50,35);
display.print (vinbat);
display.setCursor (90,35);
display.print ("V");
hvis (vinbat> 0 && vinbat <7.0)
{// en linje
display.fillRect (20,45,10,15, SORT);
}
ellers hvis (vinbat> 7.0 && vinbat <7,8)
{// to bar
display.fillRect (20,45,10,15, SORT);
display.fillRect (30,45,5,15, hvit);
display.fillRect (35,45,10,15, SORT);
}
ellers hvis (vinbat> 7,8 && vinbat <8,4)
{// tre bar
display.fillRect (20,45,10,15, SORT);
display.fillRect (30,45,5,15, hvit);
display.fillRect (35,45,10,15, SORT);
display.fillRect (45,45,5,15, hvit);
display.fillRect (50,45,10,15, SORT);
}
ellers hvis (vinbat> 8.4 && vinbat <8.7)
{// fire bar
display.fillRect (20,45,10,15, SORT);
display.fillRect (30,45,5,15, hvit);
display.fillRect (35,45,10,15, SORT);
display.fillRect (45,45,5,15, hvit);
display.fillRect (50,45,10,15, SORT);
display.fillRect (60,45,5,15, hvit);
display.fillRect (65,45,10,15, SORT);
}
ellers hvis (vinbat> 8.7 && vinbat <9.0)
{// fem bar
display.fillRect (20,45,10,15, SORT);
display.fillRect (30,45,5,15, hvit);
display.fillRect (35,45,10,15, SORT);
display.fillRect (45,45,5,15, hvit);
display.fillRect (50,45,10,15, SORT);
display.fillRect (60,45,5,15, hvit);
display.fillRect (65,45,10,15, SORT);
display.fillRect (75,45,5,15, hvit);
display.fillRect (80,45,10,15, SORT);
}
ellers hvis (vinbat> 9.0 && vinbat <9.4)
{
display.fillRect (20,45,10,15, SORT);
display.fillRect (30,45,5,15, hvit);
display.fillRect (35,45,10,15, SORT);
display.fillRect (45,45,5,15, hvit);
display.fillRect (50,45,10,15, SORT);
display.fillRect (60,45,5,15, hvit);
display.fillRect (65,45,10,15, SORT);
display.fillRect (75,45,5,15, hvit);
display.fillRect (80,45,10,15, SORT);
display.fillRect (90,45,5,15, hvit);
display.fillRect (95,45,10,15, SORT);
}
display.display (); forsinkelse (pause); }
}ellers
{
display.clearDisplay ();
display.drawBitmap (0, 0, accueil, 128, 64, 1);
display.display ();
forsinkelse (700);
display.display ();
forsinkelse (1000);
}
}
void bouton ()
{
statisk usignert lang last_interrupt_time = 0;
usignert lang interrupt_time = millis ();
// Hvis avbrudd kommer raskere enn 200 ms, anta at det er en sprette og ignorere
hvis (interrupt_time - last_interrupt_time> 220) {
modus ++;
tone (6,2250,50);
if (modus> 2)
mode = 0;
}
last_interrupt_time = interrupt_time;
}
lang readVcc ()
definert (__ AVR_ATmega2560__) ADMUX = _BV (REFS0)
Trinn 3: Realisering
Skjema og PCB. Jeg bruker EAGLES for å realisere shem og PCB
et godt nettsted for produksjon
jlcpcb.com/
Liste over materialet:
-1 Arduino mini pro 5v
http: //www.banggood.com/Wholesale-New-Ver-Pro-Min …
-1 0,96 tommers OLED-modul 12864 128x64 Gul Blå SSD1306 Driver I2C Seriell Selvlysende Skjermkort for Arduino Raspberry PI eller annen
advarsel til polaritet Gnd Vcc eller Vcc Gnd
http: //www.amazon.com/UCTRONICS-SSD1306-Self-Lumi …
http: //www.ebay.fr/itm/0-96-I2C-IIC-SPI-Serial-12 …
-1 LM317 LZ
http: //www.ebay.fr/itm/5Pcs-LM317LZ-LM317L-LM317 -…
http: //www.amazon.com/LM317LZ-Voltage-Regulator-I …
-1 MCP1702 5V
http: //www.ebay.fr/itm/Microchip-MCP1702-500-TO-9 …
http: //www.amazon.com/5002E-MCP1702-1702-5002E-MC …
-2x10k 2x470k 2x 47r 1 / 8w
-1x500R variabel TSR3386F 3/8
http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …
-1x10K varabel TSR3386F 3/8
http: //www.ebay.fr/itm/Suntan-TSR3386F-3-8-1-turn …
-1xsitch på / av SS12D00G4 SPDT 1P2T 2 Posisjon 3 Pin PCB
http: //www.ebay.fr/itm/20pcs-SS12D00G4-SPDT-1P2T -…
-2x 1μF tantale
-3x100nF
-1x1N4148
Mulig strøm på 9V batterie eller batterie lipo 3.7V
-1x3.7V 9V 5V 2A Justerbart trinn opp 18650 litiumbatteri Ladestrøm integrert modul
http: //www.banggood.com/3pcs-3_7V-9V-5V-2A-Adjust …
-1xLIPO batteri 3,7V 400mAh
http: //www.ebay.fr/itm/Batterie-403035-Lipo-3-7v -…
Trinn 4: Kode lasting og test og legg i boks
For å laste koden, bruk FTDI
og test med forskjellige lysdioder og dioder
gjør boksen 3d-utskrift
komme til tingvers:
www.thingiverse.com/thing:3594143
samlet og nyt
dette prosjektet bruker flere programvare er derfor en god pedagogisk chalenge pcb kode 3d elektronisk kalkulator mv